Options
All
  • Public
  • Public/Protected
  • All
Menu

Class MxDbEllipse

通过两个构成矩形的点绘制椭圆形

Hierarchy

Index

Constructors

Properties

Accessors

Methods

Constructors

Properties

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

填充图片路径

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

需要输入和输出的属性

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

center: Vector3 = ...

圆心

children: (MxDbEntity | MxDbEllipse)[] = []

它的子节点集合

clockwise: boolean = false

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

closed: boolean = false

闭合

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

颜色值

curveSegments: number = 50

线段细分数值

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

弧结束角度 默认0

events: {}

Type declaration

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

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

filter: undefined | null | MxFilters = null

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

isClosedToCenter: boolean = false

是否闭合到中心位置

isFill: boolean = false

填充

isLoadMaterialFromPath: boolean = true
isStrokeDashLine: boolean = false

描边是否为虚线

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

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

parent: null | MxDbEntity | MxDbEllipse = null

它的父节点

point1: Vector3 = ...

开始点

point2: Vector3 = ...

结束点

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

显示顺序

rotation: number = 0

旋转角度

sGuid: string = ''
startAngle: number = 0

弧开始角度 默认0

stroke: UnstableColor = "#fff"

描边颜色

strokeLineWidth: number = 2

描边线段的宽度

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

用户自定义数据.

Type declaration

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

该对象是否可见

xRadius: number = 10

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

yRadius: number = 10

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

cmd: string = 'Mx_Ellipse'

该类注册的cmd命令名称

draw: (() => void) = drawMxDbEllipse

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

Type declaration

    • (): void
    • Returns void

isRegister: boolean = false

该类是否已注册

Accessors

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

    Returns number | number[]

  • 圆角半径 (一个向量点对应一个角的半径值)

    Parameters

    • radius: number | number[]

    Returns void

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

  • Parameters

    • src: undefined | null | string | false

    Returns void

Methods

  • bottom(): void
  • clone(type?: number): any
  • createEllipseCurve(x?: number, y?: number, xRadius?: number, yRadius?: number, startAngle?: number, endAngle?: number, clockwise?: boolean, rotation?: number): EllipseCurve
  • 创建圆弧

    Parameters

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

    Returns EllipseCurve

  • createPaths(shapes: Curve<Vector3 | Vector2> | Curve<Vector3 | Vector2>[]): CurvePath<Vector3 | Vector2>
  • 创建路径

    Parameters

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

    Returns CurvePath<Vector3 | Vector2>

  • drawEllipseShape(pWorldDraw: McGiWorldDraw): { centralAngle: number; curve: EllipseCurve; points: Vector3[] }
  • 绘制椭圆形状

    Parameters

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

    • centralAngle: number
    • curve: EllipseCurve
    • points: Vector3[]
  • 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
  • getArea(): number
  • getClosedLine(points: Vector3[]): CatmullRomCurve3
  • getClosedPoints(points: Vector3[]): Vector3[]
  • getClosestPointTo(pt: Vector3, iOperationType?: number): null | Vector3
  • 对一个点到这个对象的最近点 。 iOperationType == 0正常操作求值最近点. iOperationType == 1点选择操作求值最近点.

    Parameters

    • pt: Vector3
    • iOperationType: number = 0

    Returns null | Vector3

    void

  • getCornerRadiusPoints(points: Vector3[]): Vector3[]
  • getDash(): any
  • getGeomExtents(): null | Box3
  • getGetLength(): number
  • getGripPoints(): Vector3[]
  • getLayer(): string
  • getLineWidth(): number
  • getLineWidthByPixels(): boolean
  • getRenderOrder(): number
  • getShapePoints(paths: CurvePath<Vector3 | Vector2>): Vector3[]
  • getTotalLength(): undefined | number
  • getTypeName(): string
  • guid(): string
  • initGuid(guid: string): void
  • isDashLineDisplay(): boolean
  • isUseSmallcoordDisplay(): boolean
  • moveGripPointsAt(index: number, offset: Vector3): 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

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

    Returns void

  • setCornerRadius(radius: number | number[], isScreenCoord?: boolean): void
  • 设置圆角 圆角的半径(如果参数为数组则一个角度对应一个圆角半径)

    Parameters

    • radius: number | number[]

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

    • isScreenCoord: boolean = true

      是否根据屏幕坐标设置

    Returns void

  • setDash(dDashArray: number, dDashRatio: number): MxDbEllipse
  • setFillImageParam(param: undefined | { center?: Vector2; offset?: Vector2; repeat?: Vector2; rotation?: number }): void
  • Parameters

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

    Returns void

  • setFillImageSrc(fillImageSrc: undefined | null | string | false): MxDbEllipse
  • setFilter(filter: undefined | null | MxFilters): void
  • setGuid(val: string): string
  • setIsClosedToCenter(isClosedToCenter: boolean): MxDbEllipse
  • setIsStrokeDashLine(isStrokeDashLine: boolean): MxDbEllipse
  • setLayer(layer: string): void
  • setNeedUpdateDisplay(isImmediate?: boolean): boolean
  • setRenderOrder(renderOrder: number): void
  • 设置显示顺序 (通过显示顺序控制图层)

    Parameters

    • renderOrder: number

      显示顺序

    Returns void

  • setStrokeLineWidth(strokeLineWidth: number): MxDbEllipse
  • setUseSmallcoordDisplay(use_smallcoord_display: boolean): void
  • toSmallcoord2(mxobj: MxDrawObject, x: number, y: number, z?: number): Vector3
  • top(): void
  • transformBy(mat: Matrix4): void
  • 自定义实体的矩阵 坐标变换 (需要重写该方法实现如果通过矩阵对自定义实体进行操作 默认不会进行任何操作)

    Parameters

    • mat: Matrix4

    Returns void

    void

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

    Parameters

    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>