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)

Constructor The plane is constructed from the given point x0 along the two axes v1 and v2

Parameters:
  • x0 – Point where to start construction

  • v1 – First axis of plane

  • v2 – Second axis of plane

Plane(const Vector3d &x0, const Vector3d &n)

Constructor The plane is constucted from the given point x0 perpendicular on the normal n

Parameters:
  • x0 – Point where to start construction

  • n – Normal

virtual double distance(const Vector3d &x) const

The distance is calculated with the normal n: return n.dot(x-x0);

virtual Vector3d normal(const Vector3d &point = Vector3d(0, 0, 0)) const

returns the normal of the plain independent of the point

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