geomext~BezierCurve2(points)

贝塞尔二次曲线

Summary

Methods:
getBBox

获取二次贝塞尔曲线的三维包围盒

getCoordSeq

获取二次贝塞尔曲线的坐标序列

getLength

计算二次贝塞尔曲线组成点连线的长度

getType

获取几何体类型

setCtrlPoints

重新设置二次贝塞尔曲线的控制点。

toLine

将二次贝塞尔曲线转化为线几何体

Constructor

new BezierCurve2(points)

使用点几何体作为控制点构造一个二次贝塞尔曲线,控制点数量为3,且不可以重复。

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

点几何体数组,数组长度小于3或非数组类型时,则抛出构造异常;当数组长度大于3时,取前3个点几何体作为控制点。

Throws:
RangeError | TypeError -

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

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,31,0));
let point3 = new hmap.geom.Point(new hmap.basetype.Coordinate(121,31,0));
let bezier2Geom = new hmap.geomext.BezierCurve2([point1,point2,point3]);

Methods

getBBox() → {module:basetype~BBox}

获取二次贝塞尔曲线的三维包围盒

Returns:
module:basetype~BBox -

返回三维包围盒

getCoordSeq() → {module:basetype~CoordSeq}

获取二次贝塞尔曲线的坐标序列

Returns:
module:basetype~CoordSeq -

坐标序列

Example
let coordSeq = bezier2Geom.getCoordSeq();

getLength(srid) → {Number}

计算二次贝塞尔曲线组成点连线的长度

Parameters:
Name Type Description
srid String

坐标系类型

Returns:
Number -

线段的三维长度,单位是米。

Example
let length = bezier2Geom.getLength("4326");

getType() → {String}

获取几何体类型

Returns:
String -

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

Example
let type = bezier2Geom.getType();

setCtrlPoints(points)

重新设置二次贝塞尔曲线的控制点。

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

点几何体数组,数组长度小于3或非数组类型时,则抛出构造异常;当数组长度大于3时,取前3个点几何体作为控制点。

Throws:
RangeError | TypeError -

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

Example
let point1 = new hmap.geom.Point(new hmap.basetype.Coordinate(122,30,0));
 let point2 = new hmap.geom.Point(new hmap.basetype.Coordinate(122,31,0));
 let point3 = new hmap.geom.Point(new hmap.basetype.Coordinate(123,31,0));
 bezier2Geom.setCtrlPoints([point1,point2,point3])

toLine() → {module:geom~Line}

将二次贝塞尔曲线转化为线几何体

Returns:
module:geom~Line -

线几何体

Example
let polyline = bezier2Geom.toLine();