Class ParaxialBox

Inheritance Relationships

Base Type

Class Documentation

class ParaxialBox : public Surface

A box with perpendicular surfaces aligned to the x,y,z-axes.

Public Functions

ParaxialBox(const Vector3d &corner, const Vector3d &size)

Constructor

Parameters:
  • corner – The Box will stretch beginning from corner in positive x,y,z direction

  • size – The size of the box (all sides are equal)

virtual double distance(const Vector3d &point) const

Return distance to the Box for given point.

virtual Vector3d normal(const Vector3d &point) const

Return normal to the closest surface for given 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