Class MxDbCloudLine

MxDbCloudLine 对象. 绘制任意的云线

Hierarchy (view full)

Constructors

Properties

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

添加一个事件处理

Type declaration

    • <Key>(event, callback): void
    • Type Parameters

      • Key extends (keyof MxDbEntityEventsType) | (keyof RendererEventsType)

      Parameters

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

      Returns void

Returns

void

cachePoint: null | Vector3[] = null
children: (MxDbEntity | MxDbCloudLine)[] = []

它的子节点集合

color: UnstableColor = 0xffffff

颜色值

dDashArray: number = 0
dDashRatio: number = 0
dLineWidth: number = 0
events: {
    [x: EventType]: Events[keyof Events][];
}

Type declaration

layer: string = ''
lineWidthByPixels: boolean = true
opacity: number = 1

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

parent: null | MxDbEntity | MxDbCloudLine = null

它的父节点

points: Vector3[] = []
radius: number = 16
removeEvent: (<Key>(event, callback?) => void) = ...

删除一个事件处理

Type declaration

    • <Key>(event, callback?): void
    • Type Parameters

      • Key extends (keyof MxDbEntityEventsType) | (keyof RendererEventsType)

      Parameters

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

      Returns void

Returns

void

renderOrder: number = 30

显示顺序

sGuid: string = ''
use_smallcoord_display: boolean = false
userData: {
    [key: string]: any;
} = {}

用户自定义数据.

Type declaration

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

该对象是否可见

cmd: string = 'Mx_CloudLine'

该类注册的cmd命令名称

draw: (() => void) = drawMxDbCloudLine

该类注册的cmd命令绘制函数

Type declaration

    • (): void
    • Returns void

isRegister: boolean = false

该类是否已注册

Methods

  • 绘制两点之间的云线(与addPoint不同的是它不是只绘制一个半圆弧,而是绘制两点之间相连接的所有半圆弧)

    Parameters

    • pt1: Vector3

      云线开始点

    • pt2: Vector3

      云线结束点

    Returns Vector3

  • 添加云线的顶点坐标, 该顶点坐标会根据上一个构成云线的点计算出下一个云线的顶点位置

    Parameters

    • pt: Vector3

      坐标位置

    • Optional isAddToDrawGeometry: boolean

      如果为true 将立即添加顶点并绘制下一个圆弧

    Returns void

  • bottom 同层级下最上层

    Returns void

  • Parameters

    • pt2: Vector3

    Returns null | Vector3

  • 复制克隆对象。

    Parameters

    • Optional type: number

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

    Returns any

    MxDbEntity

  • Parameters

    • startPoint: Vector3
    • endPoint: Vector3
    • Optional radius: number

    Returns Vector2[]

  • 自定义对象数据输入,必须要实现该函数

    Parameters

    • obj: any

    Returns boolean

    boolean

    Example

     class MxLine extends MxDbEntity {
    dwgIn(obj) {
    // 必须调用 同步自定义数据对象输入
    this.onDwgIn(obj)
    }
    }
  • 自定义对象数据输入,辅助函数.

    Type Parameters

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

    Parameters

    • obj: any

      数据对象

    • aryProp: T

      属性名称列表

    • Optional hooks: {
          getCacheVal?: ((v) => any);
          getVal?: ((v) => any);
      }
      • Optional getCacheVal?: ((v) => any)

        归档数据构子函数 return null | undefined 默认深拷贝 ; return Value 返回数据

          • (v): any
          • Parameters

            • v: any

            Returns any

      • Optional getVal?: ((v) => any)

        交互数据输入钩子函数 return null | undefined 默认深拷贝 ; return Value 返回数据

          • (v): any
          • Parameters

            • v: any

            Returns any

    Returns boolean

    boolean

    Example

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

    Parameters

    • obj: any

    Returns object

    object

    Example

     class MxLine extends MxDbEntity {
    dwgOut(obj) {
    // 必须调用 同步自定义数据对象输出
    this.onDwgOut(obj)
    }
    }
  • 自定义对象数据输出 辅助函数.

    Parameters

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

    Returns any

    object

    Example

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

    Returns boolean

    boolean

  • 从一个josn字符串加载数据.

    Parameters

    • str: string

    Returns boolean

    void

  • Returns null | Vector3[]

  • 获取云线包围盒的中心点

    Returns Vector3

  • 对一个点到这个对象的最近点 。 iOperationType == 0正常操作求值最近点. iOperationType == 1点选择操作求值最近点.

    Parameters

    • pt: Vector3
    • iOperationType: number = 0

    Returns null | Vector3

    void

  • 返回自定义对象的夹点.

    Returns Vector3[]

    Array<THREE.Vector3>

  • 获取云线的圆弧半径

    Returns number

  • 返回唯一标识guid

    Returns string

    string

  • 移动自定义对象的夹点.

    Parameters

    • index: number
    • offset: Vector3

    Returns boolean

    boolean

  • 得到对象的id.

    Returns number

    number

  • 销毁事件

    Type Parameters

    • Key extends (keyof MxDbEntityEventsType) | (keyof RendererEventsType)

    Parameters

    • event: Key

      事件名称

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

      事件方法

    Returns void

  • 订阅

    Type Parameters

    • Key extends (keyof MxDbEntityEventsType) | (keyof RendererEventsType)

    Parameters

    • event: Key

      事件名称

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

      事件回调

    Returns void

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

    Parameters

    • obj: any

      dwgIn抽象方法的回调数据

    Returns void

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

    Parameters

    • obj: any

      dwgOut抽象方法的回调数据

    Returns void

  • 视区显示比较发生成变化,继承类可以向应该事件,更新显示大小。

    Returns boolean

    boolean

  • 重新计算云线的的所有顶点坐标, 如绘制完云线后 重新设置了圆弧半径, 在worldDraw动态绘制时会调用该方法

    Returns null | Vector3[]

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

    Returns void

  • 修改唯一标识guid

    Parameters

    • val: string

    Returns string

    string

  • 设置图层

    Parameters

    • layer: string

    Returns void

    boolean

  • 更新显示

    Parameters

    • Optional isImmediate: boolean

    Returns boolean

    boolean

  • 设置构成云线的每个圆弧半径长度

    Parameters

    • radius: number

    Returns void

    Parma

    radius 圆弧半径

  • 设置显示顺序 (通过显示顺序控制图层)

    Parameters

    • renderOrder: number

      显示顺序

    Returns void

  • 把一个对象变成一个json字体串.

    Parameters

    Returns string

    void

  • top 同层级下最上层 *

    Returns void

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

    Parameters

    • _mat: Matrix4

      THREE.Matrix4 变化矩阵

    Returns void

    void

  • 移动对象

    Parameters

    • ptMove: Vector3

    Returns void

    void

  • 旋转对象

    Parameters

    • ptBase: Vector3
    • angle: number

    Returns void

    void

  • 缩放对像

    Parameters

    • ptBase: Vector3
    • scale: number

    Returns void

    void

  • 遍历它的所有子节点包括孙子节点,直到它包含的节点全部遍历完成并都执行传入的方法

    Parameters

    • callback: ((node) => void)

      回调函数

        • (node): void
        • Parameters

          • node: this

          Returns void

    Returns void

  • 让它的父节点依次冒泡执行传入的方法的方法

    Type Parameters

    Parameters

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

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

        • (node): boolean | void
        • Parameters

          • node: V

          Returns boolean | void

    Returns void

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

    Returns void

  • 使用该类的cmd命令 执行默认的绘制功能

    Type Parameters

    Parameters

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

          • obj: T

          Returns any

    • Optional data: any

    Returns Promise<T>