Class Surface
Defined in File Geometry.h
Inheritance Relationships
Base Type
public Referenced
(Class Referenced)
Derived Types
public ParaxialBox
(Class ParaxialBox)public Plane
(Class Plane)public Sphere
(Class Sphere)
Class Documentation
-
class Surface : public Referenced
A geometrical surface.
Defines a surface. Can be queried if the candidate has crossed the surface in the last step.
Subclassed by ParaxialBox, Plane, Sphere
Public Functions
-
virtual double distance(const Vector3d &point) const = 0
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 = 0
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
-
inline 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
-
virtual double distance(const Vector3d &point) const = 0