pub struct Plane<S> {
    pub n: Vector3<S>,
    pub d: S,
}
Expand description

A 3-dimensional plane formed from the equation: A*x + B*y + C*z - D = 0.

Fields

  • n: a unit vector representing the normal of the plane where:
    • n.x: corresponds to A in the plane equation
    • n.y: corresponds to B in the plane equation
    • n.z: corresponds to C in the plane equation
  • d: the distance value, corresponding to D in the plane equation

Notes

The A*x + B*y + C*z - D = 0 form is preferred over the other common alternative, A*x + B*y + C*z + D = 0, because it tends to avoid superfluous negations (see Real Time Collision Detection, p. 55).

Copied from: https://github.com/rustgd/collision-rs

Fields

n: Vector3<S>

Plane normal

d: S

Plane distance value

Implementations

Construct a plane from a normal vector and a scalar distance. The plane will be perpendicular to n, and d units offset from the origin.

Constructs a plane that passes through the the three points a, b and c

Construct a plane from a point and a normal vector. The plane will contain the point p and be perpendicular to n.

Returns unsorted intersection points with an Aabb3 Adopted from: https://www.asawicki.info/news_1428_finding_polygon_of_plane-aabb_intersection Inspired by: https://godotengine.org/qa/54688/camera-frustum-intersection-with-plane

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more