Module: IntersectionTests

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);