A geometry representation with attributes forming vertices and optional index data
defining primitives.  Geometries and an 
    
Appearance, which describes the shading,
can be assigned to a Primitive for visualization.  A Primitive can
be created from many heterogeneous - in many cases - geometries for performance.
Geometries can be transformed and optimized using functions in GeometryPipeline.
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| options | Object | Object with the following properties: 
 | 
Example:
// Create geometry with a position attribute and indexed lines.
const positions = new Float64Array([
  0.0, 0.0, 0.0,
  7500000.0, 0.0, 0.0,
  0.0, 7500000.0, 0.0
]);
const geometry = new Cesium.Geometry({
  attributes : {
    position : new Cesium.GeometryAttribute({
      componentDatatype : Cesium.ComponentDatatype.DOUBLE,
      componentsPerAttribute : 3,
      values : positions
    })
  },
  indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
  primitiveType : Cesium.PrimitiveType.LINES,
  boundingSphere : Cesium.BoundingSphere.fromVertices(positions)
});Demo:
See:
Members
attributes : GeometryAttributes
    Attributes, which make up the geometry's vertices.  Each property in this object corresponds to a
GeometryAttribute containing the attribute's data.
Attributes are always stored non-interleaved in a Geometry.
There are reserved attribute names with well-known semantics.  The following attributes
are created by a Geometry (depending on the provided VertexFormat.
- position- 3D vertex position. 64-bit floating-point (for precision). 3 components per attribute. See- VertexFormat#position.
- normal- Normal (normalized), commonly used for lighting. 32-bit floating-point. 3 components per attribute. See- VertexFormat#normal.
- st- 2D texture coordinate. 32-bit floating-point. 2 components per attribute. See- VertexFormat#st.
- bitangent- Bitangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See- VertexFormat#bitangent.
- tangent- Tangent (normalized), used for tangent-space effects like bump mapping. 32-bit floating-point. 3 components per attribute. See- VertexFormat#tangent.
The following attribute names are generally not created by a Geometry, but are added
to a Geometry by a Primitive or GeometryPipeline functions to prepare
the geometry for rendering.
- position3DHigh- High 32 bits for encoded 64-bit position computed with- GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.
- position3DLow- Low 32 bits for encoded 64-bit position computed with- GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.
- position3DHigh- High 32 bits for encoded 64-bit 2D (Columbus view) position computed with- GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.
- position2DLow- Low 32 bits for encoded 64-bit 2D (Columbus view) position computed with- GeometryPipeline.encodeAttribute. 32-bit floating-point. 4 components per attribute.
- color- RGBA color (normalized) usually from- GeometryInstance#color. 32-bit floating-point. 4 components per attribute.
- pickColor- RGBA color used for picking. 32-bit floating-point. 4 components per attribute.
- 
    
    
    
    
    
    
    
    
    Default Value:
    
undefined
    
    
        Example:
geometry.attributes.position = new Cesium.GeometryAttribute({
  componentDatatype : Cesium.ComponentDatatype.FLOAT,
  componentsPerAttribute : 3,
  values : new Float32Array(0)
});See:
boundingSphere : BoundingSphere
    An optional bounding sphere that fully encloses the geometry.  This is
commonly used for culling.
- 
    
    
    
    
    
    
    
    
    Default Value:
    
undefined
    
    
    
    
    
    
    
    Optional index data that - along with 
Geometry#primitiveType -
determines the primitives in the geometry.
- 
    
    
    
    
    
    
    
    
    Default Value:
    
undefined
    
    
    
    
    
    
    
primitiveType : PrimitiveType
    The type of primitives in the geometry.  This is most often 
PrimitiveType.TRIANGLES,
but can varying based on the specific geometry.
- 
    
    
    
    
    
    
    
    
    Default Value:
    
undefined
    
    
    
    
    
    
    
Methods
    Computes the number of vertices in a geometry.  The runtime is linear with
respect to the number of attributes in a vertex, not the number of vertices.
    
| Name | Type | Description | 
|---|---|---|
| geometry | Geometry | The geometry. | 
Returns:
    The number of vertices in the geometry.
    
Example:
const numVertices = Cesium.Geometry.computeNumberOfVertices(geometry);