geomext~BezierCurveArrow(points, arrowLength)

贝塞尔曲线箭头

Summary

Methods:
getBBox

获取贝塞尔曲线箭头的三维包围盒

getCoordSeqs

获取贝塞尔曲线箭头的坐标序列数组

getLines

获取贝塞尔曲线箭头中所有的线状几何体对象

getType

获取几何体类型

setCtrlPoints

重新设置贝塞尔曲线箭头的控制点。

toMultiLine

将贝塞尔曲线箭头转为多线几何

Constructor

new BezierCurveArrow(points, arrowLength)

使用点几何体作为控制点构造贝塞尔曲线箭头,控制点数量不少于2,且不可以重复。

Parameters:
Name Type Description
points Array.<module:geom~Point>

点几何体数组,数组长度小于2或非数组类型,则抛出构造异常。

arrowLength Number

箭头的长度,地图单位,默认为曲线末尾两点长度的1/10。

Throws:
RangeError | TypeError -

数组长度小于2或非数组类型,则抛出构造异常。

Example
let point1 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,30,0));
let point2 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,30,0));
let bezierArrowGeom = new hmap.geomext.BezierCurveArrow([point1,point2]);

Methods

getBBox() → {module:basetype~BBox}

获取贝塞尔曲线箭头的三维包围盒

Returns:
module:basetype~BBox -

返回三维包围盒

getCoordSeqs() → {Array.<module:basetype~CoordSeq>}

获取贝塞尔曲线箭头的坐标序列数组

Returns:
Array.<module:basetype~CoordSeq> -

坐标序列数组

Example
let coordSeqs = bezierArrowGeom.getCoordSeqs();

getLines() → {Array.<module:geom~Line>}

获取贝塞尔曲线箭头中所有的线状几何体对象

Returns:
Array.<module:geom~Line> -

线状几何体的数组

Example
let lines = bezierArrowGeom.getLines();

getType() → {String}

获取几何体类型

Returns:
String -

hmap拓展的几何类型,参见module:geom~GeometryExtType

Example
let type = bezierArrowGeom.getType();

setCtrlPoints(points)

重新设置贝塞尔曲线箭头的控制点。

Parameters:
Name Type Description
points Array.<module:geom~Point>

点几何体数组,数组长度小于2或非数组类型,则抛出构造异常。

Throws:
RangeError | TypeError -

数组长度小于2或非数组类型,则抛出构造异常。

Example
let point1 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,30,0));
 let point2 = new hmap.geom.Point(new hmap.basetype.Coordinate(120,31,0));
 bezierArrowGeom.setCtrlPoints([point1,point2]);

toMultiLine() → {module:geom~MultiLine}

将贝塞尔曲线箭头转为多线几何

Returns:
module:geom~MultiLine -

多线几何

Example
let multiLine = bezierArrowGeom.toMultiLine();