# EllipseGeometry

#### new Cesium.EllipseGeometry(options)
Core/EllipseGeometry.js 913

A description of an ellipse on an ellipsoid. Ellipse 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 ellipse's center point in the fixed frame.
`semiMajorAxis` | Number |  | The length of the ellipse's semi-major axis in meters.
`semiMinorAxis` | Number |  | The length of the ellipse's semi-minor axis in meters.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid the ellipse will be on.
`height` | Number | `0.0` | optional The distance in meters between the ellipse and the ellipsoid surface.
`extrudedHeight` | Number |  | optional The distance in meters between the ellipse's extruded face and the ellipsoid surface.
`rotation` | Number | `0.0` | optional The angle of rotation counter-clockwise from north.
`stRotation` | Number | `0.0` | optional The rotation of the texture coordinates counter-clockwise from north.
`granularity` | Number | `CesiumMath.RADIANS_PER_DEGREE` | optional The angular distance between points on the ellipse in radians.
`vertexFormat` | VertexFormat | `VertexFormat.DEFAULT` | optional The vertex attributes to be computed.

##### Throws:

- DeveloperError : semiMajorAxis and semiMinorAxis must be greater than zero.
- DeveloperError : semiMajorAxis must be greater than or equal to the semiMinorAxis.
- DeveloperError : granularity must be greater than zero.

##### Example:

    // Create an ellipse.
    var ellipse = new Cesium.EllipseGeometry({
      center : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
      semiMajorAxis : 500000.0,
      semiMinorAxis : 300000.0,
      rotation : Cesium.Math.toRadians(60.0)
    });
    var geometry = Cesium.EllipseGeometry.createGeometry(ellipse);

##### See:

- EllipseGeometry.createGeometry

### Members

#### static Cesium.EllipseGeometry.packedLength : Number
Core/EllipseGeometry.js 965

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

### Methods

#### static Cesium.EllipseGeometry.computeRectangle(options, result) → Rectangle
Core/EllipseGeometry.js 1112

Computes the bounding rectangle based on the provided options

Name | Type | Description
--- | --- | ---

`options`

Object

Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`center` | Cartesian3 |  | The ellipse's center point in the fixed frame.
`semiMajorAxis` | Number |  | The length of the ellipse's semi-major axis in meters.
`semiMinorAxis` | Number |  | The length of the ellipse's semi-minor axis in meters.
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid the ellipse will be on.
`rotation` | Number | `0.0` | optional The angle of rotation counter-clockwise from north.
`granularity` | Number | `CesiumMath.RADIANS_PER_DEGREE` | optional The angular distance between points on the ellipse in radians.

`result` | Rectangle | optional An object in which to store the result

##### Returns:

The result rectangle

#### static Cesium.EllipseGeometry.createGeometry(ellipseGeometry) → Geometry|undefined
Core/EllipseGeometry.js 1156

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

Name | Type | Description
--- | --- | ---
`ellipseGeometry` | EllipseGeometry | A description of the ellipse.

##### Returns:

The computed vertices and indices.

#### static Cesium.EllipseGeometry.pack(value, array, startingIndex) → Array.<Number>
Core/EllipseGeometry.js 980

Stores the provided instance into the provided array.

Name | Type | Default | Description
--- | --- | --- | ---
`value` | EllipseGeometry |  | 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.EllipseGeometry.unpack(array, startingIndex, result) → EllipseGeometry
Core/EllipseGeometry.js 1036

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` | EllipseGeometry |  | optional The object into which to store the result.

##### Returns:

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