new Polygon
A renderable polygon or hierarchy of polygons.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
options.ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.WGS84 | The ellipsoid that the polygon is drawn on. |
options.positions |
Array |
<optional> |
undefined | The cartesian positions of the polygon. |
options.polygonHierarchy |
Object |
<optional> |
undefined | An object defining the vertex positions of each nested polygon as defined in Polygon#configureFromPolygonHierarchy. |
options.granularity |
Number |
<optional> |
CesiumMath.RADIANS_PER_DEGREE | The distance, in radians, between each latitude and longitude in the underlying geometry. |
options.height |
Number |
<optional> |
0.0 | The height, in meters, that the extent is raised above the ExtentPrimitive#ellipsoid. |
options.textureRotationAngle |
Number |
<optional> |
0.0 | The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise. |
options.show |
Boolean |
<optional> |
true | Determines if this primitive will be shown. |
options.material |
Material |
<optional> |
undefined | The surface appearance of the primitive. |
options.id |
Object |
<optional> |
undefined | A user-defined object to return when the instance is picked with Scene#pick |
options.asynchronous |
Boolean |
<optional> |
true | Determines if the primitive will be created asynchronously or block until ready. |
options.debugShowBoundingVolume |
Boolean |
<optional> |
false | For debugging only. Determines if the primitive's commands' bounding spheres are shown. |
Throws:
-
DeveloperError : Either options.positions or options.polygonHierarchy can be provided, but not both.
-
DeveloperError : When options.positions is provided, at least three positions are required.
Example
// Example 1 var polygon = new Polygon({ positions : [ ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)) ] }); // Example 2 var polygon = new Polygon(); polygon.material.uniforms.color = { red : 1.0, green : 0.0, blue : 0.0, alpha : 1.0 }; polygon.setPositions([ ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)) ]);
Demo:
Source:
Members
-
asynchronous :Boolean
-
Determines if the geometry instances will be created and batched on a web worker.
- Default Value:
- true
-
debugShowBoundingVolume :Boolean
-
This property is for debugging only; it is not for production use nor is it optimized.
Draws the bounding sphere for each {@see DrawCommand} in the primitive.
- Default Value:
- false
-
ellipsoid :Ellipsoid
-
The ellipsoid that the polygon is drawn on.
- Default Value:
- Ellipsoid.WGS84
-
granularity :Number
-
The distance, in radians, between each latitude and longitude in the underlying geometry. A lower granularity fits the curvature of the Polygon#ellipsoid better, but uses more triangles.
- Default Value:
- CesiumMath.RADIANS_PER_DEGREE
-
height :Number
-
The height, in meters, that the polygon is raised above the Polygon#ellipsoid.
- Default Value:
- 0.0
-
id :Object
-
User-defined object returned when the polygon is picked.
- Default Value:
- undefined
See:
-
material :Material
-
The surface appearance of the primitive. This can be one of several built-in Material objects or a custom material, scripted with Fabric.
The default material is
Material.ColorType
.Example
// 1. Change the color of the default material to yellow polygon.material.uniforms.color = new Color(1.0, 1.0, 0.0, 1.0); // 2. Change material to horizontal stripes polygon.material = Material.fromType( Material.StripeType);
- Default Value:
- Material.fromType(Material.ColorType)
See:
-
show :Boolean
-
Determines if this primitive will be shown.
- Default Value:
- true
-
textureRotationAngle :Number
-
The angle, in radians, relative to north that the polygon's texture is rotated. Positive angles rotate counter-clockwise.
- Default Value:
- 0.0
Methods
-
configureFromPolygonHierarchy
-
Create a set of polygons with holes from a nested hierarchy.
Parameters:
Name Type Description hierarchy
Object An object defining the vertex positions of each nested polygon. For example, the following polygon has two holes, and one hole has a hole. holes
is optional. Leaf nodes only havepositions
.{ positions : [ ... ], // The polygon's outer boundary holes : [ // The polygon's inner holes { positions : [ ... ] }, { positions : [ ... ], holes : [ // A polygon within a hole { positions : [ ... ] } ] } ] }
Throws:
DeveloperError : This object was destroyed, i.e., destroy() was called.Example
// A triangle within a triangle var hierarchy = { positions : [ new Cartesian3(-634066.5629045101, -4608738.034138676, 4348640.761750969), new Cartesian3(-1321523.0597310204, -5108871.981065817, 3570395.2500986718), new Cartesian3(46839.74837473363, -5303481.972379478, 3530933.5841716) ], holes : [{ positions :[ new Cartesian3(-646079.44483647, -4811233.11175887, 4123187.2266941597), new Cartesian3(-1024015.4454943262, -5072141.413164587, 3716492.6173834214), new Cartesian3(-234678.22583880965, -5189078.820849883, 3688809.059214336) ] }] };
-
destroy
-
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other thanisDestroyed
will result in a DeveloperError exception. Therefore, assign the return value (undefined
) to the object as done in the example.Throws:
DeveloperError : This object was destroyed, i.e., destroy() was called.Returns:
Example
polygon = polygon && polygon.destroy();
See:
-
getPositions
-
Returns the positions that define the boundary of the polygon. If Polygon#configureFromPolygonHierarchy was used, this returns
undefined
.Throws:
DeveloperError : This object was destroyed, i.e., destroy() was called.See:
-
isDestroyed
-
Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other thanisDestroyed
will result in a DeveloperError exception.Returns:
Booleantrue
if this object was destroyed; otherwise,false
.See:
-
setPositions
-
Sets positions that define the boundary of the polygon.
Parameters:
Name Type Description positions
Array The cartesian positions of the polygon. Throws:
-
DeveloperError : At least three positions are required.
-
DeveloperError : This object was destroyed, i.e., destroy() was called.
Example
polygon.setPositions([ ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)), ellipsoid.cartographicToCartesian(new Cartographic(...)) ]);
See:
-