DrawViewModel

用于创建和更新图形的视图模型,提供丰富的绘图和编辑功能。

构造函数

DrawViewModel

用于创建和更新图形的视图模型,提供丰富的绘图和编辑功能。

new DrawViewModel(config)

参数

  • config: any 配置对象,用于初始化 SketchViewModel 的各种选项。

返回:SketchViewModel DrawViewModel对象

属性

activeFillSymbol

activeFillSymbol: any

类型: any

activeLineSymbol

activeLineSymbol: any

类型: any

activeVertexSymbol

activeVertexSymbol: any

类型: any

allowDeleteKey

allowDeleteKey: any

类型: any

creationMode

creationMode: any

类型: any

layer

layer: any

类型: any

meshSymbol

meshSymbol: any

类型: any

pointSymbol

pointSymbol: any

类型: any

polygonSymbol

polygonSymbol: any

类型: any

polylineSymbol

polylineSymbol: any

类型: any

sketchOptions

sketchOptions: any

类型: any

updateGraphics

updateGraphics: any

类型: any

updateOnGraphicClick

updateOnGraphicClick: any

类型: any

vertexSymbol

vertexSymbol: any

类型: any

访问器

activeComponent

获取当前活动操作中的活动组件。

get activeComponent(): any

返回: any 获取当前活动操作中的活动组件。

activeCreateToolDrawMode

获取当前活动创建工具的绘制模式。

get activeCreateToolDrawMode(): any

返回: any 获取当前活动创建工具的绘制模式。

activeTool

获取当前活动的工具。

get activeTool(): any

返回: any 获取当前活动的工具。

activeTooltip

获取当前活动组件的工具提示。

get activeTooltip(): any

返回: any 获取当前活动组件的工具提示。

createGraphic

获取当前正在创建的图形。如果活动组件是3D或2D绘图工具,则返回活动组件的图形;否则返回存储的图形。

get createGraphic(): any

返回: any 获取当前正在创建的图形。如果活动组件是3D或2D绘图工具,则返回活动组件的图形;否则返回存储的图形。

defaultCreateOptions

获取默认的创建选项配置。

get defaultCreateOptions(): any

返回: any 获取默认的创建选项配置。

设置默认的创建选项。

set defaultCreateOptions(options: any): void

参数

  • options: any

返回: void

defaultUpdateOptions

获取默认更新选项配置。

get defaultUpdateOptions(): any

返回: any 获取默认更新选项配置。

设置默认更新选项,用于配置图形更新时的默认行为。

set defaultUpdateOptions(options: any): void

参数

  • options: any

返回: void

labelOptions

获取或设置草图标签选项。

get labelOptions(): any

返回: any 获取或设置草图标签选项。

设置草图标签选项。

set labelOptions(labelOptions: any): void

参数

  • labelOptions: any

返回: void

snappingManager

获取或设置与草图视图模型关联的捕捉管理器。

get snappingManager(): any

返回: any 获取或设置与草图视图模型关联的捕捉管理器。

设置或清除捕捉管理器。如果提供了管理器,则使用它覆盖默认捕捉管理器;否则,恢复默认捕捉管理器。

set snappingManager(manager: any): void

参数

  • manager: any

返回: void

snappingOptions

获取或设置当前视图模型的捕捉选项,用于控制图形编辑时的捕捉行为。

get snappingOptions(): any

返回: any 获取或设置当前视图模型的捕捉选项,用于控制图形编辑时的捕捉行为。

设置捕捉选项,用于控制草图绘制过程中的捕捉行为。

set snappingOptions(options: any): void

参数

  • options: any

返回: void

state

获取草图视图模型的当前状态。

get state(): "active" | "ready" | "disabled"

返回: "active" | "ready" | "disabled" 获取草图视图模型的当前状态。

test

获取测试属性。

get test(): void

返回: void 获取测试属性。

tooltipOptions

获取或设置当前草图视图模型的工具提示选项。

get tooltipOptions(): any

返回: any 获取或设置当前草图视图模型的工具提示选项。

设置草图工具提示选项。

set tooltipOptions(tooltipConfig: any): void

参数

  • tooltipConfig: any

返回: void

updating

指示视图模型是否正在执行更新操作。

get updating(): any

返回: any 指示视图模型是否正在执行更新操作。

valueOptions

获取或设置草图视图模型的值选项。

get valueOptions(): any

返回: any 获取或设置草图视图模型的值选项。

设置草图值选项,用于配置草图操作中的值相关行为。

set valueOptions(options: any): void

参数

  • options: any

返回: void

view

获取与 SketchViewModel 关联的视图实例。

get view(): any

返回: any 获取与 SketchViewModel 关联的视图实例。

设置 SketchViewModel 关联的视图。当视图改变时,会清理当前视图的资源和事件监听,并初始化新视图的配置。

set view(newView: any): void

参数

  • newView: any

返回: void

方法

_disablePopup

禁用视图的弹出窗口功能。

_disablePopup(element): void

参数

  • element: any 需要检查是否禁用弹出窗口的元素。

返回:void

_disablePopupEnabled

确定是否应禁用弹窗功能。根据视图类型、图形点击更新设置和配置中的点击切换工具选项来决定。

_disablePopupEnabled(config): any

参数

  • config: any 配置对象,可能包含 toggleToolOnClick 属性。

返回:any

_displayDefaultCursor

将视图光标重置为默认状态。

_displayDefaultCursor(): void

返回:void

_displayGrabbingCursor

将视图光标设置为抓取状态(grabbing)。

_displayGrabbingCursor(): void

返回:void

_displayPointerCursor

将视图的鼠标光标设置为指针样式。

_displayPointerCursor(): void

返回:void

_emitDeleteEvent

发出删除事件,用于通知图形已被删除。

_emitDeleteEvent(data): void

参数

  • data: any 包含删除事件相关数据的对象。

返回:void

_emitRedoEvent

发出重做事件,将原始事件转换为重做事件类型。

_emitRedoEvent(originalEvent): void

参数

  • originalEvent: any 原始事件对象,将被转换为重做事件。

返回:void

_emitUndoEvent

发出撤销操作事件。

_emitUndoEvent(eventData): void

参数

  • eventData: any 事件数据对象,将被合并到撤销事件中。

返回:void

_generateViewHandles

生成视图事件处理器,用于处理视图上的点击事件。

_generateViewHandles(eventTarget): any

参数

  • eventTarget: any 要添加事件处理器的目标事件对象。

返回:any

_getBox

异步获取用于图形编辑的边界框控件。

_getBox(graphics, options, view): Promise

参数

  • graphics: any 要编辑的图形数组。
  • options: any 边界框配置选项,包含启用旋转、缩放、高亮选项和保持纵横比等设置。
  • view: any 关联的视图实例。

返回:Promise

_getCommonUpdateOperationClickHandlers

获取更新操作的通用点击事件处理器,处理图形选择和操作完成逻辑。

_getCommonUpdateOperationClickHandlers(operation, clickEvent, options): Promise

参数

  • operation: any 当前正在进行的更新操作。
  • clickEvent: any 点击事件对象,包含点击位置和按键状态信息。
  • options: any 操作选项配置。

返回:Promise

_getCommonUpdateOperationKeyDownHandlers

获取更新操作的通用键盘事件处理程序,处理撤销、重做、取消和删除等操作。

_getCommonUpdateOperationKeyDownHandlers(operation, keyboardEvent): void

参数

  • operation: any 当前更新操作对象。
  • keyboardEvent: any 键盘事件对象。

返回:void

_getFirstHit

获取视图中指定点的第一个命中结果,支持2D和3D视图的不同处理逻辑。

_getFirstHit(point): Promise

参数

  • point: any 要进行命中测试的点。

返回:Promise

_getGraphicMover

获取或创建图形移动器实例,用于处理图形的移动操作。

_getGraphicMover(graphics, options, view): Promise

参数

  • graphics: any 要移动的图形数组。
  • options: any 配置选项,包含是否启用移动所有图形和高亮选项。
  • view: any 关联的视图实例。

返回:Promise

_getGraphicSymbolFromTool

根据工具类型获取对应的图形符号。

_getGraphicSymbolFromTool(toolType): any

参数

  • toolType: any 工具类型,包括 'point', 'multipoint', 'polyline', 'freehandPolyline', 'circle', 'rectangle', 'polygon', 'freehandPolygon', 'mesh' 等。

返回:any

_getHandlesForComponent

获取组件的事件处理器句柄数组,用于处理不同类型的组件交互事件。

_getHandlesForComponent(component, componentType): any

参数

  • component: any 要获取事件句柄的组件对象。
  • componentType: any 组件的类型,用于确定如何处理事件。

返回:any

_getReshape

获取并初始化重塑工具,用于编辑图形的形状。

_getReshape(graphics, reshapeOptions, view): Promise

参数

  • graphics: any 要重塑的图形数组。
  • reshapeOptions: any 重塑操作的配置选项。
  • view: any 关联的视图实例。

返回:Promise

_handleImmediateClick

处理立即点击事件,检测点击位置的图形并执行相应操作。

_handleImmediateClick(clickEvent): Promise

参数

  • clickEvent: any 点击事件对象,包含点击位置和相关信息。

返回:Promise

_isComponentGraphic

检查图形是否为活动组件图形。

_isComponentGraphic(graphic): any

参数

  • graphic: any 要检查的图形对象。

返回:any

_logError

记录错误信息到日志中。

_logError(error, details, index): void

参数

  • error: any 错误对象或错误信息。
  • details: any 错误的详细信息。
  • index: any 错误的索引或标识符。

返回:void

_logMissingLayer

记录缺少图层的错误信息。

_logMissingLayer(): void

返回:void

_logMissingView

记录缺少视图属性的错误。

_logMissingView(): void

返回:void

_makeDrawGraphicTool2D

异步创建2D绘图工具实例。

_makeDrawGraphicTool2D(options): Promise

参数

  • options: any 创建2D绘图工具的配置选项。

返回:Promise

_makeDrawGraphicTool3D

创建并返回一个3D绘图工具实例。

_makeDrawGraphicTool3D(options): Promise

参数

  • options: any 创建3D绘图工具的配置选项。

返回:Promise

_onDeleteKey

处理删除键按下事件,在特定条件下删除图形或组件。

_onDeleteKey(keyboardEvent): void

参数

  • keyboardEvent: any 键盘事件对象。

返回:void

_onTransformOrReshape2DGraphicClick

处理2D图形变换或重塑时的点击事件。

_onTransformOrReshape2DGraphicClick(selectionManager, toolConfig, eventData): any

参数

  • selectionManager: any 选择管理器实例。
  • toolConfig: any 工具配置对象。
  • eventData: any 事件数据对象,包含图形和视图事件信息。

返回:any

_removeDefaultLayer

移除默认的内部图形图层。

_removeDefaultLayer(): void

返回:void

_requireModule

异步加载模块,并提供中断加载的功能。

_requireModule(modulePromise): Promise

参数

  • modulePromise: any 要加载的模块的Promise对象。

返回:Promise

_restorePopup

恢复视图的弹出窗口状态。

_restorePopup(popupEvent): void

参数

  • popupEvent: any 弹出窗口事件对象。

返回:void

_setupCreateOperation

设置创建操作,初始化绘图工具并激活它。

_setupCreateOperation(geometry, options): Promise

参数

  • geometry: any 要绘制的几何图形类型。
  • options: any 创建操作的配置选项。

返回:Promise

_setupCreateOperationHandle

设置创建操作的处理程序,管理图形创建过程中的事件监听和历史记录。

_setupCreateOperationHandle(createOptions): any

参数

  • createOptions: any 创建操作的配置选项,包含几何类型、图形符号等属性。

返回:any

_setUpdateOperationHandle

设置更新操作句柄并配置相关事件处理程序。

_setUpdateOperationHandle(operationHandle, popup): void

参数

  • operationHandle: any 更新操作的句柄对象。
  • popup: any 需要禁用的弹出窗口对象。

返回:void

_setupDrawGraphicTool

根据指定的形状类型、视图和选项设置绘图工具。

_setupDrawGraphicTool(shapeType, view, options): Promise

参数

  • shapeType: any 要绘制的几何形状类型。
  • view: any 关联的视图实例。
  • options: any 绘图工具的配置选项。

返回:Promise

_setupGraphicTransform3DOperation

设置3D图形变换操作,根据图形类型选择适当的变换方法。

_setupGraphicTransform3DOperation(graphics, transform, options, shouldTransform): Promise

参数

  • graphics: any 要变换的图形数组。
  • transform: any 变换配置对象。
  • options: any 变换操作的选项。
  • shouldTransform: boolean = false 是否执行变换,默认为false。

返回:Promise

_setupMove2DOperation

设置2D移动操作,用于在二维视图中移动图形元素。

_setupMove2DOperation(graphics, view, options): Promise

参数

  • graphics: any 要移动的图形数组。
  • view: any 当前视图实例。
  • options: any 移动操作的配置选项。

返回:Promise

_setupMove3DOperation

设置3D移动操作,处理3D图形的移动逻辑。

_setupMove3DOperation(graphics, updateOptions, view, index, skipValidation): Promise

参数

  • graphics: any 要移动的图形数组。
  • updateOptions: any 更新操作的配置选项。
  • view: any 关联的3D视图实例。
  • index: any 操作索引,用于标识特定的移动操作。
  • skipValidation: boolean = false 是否跳过验证步骤,默认为false。

返回:Promise

_setupPointTransform3DOperation

设置3D点图形的变换操作,包括旋转、缩放和Z轴变换功能。

_setupPointTransform3DOperation(graphic, transformOptions, view): Promise

参数

  • graphic: any 要进行变换操作的3D点图形。
  • transformOptions: any 变换选项,包含启用旋转、缩放和Z轴变换的配置。
  • view: any 当前视图实例。

返回:Promise

_setupPolyTransform3DOperation

设置3D多边形变换操作,用于处理3D场景中多边形图形的旋转、缩放和Z轴变换。

_setupPolyTransform3DOperation(graphic, transformOptions, view, isInitialized): Promise

参数

  • graphic: any 要变换的图形对象。
  • transformOptions: any 变换选项,包含启用旋转、缩放、Z轴变换和保持纵横比的设置。
  • view: any 3D场景视图。
  • isInitialized: boolean = false 是否已初始化,默认为false。

返回:Promise

_setupReshape3DOperation

设置3D重塑操作,用于在3D视图中重塑图形。

_setupReshape3DOperation(graphic, options, view, enableReshape): Promise

参数

  • graphic: any 要重塑的图形。
  • options: any 重塑操作的配置选项。
  • view: any 3D视图实例。
  • enableReshape: boolean = false 是否启用重塑功能,默认为false。

返回:Promise

_setupTransformOrReshape2DOperation

设置2D变换或重塑操作,处理图形的变换或重塑逻辑。

_setupTransformOrReshape2DOperation(graphics, operationType, options, index): Promise

参数

  • graphics: any 要操作的图形数组。
  • operationType: any 操作类型,可以是'transform'(变换)或'reshape'(重塑)。
  • options: any 操作的配置选项。
  • index: any 操作的索引。

返回:Promise

_setupUpdateOperation

设置更新操作,根据视图类型和工具类型处理图形的移动、重塑或变换操作。

_setupUpdateOperation(graphics, options): Promise

参数

  • graphics: any 要更新的图形数组。
  • options: any 更新操作的配置选项。

返回:Promise

_toggleSelection

切换元素的选中状态,根据选项决定是否允许多选。

_toggleSelection(elements, selectionManager, options): any

参数

  • elements: any 要切换选中状态的元素数组。
  • selectionManager: any 用于管理元素选择状态的选择管理器。
  • options: any 配置选项,包含是否启用多选的设置。

返回:any

_updateSpatialReference

更新图形的空间参考以匹配视图的空间参考。

_updateSpatialReference(graphics): Promise

参数

  • graphics: any 需要更新空间参考的图形或图形数组。

返回:Promise

_waitViewReady

等待视图准备就绪。如果视图存在,则等待其准备完成;如果视图不存在,则记录缺失视图的错误。

_waitViewReady(): Promise

返回:Promise

cancel

取消当前正在进行的草图操作。

cancel(): void

返回:void

canRedo

检查是否可以执行重做操作。

canRedo(): boolean

返回:boolean

canUndo

检查是否可以执行撤销操作。

canUndo(): boolean

返回:boolean

complete

完成当前的绘图操作。

complete(): void

返回:void

create

使用指定的工具和选项创建新的图形。

create(tool, options): Promise

参数

  • tool: any 用于创建图形的工具类型。
  • options: any 创建操作的配置选项。

返回:Promise

delete

删除当前选中的图形元素。

delete(): void

返回:void

destroy

销毁 SketchViewModel 实例并清理所有相关资源。

destroy(): void

返回:void

duplicate

复制当前选中的图形元素。

duplicate(): any

返回:any

initialize

初始化 SketchViewModel,设置必要的事件监听器和处理程序。

initialize(): void

返回:void

place

在指定位置放置几何图形。

place(geometry, options): Promise

参数

  • geometry: any 要放置的几何图形。
  • options: any 放置操作的选项配置。

返回:Promise

redo

重做上一次被撤销的操作。

redo(): void

返回:void

toggleUpdateTool

切换更新工具的状态。

toggleUpdateTool(): void

返回:void

undo

撤销上一次的编辑操作。

undo(): void

返回:void

update

更新指定的图形元素,进入编辑模式。

update(graphicsInput, options): Promise

参数

  • graphicsInput: any 要更新的图形元素或图形元素数组。
  • options: any 更新操作的配置选项。

返回:Promise

wait

等待视图模型完成所有更新操作。

wait(): any

返回:any

BIMFlux AI