Back to class index
Plane[Class Summary]
normal
d
ctor (+6 overloads)
IsDegenerate()[const]
Set(v1,v2,v3) (+1 overload)
ReverseNormal()
PointOnPlane()[const]
Point(u,v)[const] (+1 overload)
Translate(offset)
Transform(transform) (+3 overloads)
IsInPositiveDirection(directionVector)[const]
IsOnPositiveSide(point)[const]
ExamineSide(triangle)[const]
AreOnSameSide(p1,p2)[const]
Distance(point)[const] (+4 overloads)
SignedDistance(point)[const] (+11 overloads)
OrthoProjection()[const]
Project(point)[const] (+5 overloads)
ProjectToNegativeHalf(point)[const]
ProjectToPositiveHalf(point)[const]
MirrorMatrix()[const]
Mirror(point)[const]
Refract(...)[const]
ClosestPoint(point)[const] (+2 overloads)
Contains(point,epsilon)[const] (+6 overloads)
SetEquals(plane,epsilon)[const]
Equals(other,epsilon)[const]
BitEquals(other)[const]
IsParallel(plane,epsilon)[const]
DihedralAngle(plane)[const]
Intersects(...)[const] (+14 overloads)
Clip(line)[const] (+3 overloads)
PassesThroughOrigin(epsilon)[const]
GenerateCircle(...)[const]
ToString()[const]
SerializeToString()[const]
SerializeToCodeString()[const]
IntersectLinePlane(...)[static]
FromString(str,outEndStr)[static] (+1 overload)

Plane::Plane

Syntax

Plane::Plane(); [1 line of code]

The default constructor does not initialize any members of this class.

This means that the values of the members normal and d are undefined after creating a new Plane using this default constructor. Remember to assign to them before use.

See Also

normal, d.

Syntax

Plane::Plane(const float4 &normal, float d); [5 lines of code]

Constructs a plane by directly specifying the normal and distance parameters.

Parameters

const float4 &normalThe direction the plane is facing. This vector must have been normalized in advance. floatdThe offset of this plane from the origin. The value -d gives the signed distance of this plane from the origin.

See Also

normal, d.

Syntax

Plane::Plane(const float4 &v1, const float4 &v2, const float4 &v3); [4 lines of code]

Constructs a plane by specifying three points on the plane.

The normal of the plane will point to the halfspace from which the points are observed to be oriented in counter-clockwise order.

Note
The points v1, v2 and v3 must not all lie on the same line.

See Also

Set().

Syntax

Plane::Plane(const float4 &point, const float4 &normal); [4 lines of code]

Constructs a plane by specifying a single point on the plane, and the surface normal.

Parameters

const float4 &normalThe direction the plane is facing. This vector must have been normalized in advance.

See Also

Set().

Syntax

Plane::Plane(const Ray &line, const float4 &normal); [5 lines of code]
Plane::Plane(const Line &line, const float4 &normal); [5 lines of code]
Plane::Plane(const LineSegment &line, const float4 &normal); [5 lines of code]

Constructs a plane by specifying a line that lies on the plane, and the plane normal.

Parameters

const Ray &lineThe line object that is to be contained in the newly constructed plane. const float4 &normalThe direction the plane if facing. This vector must have been normalized in advance. The normal of the line must not be collinear with the direction of this normal. If a line segment is specified, the line segment must not be degenerate.