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:
any3D场景视图。 - isInitialized:
boolean=false是否已初始化,默认为false。
返回:Promise
_setupReshape3DOperation
设置3D重塑操作,用于在3D视图中重塑图形。
_setupReshape3DOperation(graphic, options, view, enableReshape): Promise
参数
- graphic:
any要重塑的图形。 - options:
any重塑操作的配置选项。 - view:
any3D视图实例。 - 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
