Class MxDbRingShape

环形

Hierarchy (view full)

Constructors

Properties

Accessors

Methods

Constructors

Properties

_cornerRadius: number | number[] = []
_fillImageSrc: undefined | null | string | false = null

填充图片路径

_paths: CurvePath<Vector3 | Vector2>
_propertyDbKeys: string[] = ...

需要输入和输出的属性

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

center: Vector3 = ...
children: (MxDbEntity | MxDbRingShape)[] = []

它的子节点集合

clockwise: boolean = false

以顺时针方向创建(扫过)弧线 默认false

closed: boolean = true

闭合

closedLine: Curve<Vector3>
color: UnstableColor = 0xffffff

颜色值

curveSegments: number = 50

线段细分数值

dDashArray: number = 0
dDashRatio: number = 0
dLineWidth: number = 0
endAngle: number = ...

弧结束角度 默认0

endPoint: Vector3

圆弧结束点 设置结束点将自动计算 radius、startAngle、endAngle

events: {
    [x: EventType]: Events[keyof Events][];
}

Type declaration

fillImageParam: undefined | {
    center?: Vector2;
    offset?: Vector2;
    repeat?: Vector2;
    rotation?: number;
}

fillImageParam 填充背景图片的参数设置(如果使用了滤镜则部分参数功能失效)

Type declaration

  • Optional center?: Vector2
  • Optional offset?: Vector2
  • Optional repeat?: Vector2
  • Optional rotation?: number
filter: undefined | null | MxFilters = null

设置滤镜对象MxFilters 默认为undefined | null 则不使用该滤镜效果

innerRadius: number = 10
isClosedToCenter: boolean = true

是否闭合到中心位置

isFill: boolean = false

填充

isLoadMaterialFromPath: boolean = true
isStrokeDashLine: boolean = false

描边是否为虚线

layer: string = ''
lineWidthByPixels: boolean = true
material: null | MeshLambertMaterial
opacity: number = 1

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

outerRadius: number = 20
parent: null | MxDbEntity | MxDbRingShape = null

它的父节点

points: Vector3[]
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

显示顺序

rotation: number = 0

旋转角度

sGuid: string = ''
startAngle: number = 0

弧开始角度 默认0

startPoint: Vector3

圆弧开始点 设置开始点将自动计算 radius、startAngle、endAngle

stroke: UnstableColor = '#fff'

描边颜色

strokeLineWidth: number = 2

描边线段的宽度

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

用户自定义数据.

Type declaration

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

该对象是否可见

xRadius: number = 10

X轴椭圆弧半径 默认当前坐标转换下的10像素

yRadius: number = 10

Y轴椭圆弧半径 默认当前坐标转换下的10像素

cmd: string = 'Mx_MxDbRingShape'
draw: (() => void) = drawMxDbRingShape

Type declaration

    • (): void
    • Returns void

isRegister: boolean = false

Accessors

  • get cornerRadius(): number | number[]
  • 圆角半径 (一个向量点对应一个角的半径值)

    Returns number | number[]

  • set cornerRadius(radius): void
  • Parameters

    • radius: number | number[]

    Returns void

  • get fillImageSrc(): undefined | null | string | false
  • Returns undefined | null | string | false

  • set fillImageSrc(src): void
  • Parameters

    • src: undefined | null | string | false

    Returns void

  • get radius(): number
    • 圆半径

    Returns number

  • set radius(radius): void
  • Parameters

    • radius: number

    Returns void

Methods

  • 动态绘制函数

    Parameters

    Returns void

  • 绘制描边

    Parameters

    • pWorldDraw: McGiWorldDraw
    • points: Vector3[]
    • Optional draw: ((pWorldDraw) => void)
        • (pWorldDraw): void
        • Parameters

          Returns void

    Returns void

  • 图片填充

    Parameters

    Returns void

  • bottom 同层级下最上层

    Returns void

  • 复制克隆对象。

    Parameters

    • Optional type: number

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

    Returns any

    MxDbEntity

  • Parameters

    • point: Vector3

    Returns number

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

    Parameters

    • Optional options: {}

      Returns any

      MxDbEntity

    • 创建圆弧

      Parameters

      • x: number = ...
      • y: number = ...
      • xRadius: number = ...
      • yRadius: number = ...
      • startAngle: number = ...
      • endAngle: number = ...
      • clockwise: boolean = ...
      • rotation: number = ...

      Returns EllipseCurve

      • 创建路径

      Parameters

      • shapes: Curve<Vector3 | Vector2> | Curve<Vector3 | Vector2>[]

      Returns CurvePath<Vector3 | Vector2>

    • Parameters

      Returns void

    • 绘制椭圆形状

      Parameters

      Returns {
          centralAngle: number;
          curve: EllipseCurve;
          points: Vector3[];
      }

      • centralAngle: number
      • curve: EllipseCurve
      • points: Vector3[]
    • Parameters

      • obj: any

      Returns boolean

    • 自定义对象数据输入,辅助函数.

      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

    • 自定义对象数据输出 辅助函数.

      Parameters

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

      Returns any

      object

      Example

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

      Type Parameters

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

      Parameters

      Returns void

    • 删除对象

      Returns boolean

      boolean

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

      Parameters

      • str: string

      Returns boolean

      void

    • 获取面积

      Returns number

    • Parameters

      • points: Vector3[]

      Returns CatmullRomCurve3

    • Parameters

      • points: Vector3[]

      Returns Vector3[]

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

      Parameters

      • pt: Vector3
      • iOperationType: number = 0

      Returns null | Vector3

      void

    • 获取圆角的点集合(椭圆不需要)

      Parameters

      • points: Vector3[]

      Returns Vector3[]

    • 得到虚线数据

      Returns any

      number

    • 获取当前滤镜对象 MxFilters

      Returns undefined | null | MxFilters

    • 返回对象最小外包.

      Returns null | Box3

      void

    • Returns number

    • Returns Vector3[]

    • 得到图层

      Returns string

      boolean

    • 得到线宽

      Returns number

      number

    • 线宽是否随像素

      Returns boolean

      number

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

      Type Parameters

      • V = any

      Parameters

      • name: string

        属性名称

      • value: V

        属性值

      Returns undefined | MxDbEntity | MxDbRingShape

      Example

      new Node().getNodeByProperty("id", "23548")
      
    • 根据属性名称找到对应的Node节点

      Type Parameters

      • V = any

      Parameters

      • name: string

        属性名称

      • value: V

        属性值

      Returns (MxDbEntity | MxDbRingShape)[]

      Example

      new Node().getNodeByProperty("id", "23548")
      
    • 得到显示顺序

      Returns number

      number

    • 获取坐标集合

      Parameters

      • paths: CurvePath<Vector3 | Vector2>

      Returns Vector3[]

    • 获取长度

      Returns undefined | number

    • Returns string

    • 返回唯一标识guid

      Returns string

      string

    • Parameters

      • guid: string

      Returns void

    • 是否虚线显示

      Returns boolean

      number

    • Returns boolean

    • Parameters

      • index: number
      • offset: Vector3

      Returns 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 void

      string

    • 对象开始开始编辑

      Returns any

      string

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

      Returns boolean

      boolean

    • 恢复默认显示顺序

      Returns void

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

      Returns void

    • 设置圆角 圆角的半径(如果参数为数组则一个角度对应一个圆角半径)

      Parameters

      • radius: number | number[]

        圆角半径 为数组时[3, 2, 1, 4]分别对应左上角圆角半径3 右上角2 右下角1 左下角4; 或者直接设置半径值 则四个角统一半径

      • isScreenCoord: boolean = true

        是否根据屏幕坐标设置

      Returns void

    • Parameters

      • curveSegments: number

      Returns MxDbRingShape

    • 设置虚线数据

      Parameters

      • dDashArray: number
      • dDashRatio: number

      Returns MxDbRingShape

      number

    • 设置实线虚线总段数 = 1 / dashArray

      Parameters

      • dDashArray: number

      Returns MxDbRingShape

      number

    • 设置虚线 +实线的长度. dDashRatio确定虚线,与实线的比率.

      Parameters

      • dashLen: number

      Returns MxDbRingShape

      number

    • 设置虚线显示。并初始化一个默认值。

      Parameters

      • isDashLine: boolean

      Returns MxDbRingShape

      number

    • 设置虚线,与实线的比率

      Parameters

      • dDashRatio: number

      Returns MxDbRingShape

      number

    • Parameters

      • param: undefined | {
            center?: Vector2;
            offset?: Vector2;
            repeat?: Vector2;
            rotation?: number;
        }

      Returns void

    • 设置图片值 fillImageSrc 当设置为null | false 时取消图片填充

      Parameters

      • fillImageSrc: undefined | null | string | false

      Returns MxDbRingShape

    • Parameters

      Returns void

    • 修改唯一标识guid

      Parameters

      • val: string

      Returns string

      string

    • Parameters

      • isClosedToCenter: boolean

      Returns MxDbRingShape

    • Parameters

      • isStrokeDashLine: boolean

      Returns MxDbRingShape

    • 设置图层

      Parameters

      • layer: string

      Returns void

      boolean

    • 设置线宽

      Parameters

      • dLineWidth: number

      Returns MxDbRingShape

      number

    • 设置线宽是否随像素

      Parameters

      • isPixels: boolean

      Returns MxDbRingShape

      number

    • 更新显示

      Parameters

      • Optional isImmediate: boolean

      Returns boolean

      boolean

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

      Parameters

      • renderOrder: number

        显示顺序

      Returns void

    • Parameters

      • startAngle: number

      Returns MxDbRingShape

    • Parameters

      • startPoint: Vector3

      Returns MxDbRingShape

    • Parameters

      • strokeLineWidth: number

      Returns MxDbRingShape

    • Parameters

      • use_smallcoord_display: boolean

      Returns void

    • Parameters

      • xRadius: number

      Returns this

    • Parameters

      • yRadius: number

      Returns this

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

      Parameters

      Returns string

      void

    • Parameters

      Returns Vector3

    • Parameters

      Returns Vector3

    • top 同层级下最上层 *

      Returns void

    • Parameters

      • mat: Matrix4

      Returns 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

    • Parameters

      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>