Polygon

Polygon

new

A renderable polygon or hierarchy of polygons.

Example
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

:Ellipsoid

The ellipsoid that the polygon is drawn on.
Default Value:
  • Ellipsoid.WGS84

: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

:Number

The height, in meters, that the polygon is raised above the Polygon#ellipsoid.
Default Value:
  • 0.0

: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(scene.getContext(), Material.StripeType);
Default Value:
  • Material.fromType(undefined, Material.ColorType)
See:

:Boolean

Determines if this primitive will be shown.
Default Value:
  • true

: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

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 have positions.

{
 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)
    ]
  }]
};

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 than isDestroyed 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:

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:

Returns true if this object was destroyed; otherwise, false.

If this object was destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception.

Returns:
Boolean true if this object was destroyed; otherwise, false.
See:

Sets positions that define the boundary of the polygon.

Parameters:
Name Type Description
positions Array The cartesian positions of the polygon.
Throws:
Example
polygon.setPositions([
  ellipsoid.cartographicToCartesian(new Cartographic(...)),
  ellipsoid.cartographicToCartesian(new Cartographic(...)),
  ellipsoid.cartographicToCartesian(new Cartographic(...))
]);
See: