# EllipsoidTangentPlane

#### new Cesium.EllipsoidTangentPlane(origin, ellipsoid)
Core/EllipsoidTangentPlane.js 47

  A plane tangent to the provided ellipsoid at the provided origin. If origin is not on the surface of the ellipsoid, it's surface projection will be used. If origin is at the center of the ellipsoid, an exception will be thrown.

  Name | Type | Default | Description
  --- | --- | --- | ---
  `origin` | Cartesian3 |  | The point on the surface of the ellipsoid where the tangent plane touches.
  `ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional The ellipsoid to use.

  ##### Throws:

  - DeveloperError : origin must not be at the center of the ellipsoid.

### Members

#### ellipsoid : Ellipsoid
Core/EllipsoidTangentPlane.js 79

  Gets the ellipsoid.

#### origin : Cartesian3
Core/EllipsoidTangentPlane.js 90

  Gets the origin.

#### readonlyplane : Plane
Core/EllipsoidTangentPlane.js 102

  Gets the plane which is tangent to the ellipsoid.

#### readonlyxAxis : Cartesian3
Core/EllipsoidTangentPlane.js 114

  Gets the local X-axis (east) of the tangent plane.

#### readonlyyAxis : Cartesian3
Core/EllipsoidTangentPlane.js 126

  Gets the local Y-axis (north) of the tangent plane.

### Methods

#### staticCesium.EllipsoidTangentPlane.fromPoints(ellipsoid, cartesians)
Core/EllipsoidTangentPlane.js 153

  Creates a new instance from the provided ellipsoid and the center point of the provided Cartesians.

  Name | Type | Description
  --- | --- | ---
  `ellipsoid` | Ellipsoid | The ellipsoid to use.
  `cartesians` | Cartesian3 | The list of positions surrounding the center point.

#### projectPointOntoPlane(cartesian, result) → Cartesian2
Core/EllipsoidTangentPlane.js 174

  Computes the projection of the provided 3D position onto the 2D plane, radially outward from the `EllipsoidTangentPlane.ellipsoid` coordinate system origin.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The point to project.
  `result` | Cartesian2 | optional The object onto which to store the result.

  ##### Returns:

  The modified result parameter or a new Cartesian2 instance if none was provided. Undefined if there is no intersection point

#### projectPointsOntoEllipsoid(cartesians, result) → Array.<Cartesian3>
Core/EllipsoidTangentPlane.js 313

  Computes the projection of the provided 2D positions onto the 3D ellipsoid.

  Name | Type | Description
  --- | --- | ---
  `cartesians` | Array.<Cartesian2> | The array of points to project.
  `result` | Array.<Cartesian3> | optional The array of Cartesian3 instances onto which to store results.

  ##### Returns:

  The modified result parameter or a new array of Cartesian3 instances if none was provided.

#### projectPointsOntoPlane(cartesians, result) → Array.<Cartesian2>
Core/EllipsoidTangentPlane.js 216

  Computes the projection of the provided 3D positions onto the 2D plane (where possible), radially outward from the global origin. The resulting array may be shorter than the input array - if a single projection is impossible it will not be included.

  Name | Type | Description
  --- | --- | ---
  `cartesians` | Array.<Cartesian3> | The array of points to project.
  `result` | Array.<Cartesian2> | optional The array of Cartesian2 instances onto which to store results.

  ##### Returns:

  The modified result parameter or a new array of Cartesian2 instances if none was provided.

  ##### See:

  - EllipsoidTangentPlane.projectPointOntoPlane

#### projectPointsToNearestOnPlane(cartesians, result) → Array.<Cartesian2>
Core/EllipsoidTangentPlane.js 286

  Computes the projection of the provided 3D positions onto the 2D plane, along the plane normal.

  Name | Type | Description
  --- | --- | ---
  `cartesians` | Array.<Cartesian3> | The array of points to project.
  `result` | Array.<Cartesian2> | optional The array of Cartesian2 instances onto which to store results.

  ##### Returns:

  The modified result parameter or a new array of Cartesian2 instances if none was provided. This will have the same length as `cartesians`.

  ##### See:

  - EllipsoidTangentPlane.projectPointToNearestOnPlane

#### projectPointToNearestOnPlane(cartesian, result) → Cartesian2
Core/EllipsoidTangentPlane.js 247

  Computes the projection of the provided 3D position onto the 2D plane, along the plane normal.

  Name | Type | Description
  --- | --- | ---
  `cartesian` | Cartesian3 | The point to project.
  `result` | Cartesian2 | optional The object onto which to store the result.

  ##### Returns:

  The modified result parameter or a new Cartesian2 instance if none was provided.