# CircleGeometry

#### new Cesium.CircleGeometry(options)
engine/Source/Core/CircleGeometry.js 39

A description of a circle on the ellipsoid. Circle geometry can be rendered with both `Primitive` and `GroundPrimitive`.

Name | Type | Description
--- | --- | ---
`options` | object | Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`center` | Cartesian3 |  | The circle's center point in the fixed frame.
`radius` | number |  | The radius in meters.
`ellipsoid` | Ellipsoid | `Ellipsoid.default` | optional The ellipsoid the circle will be on.
`height` | number | `0.0` | optional The distance in meters between the circle and the ellipsoid surface.
`granularity` | number | `0.02` | optional The angular distance between points on the circle in radians.
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.
`extrudedHeight` | number | `0.0` | optional The distance in meters between the circle's extruded face and the ellipsoid surface.
`stRotation` | number | `0.0` | optional The rotation of the texture coordinates, in radians. A positive rotation is counter-clockwise.

##### Throws:

- DeveloperError : radius must be greater than zero.
- DeveloperError : granularity must be greater than zero.

##### Example:

    // Create a circle.
    const circle = new Cesium.CircleGeometry({
      center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
      radius : 100000.0
    });
    const geometry = Cesium.CircleGeometry.createGeometry(circle);

##### See:

- CircleGeometry.createGeometry
- Packable

### Members

#### static Cesium.CircleGeometry.packedLength : number
engine/Source/Core/CircleGeometry.js 67

The number of elements used to pack the object into an array.

### Methods

#### static Cesium.CircleGeometry.createGeometry(circleGeometry) → Geometry|undefined
engine/Source/Core/CircleGeometry.js 157

Computes the geometric representation of a circle on an ellipsoid, including its vertices, indices, and a bounding sphere.

Name | Type | Description
--- | --- | ---
`circleGeometry` | CircleGeometry | A description of the circle.

##### Returns:

The computed vertices and indices.

#### static Cesium.CircleGeometry.pack(value, array, startingIndex) → Array.<number>
engine/Source/Core/CircleGeometry.js 78

Stores the provided instance into the provided array.

Name | Type | Default | Description
--- | --- | --- | ---
`value` | CircleGeometry |  | The value to pack.
`array` | Array.<number> |  | The array to pack into.
`startingIndex` | number | `0` | optional The index into the array at which to start packing the elements.

##### Returns:

The array that was packed into

#### static Cesium.CircleGeometry.unpack(array, startingIndex, result) → CircleGeometry
engine/Source/Core/CircleGeometry.js 112

Retrieves an instance from a packed array.

Name | Type | Default | Description
--- | --- | --- | ---
`array` | Array.<number> |  | The packed array.
`startingIndex` | number | `0` | optional The starting index of the element to be unpacked.
`result` | CircleGeometry |  | optional The object into which to store the result.

##### Returns:

The modified result parameter or a new CircleGeometry instance if one was not provided.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.