geomext~BezierCurve3(points)

贝塞尔三次曲线

Summary

Methods:
getBBox

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

getCoordSeq

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

getLength

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

getType

获取几何体类型

setCtrlPoints

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

toLine

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

Constructor

new BezierCurve3(points)

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

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

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

Throws:
RangeError | TypeError -

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

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

Methods

getBBox() → {module:basetype~BBox}

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

Returns:
module:basetype~BBox -

返回三维包围盒

getCoordSeq() → {module:basetype~CoordSeq}

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

Returns:
module:basetype~CoordSeq -

坐标序列

Example
let coordSeq = bezier3Geom.getCoordSeq();

getLength(srid) → {Number}

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

Parameters:
Name Type Description
srid String

坐标系类型。

Returns:
Number -

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

Example
let length = bezier3Geom.getLength(4326);

getType() → {String}

获取几何体类型

Returns:
String -

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

Example
let type = bezier3Geom.getType();

setCtrlPoints(points)

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

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

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

Throws:
RangeError | TypeError -

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

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));
 let point4 = new hmap.geom.Point(new hmap.basetype.Coordinate(123,32,0));
 bezier3Geom.setCtrlPoints([point1,point2,point3,point4])

toLine() → {module:geom~Line}

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

Returns:
module:geom~Line -

线几何体

Example
let line = bezier3Geom.toLine();