Options
All
  • Public
  • Public/Protected
  • All
Menu

Class MxDbSVG

MxDbSVG 绘制SVG图形.

Hierarchy

Index

Constructors

Properties

addEvent: (<Key>(event: Key, callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)) => void) = ...

Type declaration

    • <Key>(event: Key, callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)): void
    • 订阅

      Type Parameters

      Parameters

      • event: Key

        事件名称

      • callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)

        事件回调

      Returns void

      void

aryText: MxDbSVGText[] = []
children: (MxDbEntity | MxDbSVG)[] = []

它的子节点集合

color: UnstableColor = 0xffffff

颜色值

dDashArray: number = 0
dDashRatio: number = 0
dLineWidth: number = 0
events: {}

Type declaration

fixedSize: boolean = false

固定尺寸,图片和文字大小,取屏幕像素绘图单位。

imagePath: string = ''
isLoadFromPath: boolean = true
isLoadMaterialFromPath: boolean = true
isSvgDirtyLocation: boolean = false
layer: string = ''
lineWidthByPixels: boolean = true
material: null | MeshLambertMaterial = null
opacity: number = 1

设置透明度 0 ~ 1,1表示完全不透明,0表示全透明.

parent: null | MxDbEntity | MxDbSVG = null

它的父节点

removeEvent: (<Key>(event: Key, callback?: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)) => void) = ...

Type declaration

    • <Key>(event: Key, callback?: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)): void
    • 销毁事件

      Type Parameters

      Parameters

      • event: Key

        事件名称

      • Optional callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)

        事件方法

      Returns void

      void

renderOrder: number = 30

显示顺序

sGuid: string = ''
svg: any = null
svgAlignmentRatio: Vector2 = ...
svgBoxSize: null | Vector3 = null
svgChildColor: number[] = []
svgMargin: Vector2 = ...
svgMirror: boolean = false
svgPath: string = ''
svgPos: Vector3 = ...
svgReverse: boolean = false

是否倒置SVG图形

svgRotate: number = 0

延z轴旋转的数值

svgSize: Vector2 = ...
useSvgColor: boolean = false

使用svg的颜色

use_smallcoord_display: boolean = false
userData: {} = {}

用户自定义数据.

Type declaration

  • [key: string]: any
visible: boolean = true

该对象是否可见

cmd: string = 'Mx_ModelFixedSvg'

该类注册的cmd命令名称

draw: (() => Promise<void>) = drawMxDbSVG

Type declaration

    • (): Promise<void>
    • 该类注册的cmd命令绘制函数

      Returns Promise<void>

isRegister: boolean = false

该类是否已注册

Methods

  • bottom(): void
  • calcSvgBoxSize(objany: any): void
  • Parameters

    • objany: any

    Returns void

  • clone(type?: number): any
  • 复制克隆对象。

    Parameters

    • Optional type: number

      MxType.MxCloneType 传入参数区分是正常拷贝还是动态拷贝

    Returns any

    MxDbEntity

  • 新创建一个自定义对象 (默认调用该对象的构造函数来创建新的对象)

    Returns MxDbSVG

    MxDbEntity

  • dwgIn(obj: any): boolean
  • 自定义对象数据输入,必须要实现该函数

    Parameters

    • obj: any

    Returns boolean

    boolean

  • dwgInHelp<T>(obj: any, aryProp: T, hooks?: { getCacheVal?: any; getVal?: any }): boolean
  • 自定义对象数据输入,辅助函数.

    example
     class MxLine extends MxDbEntity {
    dwgIn(obj) {
    // 必须调用 同步自定义数据对象输入
    this.dwgInHelp(obj,["xxx"])
    }
    }

    Type Parameters

    • T extends (string | { default: any; key: string })[]

    Parameters

    • obj: any

      数据对象

    • aryProp: T

      属性名称列表

    • Optional hooks: { getCacheVal?: any; getVal?: any }
      • getCacheVal?:function
        • getCacheVal(v: any): any
        • 归档数据构子函数 return null | undefined 默认深拷贝 ; return Value 返回数据

          Parameters

          • v: any

          Returns any

      • getVal?:function
        • getVal(v: any): any
        • 交互数据输入钩子函数 return null | undefined 默认深拷贝 ; return Value 返回数据

          Parameters

          • v: any

          Returns any

    Returns boolean

    boolean

  • dwgOut(obj: any): object
  • 自定义对象数据输出,必须要实现该函数

    Parameters

    • obj: any

    Returns object

    object

  • dwgOutHelp(obj: any, aryProp: (string | { default: any; key: string })[]): any
  • 自定义对象数据输出 辅助函数.

    example
     class MxLine extends MxDbEntity {
    dwgOut(obj) {
    // 必须调用 同步自定义数据对象输出
    this.dwgOutHelp(obj,["xxx"])
    }
    }

    Parameters

    • obj: any
    • aryProp: (string | { default: any; key: string })[]

    Returns any

    object

  • erase(): boolean
  • fromJsonString(str: string): boolean
  • getClosestPointTo(pt: Vector3, iOperationType?: number): null | Vector3
  • 对一个点到这个对象的最近点 。 iOperationType == 0正常操作求值最近点. iOperationType == 1点选择操作求值最近点.

    Parameters

    • pt: Vector3
    • iOperationType: number = 0

    Returns null | Vector3

    void

  • getDash(): any
  • getGeomExtents(): null | Box3
  • getGetLength(): number
  • getGripPoints(): Vector3[]
  • getImagePath(): string
  • 获取图片路径

    Returns string

  • getLayer(): string
  • getLineWidth(): number
  • getLineWidthByPixels(): boolean
  • 根据属性名称找到对应的Node节点

    example
    new Node().getNodeByProperty("id", "23548")
    

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

    Returns undefined | MxDbEntity | MxDbSVG

  • 根据属性名称找到对应的Node节点

    example
    new Node().getNodeByProperty("id", "23548")
    

    Type Parameters

    • V = any

    Parameters

    • name: string

      属性名称

    • value: V

      属性值

    Returns (MxDbEntity | MxDbSVG)[]

  • getRenderOrder(): number
  • getSvgAlignmentRatio(): Vector2
  • Returns Vector2

  • getSvgChildColor(): number[]
  • Returns number[]

  • getSvgPath(): string
  • 获取SVG的路径

    Returns string

  • getSvgPostion(): Vector3
  • 获取SVG显示位置

    Returns Vector3

  • getSvgSize(): Vector2
  • Returns Vector2

  • 获取文字数组下标中的文字

    Parameters

    • index: number

      数组下标

    Returns null | MxDbSVGText

  • getTypeName(): string
  • guid(): string
  • 返回唯一标识guid

    Returns string

    string

  • initGuid(guid: string): void
  • isDashLineDisplay(): boolean
  • isUseSmallcoordDisplay(): boolean
  • moveGripPointsAt(index: number, offset: Vector3): boolean
  • 移动自定义对象的夹点.

    Parameters

    • index: number
    • offset: Vector3

    Returns boolean

    boolean

  • objectId(): number
  • off<Key>(event: Key, callback?: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)): void
  • 销毁事件

    Type Parameters

    Parameters

    • event: Key

      事件名称

    • Optional callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)

      事件方法

    Returns void

  • on<Key>(event: Key, callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)): void
  • 订阅

    Type Parameters

    Parameters

    • event: Key

      事件名称

    • callback: (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)

      事件回调

    Returns void

  • onDwgIn(obj: any): void
  • 自定义对象内部数据输入同步(重写实现dwgIn抽象方法时 必须在实现中调用 this.onDwgIn(obj))

    Parameters

    • obj: any

      dwgIn抽象方法的回调数据

    Returns void

  • onDwgOut(obj: any): void
  • 自定义对象内部数据输出同步(重写实现dwgIn抽象方法 必须在实现中调用 this.onDwgIn(obj)

    Parameters

    • obj: any

      dwgOut抽象方法的回调数据

    Returns void

  • onEndGripEidt(): void
  • onStartGripEidt(): any
  • onViewChange(): boolean
  • 视区显示比较发生成变化,继承类可以向应该事件,更新显示大小。

    Returns boolean

    boolean

  • reComputeSVG(): void
  • Returns void

  • restoreDefaultRenderOrder(): void
  • rxInit(): void
  • 初始自定义对象的类型信息.(如果需要实现该图形对象的保存数据和恢复数据的功能, 需要在项目中初始化一次该图形对象的类)

    Returns void

  • setColor(color: string | number | Color): MxDbSVG
  • setDash(dDashArray: number, dDashRatio: number): MxDbSVG
  • 设置虚线数据

    Parameters

    • dDashArray: number
    • dDashRatio: number

    Returns MxDbSVG

    number

  • setDashArray(dDashArray: number): MxDbSVG
  • setDashLen(dashLen: number): MxDbSVG
  • 设置虚线 +实线的长度. dDashRatio确定虚线,与实线的比率.

    Parameters

    • dashLen: number

    Returns MxDbSVG

    number

  • setDashLineDisplay(isDashLine: boolean): MxDbSVG
  • setDashRatio(dDashRatio: number): MxDbSVG
  • setGuid(val: string): string
  • 修改唯一标识guid

    Parameters

    • val: string

    Returns string

    string

  • setImagePath(sPath: string, material?: MeshLambertMaterial): void
  • 设置图片路径

    Parameters

    • sPath: string

      路径

    • Optional material: MeshLambertMaterial

    Returns void

  • setLayer(layer: string): void
  • 设置图层

    Parameters

    • layer: string

    Returns void

    boolean

  • setLineWidth(dLineWidth: number): MxDbSVG
  • setLineWidthByPixels(isPixels: boolean): MxDbSVG
  • setNeedUpdateDisplay(isImmediate?: boolean): boolean
  • setRenderOrder(renderOrder: number): void
  • 设置显示顺序 (通过显示顺序控制图层)

    Parameters

    • renderOrder: number

      显示顺序

    Returns void

  • setSvg(svg: any): void
  • 设置svg对象

    Parameters

    • svg: any

    Returns void

  • setSvgAlignmentRatio(alignmentRatio: Vector2): void
  • 设置SVG 的调整比例

    Parameters

    • alignmentRatio: Vector2

      THREE.Vector2

    Returns void

  • setSvgChildColor(aryColor: number[]): void
  • Parameters

    • aryColor: number[]

    Returns void

  • setSvgPath(path: string, preload?: boolean): Promise<void>
  • 设置SVG的路径

    Parameters

    • path: string

      路径

    • preload: boolean = false

      是否提前加载SVG

    Returns Promise<void>

  • setSvgPostion(pos: Vector3): void
  • 设置SVG显示位置

    Parameters

    • pos: Vector3

      THREE.Vector3

    Returns void

  • setSvgSize(size: Vector2): void
  • 设置SVG大小

    Parameters

    • size: Vector2

      THREE.Vector2 x表示宽度y表示高度

    Returns void

  • setUseSmallcoordDisplay(use_smallcoord_display: boolean): void
  • toSmallcoord2(mxobj: MxDrawObject, x: number, y: number, z?: number): Vector3
  • top(): void
  • top 同层级下最上层

    Returns void

  • transformBy(mat: Matrix4): void
  • 自定义实体的矩阵 坐标变换 (需要重写该方法实现如果通过矩阵对自定义实体进行操作 默认不会进行任何操作)

    Parameters

    • mat: Matrix4

    Returns void

    void

  • traverse(callback: ((node: MxDbSVG) => void)): void
  • 遍历它的所有子节点包括孙子节点,直到它包含的节点全部遍历完成并都执行传入的方法

    Parameters

    • callback: ((node: MxDbSVG) => void)

      回调函数

    Returns void

  • traverseParent<V>(callback: ((node: V) => boolean | void)): void
  • 让它的父节点依次冒泡执行传入的方法的方法

    Type Parameters

    Parameters

    • callback: ((node: V) => boolean | void)

      回调函数,第一个参数是父节点, callback的返回值为false 将停止继续传递

        • (node: V): boolean | void
        • Parameters

          • node: V

          Returns boolean | void

    Returns void

  • register(): void
  • 注册该类的cmd命令和初始化 (引入该类时自动注册 当该类的isRegister为ture时表示已经注册)

    Returns void

  • use<T>(callback?: ((obj: T) => any), data?: any): Promise<T>
  • 使用该类的cmd命令 执行默认的绘制功能

    Type Parameters

    Parameters

    • Optional callback: ((obj: T) => any)
        • (obj: T): any
        • Parameters

          • obj: T

          Returns any

    • Optional data: any

    Returns Promise<T>