WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class EntityRenderer

    实体渲染器类 负责将CAD实体渲染到图形上下文

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      • cadGraphics: CadGraphics = ...
      • highLightGraphics: CadGraphics = ...
      • previewGraphics: CadGraphics = ...
      • blockRefsContainer: Container<ContainerChild> = ...

      Returns EntityRenderer

    Properties

    cadGraphics: CadGraphics
    highLightGraphics: CadGraphics
    previewGraphics: CadGraphics
    brefsContainer: Container

    Methods

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Returns void

    • Returns void

    • Returns void

    • Parameters

      • position: { x: number; y: number }
      • useRenderOriginOffset: boolean = false

      Returns void

    • Parameters

      • rotation: number

      Returns void

    • Parameters

      • scaleX: number
      • scaleY: number

      Returns void

    • Parameters

      • pivot: { x: number; y: number }

      Returns void

    • Returns void

    • 绘制预览实体数组

      Parameters

      • entityArray: EntityBase[]

        实体数组

      • useHighlight: boolean = false

        是否强制渲染(忽略图层检查)

      • skipAutoDetectRelativeCoords: boolean = false

        是否跳过自动检测相对坐标(用于需要精确控制渲染原点偏移的场景)

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      • entity: EntityBase
      • drawMode: number
      • parentLayerId: string

      Returns number

    • Parameters

      • entity: EntityBase
      • drawMode: number
      • graphics: CadGraphics
      • parentLayerId: string = null

      Returns void

    • Parameters

      • insertEntity: InsertEnt
      • graphics: CadGraphics
      • drawMode: number
      • currentAlpha: number
      • newAlpha: number = undefined
      • isDirectDraw: boolean = false

      Returns void

    • 处理嵌套实体的属性文本替换

      重要说明: 属性文本的替换现在已经在 InsertEnt.updateNestEnts() 中完成。 这个方法保留是为了向后兼容,直接返回嵌套实体数组。

      Parameters

      • nestEntities: EntityBase[]

        嵌套实体数组(已应用块参照变换和属性替换)

      • insertEnt: InsertEnt

        块插入实体(不再使用,保留参数以兼容)

      • blockDef: { items: EntityBase[] }

        块定义(不再使用,保留参数以兼容)

      Returns EntityBase[]

      嵌套实体数组(直接返回,不再克隆)

    • 计算嵌套实体在原始块定义中的位置

      Parameters

      Returns Point2D

      原始位置

    • 检查两个位置是否匹配

      Parameters

      • pos1: { x: number; y: number }

        位置1

      • pos2: { x: number; y: number }

        位置2

      • tolerance: number = 0.01

        容差

      Returns boolean

      是否匹配

    • Parameters

      • arcEntity: ArcEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      • angle: number

      Returns number

    • Parameters

      • circleEntity: CircleEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      • ellipseEntity: EllipseEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      • rayEntity: RayEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      • xlineEntity: XLineEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      • lineEntity: LineEnt
      • graphics: CadGraphics
      • color: number
      • alpha: number

      Returns void

    • Parameters

      Returns string

    • Parameters

      Returns number

    • 绘制矢量文本 关键修复:支持多颜色文本(复杂格式化的MTEXT)

      Parameters

      • textEntity: TextEnt | MTextEnt

        文本实体

      • graphics: CadGraphics

        图形对象

      • color: number

        默认颜色

      • alpha: number

        默认透明度

      Returns void

    • 绘制多边形组

      Parameters

      • graphics: CadGraphics

        图形对象

      • polygons: any[]

        多边形数组(支持两种格式: 扁平格式 [{points}] 或嵌套格式 [{polygons: [{points}], rgbColor, alpha}])

      • color: number

        颜色

      • alpha: number

        透明度

        重要说明:

        • 不再依赖 isHole / polygonIsHole,也不再在前端自行计算面积、点在多边形等关系。
        • 对于 TrueType/OpenType 字体,WASM 端保证同一 glyph 内:外轮廓与内部孔洞的环绕方向相反。
        • 这里在同一次 beginFill / endFill 中依次输出所有闭合子路径,交给 PixiJS/earcut 按缠绕方向和包含关系自动识别孔洞。

      Returns void

    • 绘制文本线条(用于型文件/SHX字体)

      Parameters

      • graphics: CadGraphics

        图形对象

      • lines: {
            vertices: { x: number; y: number }[];
            color: number;
            position: { x: number; y: number };
        }[]

        线条数组,格式:Array<{vertices: Array<{x, y}>, color: number, position: {x, y}}>

      • defaultColor: number

        默认颜色

      • defaultAlpha: number

        默认透明度

      Returns void