Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids.
- Source:
Methods
(static) grazingAltitudeLocation(ray, ellipsoid) → {Cartesian3}
Provides the point along the ray which is nearest to the ellipsoid.
Parameters:
Name | Type | Description |
---|---|---|
ray |
Ray | The ray. |
ellipsoid |
Ellipsoid | The ellipsoid. |
- Source:
Returns:
The nearest planetodetic point on the ray.
- Type
- Cartesian3
(static) lineSegmentPlane(endPoint0, endPoint1, plane, resultopt) → {Cartesian3}
Computes the intersection of a line segment and a plane.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
endPoint0 |
Cartesian3 | An end point of the line segment. | |
endPoint1 |
Cartesian3 | The other end point of the line segment. | |
plane |
Plane | The plane. | |
result |
Cartesian3 |
<optional> |
The object onto which to store the result. |
- Source:
Returns:
The intersection point or undefined if there is no intersection.
- Type
- Cartesian3
Example
var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
var normal = ellipsoid.geodeticSurfaceNormal(origin);
var plane = Cesium.Plane.fromPointNormal(origin, normal);
var p0 = new Cesium.Cartesian3(...);
var p1 = new Cesium.Cartesian3(...);
// find the intersection of the line segment from p0 to p1 and the tangent plane at origin.
var intersection = Cesium.IntersectionTests.lineSegmentPlane(p0, p1, plane);
(static) rayEllipsoid(ray, ellipsoid) → {Object}
Computes the intersection points of a ray with an ellipsoid.
Parameters:
Name | Type | Description |
---|---|---|
ray |
Ray | The ray. |
ellipsoid |
Ellipsoid | The ellipsoid. |
- Source:
Returns:
An object with the first (
start
) and the second (stop
) intersection scalars for points along the ray or undefined if there are no intersections.
- Type
- Object
(static) rayPlane(ray, plane, resultopt) → {Cartesian3}
Computes the intersection of a ray and a plane.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
ray |
Ray | The ray. | |
plane |
Plane | The plane. | |
result |
Cartesian3 |
<optional> |
The object onto which to store the result. |
- Source:
Returns:
The intersection point or undefined if there is no intersections.
- Type
- Cartesian3
(static) trianglePlaneIntersection(p0, p1, p2, plane) → {Object}
Computes the intersection of a triangle and a plane
Parameters:
Name | Type | Description |
---|---|---|
p0 |
Cartesian3 | First point of the triangle |
p1 |
Cartesian3 | Second point of the triangle |
p2 |
Cartesian3 | Third point of the triangle |
plane |
Plane | Intersection plane |
- Source:
Returns:
An object with properties
positions
and indices
, which are arrays that represent three triangles that do not cross the plane. (Undefined if no intersection exists)
- Type
- Object
Example
var origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
var normal = ellipsoid.geodeticSurfaceNormal(origin);
var plane = Cesium.Plane.fromPointNormal(origin, normal);
var p0 = new Cesium.Cartesian3(...);
var p1 = new Cesium.Cartesian3(...);
var p2 = new Cesium.Cartesian3(...);
// convert the triangle composed of points (p0, p1, p2) to three triangles that don't cross the plane
var triangles = Cesium.IntersectionTests.trianglePlaneIntersection(p0, p1, p2, plane);