Aardvark.Base


Plane3d

A plane represented by a (possibly) normalized normal vector and the distance to the origin. Note that the plane does not enforce the normalized normal vector. Equation for points p on the plane: Normal dot p == Distance

Constructors

ConstructorDescription
new(normalizedNormal, distance)
Signature: (normalizedNormal:V3d * distance:float) -> unit

Creates plane from normal vector and constant. IMPORTANT: The supplied vector has to be normalized in order for all methods to work correctly, however if only relative height computations using the method are necessary, the normal vector need not be normalized.

new(normalizedNormal, point)
Signature: (normalizedNormal:V3d * point:V3d) -> unit

Creates plane from point and normal vector. IMPORTANT: The supplied vector has to be normalized in order for all methods to work correctly, however if only relative height computations using the method are necessary, the normal vector need not be normalized.

new(p0, p1, p2)
Signature: (p0:V3d * p1:V3d * p2:V3d) -> unit

Creates a plane from 3 independent points. A normalized normal vector is computed and stored.

Instance members

Instance memberDescription
BoundingBox3d
Signature: Box3d
Modifiers: abstract

Gets entire double space as bounding box.

Coefficients
Signature: V4d

Returns the coefficients (a, b, c, d) of the normal equation.

Equals(other)
Signature: other:obj -> bool
Modifiers: abstract
GetHashCode()
Signature: unit -> int
Modifiers: abstract
Height(p)
Signature: p:V3d -> float

The signed height of the supplied point over the plane.

IsInvalid
Signature: bool
Modifiers: abstract

Returns true if the normal of the plane is the zero-vector.

IsValid
Signature: bool
Modifiers: abstract

Returns true if the normal of the plane is not the zero-vector.

NearestPoint(x)
Signature: x:V3d -> V3d

Projets the given point x perpendicular on the plane and returns the nearest point on the plane.

Normalize()
Signature: unit -> unit

Calculates the nomalized plane of this .

Normalized
Signature: Plane3d

Returns the normalized as new .

Point()
Signature: unit -> unit

The point on the plane which is closest to the origin.

Reverse()
Signature: unit -> unit

Changes sign of normal vector

Reversed
Signature: Plane3d

Returns with normal vector in opposing direction.

Sign(p)
Signature: p:V3d -> int

The sign of the height of the point over the plane.

ToString()
Signature: unit -> string
Modifiers: abstract
Transformed(trafo)
Signature: trafo:Trafo3d -> Plane3d

Transforms the plane with a given trafo using the inverse transposed matrix.

Transformed(trafo)
Signature: trafo:M44d -> Plane3d

Transforms the plane with a given matrix. The matrix is assumed to be the inverse transpose of the transformation. The returned plane also gets normalized.

Static members

Static memberDescription
op_Equality(a, b)
Signature: (a:Plane3d * b:Plane3d) -> bool
op_Inequality(a, b)
Signature: (a:Plane3d * b:Plane3d) -> bool
Parse(s)
Signature: s:string -> Plane3d
Fork me on GitHub