PolylinePipeline
DOC_TBA
Source:
Methods
-
<static> removeDuplicates
-
Removes adjacent duplicate positions in an array of positions.
Parameters:
Name Type Description positions
Array The array of {Cartesian3} positions. Throws:
DeveloperError : positions is required.Returns:
Array A new array of positions with no adjacent duplicate positions. Positions are shallow copied.Example
// Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0)] var positions = [ new Cartesian3(1.0, 1.0, 1.0), new Cartesian3(1.0, 1.0, 1.0), new Cartesian3(2.0, 2.0, 2.0)]; var nonDuplicatePositions = PolylinePipeline.removeDuplicates(positions);
-
<static> scaleToGeodeticHeight
-
Raises the positions to the given height.
Parameters:
Name Type Argument Default Description positions
Array The array of type {Number} representing positions. height
Number | Array A number or array of numbers representing the heights of each position. ellipsoid
Ellipsoid <optional>
Ellipsoid.WGS84 The ellipsoid on which the positions lie. result
Array <optional>
An array to place the resultant positions in. Throws:
-
DeveloperError : positions must be defined.
-
DeveloperError : height must be defined.
-
DeveloperError : result.length must be equal to positions.length
-
DeveloperError : height.length must be equal to positions.length
Returns:
Array The array of positions scaled to height.Example
var p1 = ellipsoid.cartographicToCartesian(Cartographic.fromDegrees(-105.0, 40.0)); var p2 = ellipsoid.cartographicToCartesian(Cartographic.fromDegrees(-100.0, 38.0)); var positions = [p1.x, p1.y, p1.z, p2.x, p2.y, p2.z]; var heights = [1000, 1000, 2000, 2000]; var raisedPositions = PolylinePipeline.scaleToGeodeticHeight(positions, heights);
-
-
<static> scaleToSurface
-
Subdivides polyline and raises all points to the ellipsoid surface
Parameters:
Name Type Argument Default Description positions
Array The array of positions of type {Cartesian3}. granularity
Number <optional>
CesiumMath.RADIANS_PER_DEGREE The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer. ellipsoid
Ellipsoid <optional>
Ellipsoid.WGS84 The ellipsoid on which the positions lie. Throws:
DeveloperError : positions is requiredReturns:
Array A new array of positions of type {Number} that have been subdivided and raised to the surface of the ellipsoid.Example
var positions = ellipsoid.cartographicArrayToCartesianArray([ Cartographic.fromDegrees(-105.0, 40.0), Cartographic.fromDegrees(-100.0, 38.0), Cartographic.fromDegrees(-105.0, 35.0), Cartographic.fromDegrees(-100.0, 32.0) ])); var surfacePositions = PolylinePipeline.scaleToSurface(positions);
-
<static> wrapLongitude
-
Breaks a Polyline into segments such that it does not cross the ±180 degree meridian of an ellipsoid.
Parameters:
Name Type Argument Default Description positions
Array The polyline's Cartesian positions. modelMatrix
Matrix4 <optional>
Matrix4.IDENTITY The polyline's model matrix. Assumed to be an affine transformation matrix, where the upper left 3x3 elements are a rotation matrix, and the upper three elements in the fourth column are the translation. The bottom row is assumed to be [0, 0, 0, 1]. The matrix is not verified to be in the proper form. Returns:
Object An object with apositions
property that is an array of positions and asegments
property.Example
var polylines = new PolylineCollection(); var polyline = polylines.add(...); var positions = polyline.getPositions(); var modelMatrix = polylines.modelMatrix; var segments = PolylinePipeline.wrapLongitude(positions, modelMatrix);
- PolygonPipeline.wrapLongitude
- Polyline
- PolylineCollection
See: