Hermes
Loading...
Searching...
No Matches
hermes::ImplicitPlane2D Class Reference

#include <plane.h>

+ Inheritance diagram for hermes::ImplicitPlane2D:

Public Member Functions

 ImplicitPlane2D ()
 default_color constructor
 
 ImplicitPlane2D (normal2 n, real_t o)
 
 ImplicitPlane2D (point2 p, normal2 n)
 
vec2 project (const vec2 &v) const
 projects v on plane
 
vec2 reflect (const vec2 &v) const
 reflects v fron plane
 
point2 closestPoint (const point2 &p) const override
 
normal2 closestNormal (const point2 &p) const override
 
bbox2 boundingBox () const override
 
void closestIntersection (const Ray2 &r, CurveRayIntersection *i) const override
 
double signedDistance (const point2 &p) const override
 
- Public Member Functions inherited from hermes::CurveInterface
virtual bool intersects (const Ray2 &r) const
 
virtual real_t closestDistance (const point2 &p) const
 

Public Attributes

normal2 normal
 
real_t offset
 

Friends

std::ostream & operator<< (std::ostream &os, const ImplicitPlane2D &p)
 

Detailed Description

Implements the equation normal X = offset.

Constructor & Destructor Documentation

◆ ImplicitPlane2D()

hermes::ImplicitPlane2D::ImplicitPlane2D ( normal2  n,
real_t  o 
)
inline

Constructor

Parameters
n[in] normal
o[in] offset

Member Function Documentation

◆ boundingBox()

bbox2 hermes::ImplicitPlane2D::boundingBox ( ) const
inlineoverridevirtual

◆ closestIntersection()

void hermes::ImplicitPlane2D::closestIntersection ( const Ray2 r,
CurveRayIntersection i 
) const
inlineoverridevirtual

◆ closestNormal()

normal2 hermes::ImplicitPlane2D::closestNormal ( const point2 p) const
inlineoverridevirtual

◆ closestPoint()

point2 hermes::ImplicitPlane2D::closestPoint ( const point2 p) const
inlineoverridevirtual

◆ project()

vec2 hermes::ImplicitPlane2D::project ( const vec2 v) const
inline

projects v on plane

Parameters
v
Returns
projected v

◆ reflect()

vec2 hermes::ImplicitPlane2D::reflect ( const vec2 v) const
inline

reflects v fron plane

Parameters
v
Returns
reflected v

◆ signedDistance()

double hermes::ImplicitPlane2D::signedDistance ( const point2 p) const
inlineoverridevirtual

The documentation for this class was generated from the following file: