new SketchRegularPrismDrawTool(options)
正棱柱、正棱锥草图绘制工具。
通过中心点和拖拽半径创建规则三维实体,适用于绘制圆柱、正多棱柱或正棱锥类草图。 工具维护整体平移、局部旋转、缩放和高度变化等编辑控制,并将变换结果写入三维符号层。
| Name | Type | Default | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | {} |
可选
构造参数。
|
Example
创建正棱柱绘制工具
// ES5 引入方式
const { SketchRegularPrismDrawTool } = zondy.tool.sketch
// ES6 引入方式
import { SketchRegularPrismDrawTool } from '@mapgis/webclient-common'
const drawTool = new SketchRegularPrismDrawTool({
view,
layer,
entityType: 'cylinder'
})
drawTool.start()
Extends
Members
-
arcTypeNumber
-
弧线类型
-
editOptionObject
-
草图选中编辑配置项
-
elevationInfoSketchStyle
-
图形高程模式参数
-
extensionOptionsObject
-
草图编辑的扩展属性,可以通过该属性传入草图编辑额外需要的参数
-
layerGraphicsLayer
-
草图图层
-
sketchStageSketchStage
-
草图绘图形集合
-
sketchStyleSketchStyle
-
草图符号
-
typeString
-
草图工具类型名
-
undoRedoManagerString
-
草图撤销回退管理器
-
地图视图
Methods
-
inherited _getProjectionOnRotatedAxes(rotationAngle, startPoint, endPoint){Object}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 3294 -
计算点2到中心点在旋转后坐标轴上的投影距离
Name Type Description rotationAnglenumber 旋转角度(弧度)
startPointObject 起始点(中心点),格式 { x, y }
endPointObject 终止点(目标点),格式 { x, y }
Returns:
Type Description Object 返回 { x, y } 表示在旋转后坐标系中的投影距离 -
inherited _getProjectionOnRotatedAxes1(rotation, startPoint, endPoint){Object}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 3331 -
计算点到坐标轴方向的分量
Name Type Description rotationnumber 坐标系旋转角度(弧度,正值为顺时针)
startPointObject 起点(原点)像素坐标 {x, y}
endPointObject 终点(P点)像素坐标 {x, y}
Returns:
Type Description Object 返回 {x, y} - 点在旋转后坐标系的x轴和y轴方向上的分量距离 -
inherited _rotatePoint(angleDegrees, P, Q){Object}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 3384 -
计算点Q绕点P旋转后的坐标
Name Type Description angleDegreesnumber 旋转角度(度),逆时针为正,顺时针为负
PObject 旋转中心点坐标
QObject 旋转前Q点坐标
Returns:
Type Description Object Q点旋转后的坐标 -
addFeature(points, sketchStyle, attributes, layer){void}
sketchEditor/base/drawTools/SketchRegularPrismDrawTool.js, line 217 -
添加规则三维实体草图要素。
根据中心点和半径创建点几何三维符号要素,并添加到目标图层。
Name Type Description pointsPoint | Array.<Number> 实体中心点或中心点坐标。
sketchStyleSketchStyle | SketchStyle3D 符号样式参数。当前实现保留该参数以兼容调用签名。
attributesObject 可选 写入草图要素的属性对象。
layerGraphicsLayer 可选 要素添加到的目标图层。
Returns:
Type Description void -
inherited addVertex(point, index)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1954 -
当前草图图形中插入新的顶点
Name Type Description pointPoint 新增/插入顶点
indexNumber 新增点的索引值,索引值从0开始
-
drawFeature(){void}
sketchEditor/base/drawTools/SketchRegularPrismDrawTool.js, line 85 -
开始鼠标拖拽绘制规则三维实体。
鼠标按下确定中心点,拖拽距离作为半径并同步更新实体宽度、深度和高度,鼠标抬起后完成绘制并触发绘制完成事件。
Returns:
Type Description void -
inherited getDistanceByPixel(pixel){Number}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1975 -
根据像素单位获取距离
Name Type Description pixelNumber 编辑状态码
Returns:
Type Description Number 距离 -
inherited getMidScaleCoordinates(coordinates, direction, extent, startPoint, movePoint, oriCoordinates){Number}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 2106 -
获取图形通过四个中点缩放后的坐标
Name Type Description coordinatesArray 坐标数组
directionString 方向
extentExtent 图形extent范围
startPointPoint 移动前的点
movePointPoint 移动后的点
oriCoordinatesPoint 图形原始坐标
Returns:
Type Description Number 缩放后的坐标 -
inherited getPanCoordinates(coordinates, deltaX, deltaY, pointType, extent){Number}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1993 -
获取平移后的坐标
Name Type Description coordinatesArray 坐标数组
deltaXNumber x轴偏移量
deltaYNumber y轴偏移量
pointTypeNumber 点属性类型
extentNumber 点所在范围
Returns:
Type Description Number 平移后的坐标 -
inherited getScaleCoordinates(coordinates, direction, extent, startPoint, movePoint, oriCoordinates){Number}
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 2023 -
获取图形通过四个顶点缩放后的坐标
Name Type Description coordinatesArray 坐标数组
directionString 方向
extentExtent 图形extent范围
startPointPoint 移动前的点
movePointPoint 移动后的点
oriCoordinatesPoint 图形原始坐标
Returns:
Type Description Number 缩放后的坐标 -
inherited removeDrawTool()
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1922 -
清除草图绘制工具
-
inherited removeVertex(index)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1967 -
移除草图图形的某个顶点
Name Type Description indexNumber 需移除的顶点的索引值,索引值从0开始
-
selectFeature(feature, event, options){void}
sketchEditor/base/drawTools/SketchRegularPrismDrawTool.js, line 383 -
选中规则三维实体草图要素。
选中时同步缓存当前要素和高度,并交由父类加载整体编辑辅助图形。
Name Type Description featureFeature 被选中的草图要素。
eventObject 选中事件参数。
optionsObject 选中附加参数。
Returns:
Type Description void -
inherited selectFeatureRotate(feature)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 3814 -
选中feature图形旋转
Name Type Description featureFeature 被选中feature对象
-
inherited setSketchStyle(sketchStyle)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1742 -
设置草图样式
Name Type Description sketchStyleSketchStyle -
inherited setSnapAndReferGeometries(geometries)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 2874 -
设置捕获和线造区边界参考几何图形集合
Name Type Description geometriesArray.<Geometry> 可选,几何图形集合。
-
inherited setSnapFeatures(features)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 3808 -
设置捕获和线造区边界参考几何图形集合
Name Type Description featuresArray.<Geometry> 可选,几何图形集合。
-
inherited start()
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 176 -
开始绘制草图
-
inherited stop()
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 189 -
停止绘制草图
-
inherited updateFeature(point, feature)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1900 -
更新feature
Name Type Description pointPoint 待更新的位置
featureFeature 被更新的feature
-
inherited updateVertex(point, index)
sketchEditor/base/drawTools/SketchBaseDrawTool.js, line 1961 -
更新当前草图图形的某个顶点
Name Type Description pointPoint 新的顶点
indexNumber 需更新的顶点的索引值,索引值从0开始