Class Plane

Inheritance Relationships

Base Type

Class Documentation

class Plane : public Surface

A plane given by a point x0 and two axes v1 and v2 with normal n = v1.cross(v2) or the normal n. Note that distance is negative on one side of the plane and positive on the other, depending on the orientation of the normal vector.

Public Functions

Plane(const Vector3d &x0, const Vector3d &v1, const Vector3d &v2)
Plane(const Vector3d &x0, const Vector3d &n)
virtual double distance(const Vector3d &x) const

Returns the distance of a point to the surface. Negative on the one side, positive on the other. For closed surfaces it is negative on the inside.

Parameters:

point – vector corresponding to the point to which compute the distance

virtual Vector3d normal(const Vector3d &point) const

Returns the normal to the surface at a point. Negative on the one side, positive on the other. For closed surfaces it is negative on the inside.

Parameters:

point – vector corresponding to the point to which compute the normal vector

virtual std::string getDescription() const
inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Attributes

mutable size_t _referenceCount