Geometric class that creates a 2D plane and can return the intersection point between a line and the plane. More...
Classes  
class  ray 
A direction and a reference point. More...  
Public Types  
enum  side { NORMAL , FLIP } 
Side of the plane. More...  
Public Member Functions  
plane (const vector &normalVector)  
Construct from normal vector through the origin. More...  
plane (const point &basePoint, const vector &normalVector)  
Construct from normal vector and point in plane. More...  
plane (const point &point1, const point &point2, const point &point3)  
Construct from three points in plane. More...  
plane (const scalar a, const scalar b, const scalar c, const scalar d)  
Construct from coefficients for the plane equation,. More...  
plane (const dictionary &planeDict)  
Construct from dictionary. More...  
plane (Istream &is)  
Construct from Istream. More...  
bool  valid () const 
Return whether or not this plane is valid. More...  
const vector &  normal () const 
Return the plane normal. More...  
const point &  refPoint () const 
Return the plane base point. More...  
FixedList< scalar, 4 >  planeCoeffs () const 
Return coefficients for the plane equation, ax + by + cz + d = 0. More...  
point  aPoint () const 
Return a point on the plane. More...  
point  nearestPoint (const point &p) const 
Return nearest point in the plane for the given point. More...  
scalar  distance (const point &p) const 
Return distance from the given point to the plane. More...  
scalar  signedDistance (const point &p) const 
Return signed distance from the given point to the plane. More...  
scalar  normalIntersect (const point &pnt0, const vector &dir) const 
Return cut coefficient for plane and line defined by. More...  
scalar  normalIntersect (const ray &r) const 
Return cut coefficient for plane and ray. More...  
template<class Point , class PointRef >  
scalar  lineIntersect (const line< Point, PointRef > &l) const 
Return the cutting point between the plane and. More...  
ray  planeIntersect (const plane &) const 
Return the cutting line between this plane and another. More...  
point  planePlaneIntersect (const plane &, const plane &) const 
Return the cutting point between this plane and two other planes. More...  
side  sideOfPlane (const point &p) const 
Return the side of the plane that the point is on. More...  
point  mirror (const point &p) const 
Mirror the supplied point in the plane. Return the mirrored point. More...  
void  writeDict (Ostream &) const 
Write to dictionary. More...  
Friends  
bool  operator== (const plane &, const plane &) 
bool  operator!= (const plane &, const plane &) 
Ostream &  operator<< (Ostream &, const plane &) 
Write plane properties. More...  
Geometric class that creates a 2D plane and can return the intersection point between a line and the plane.

explicit 
Construct from coefficients for the plane equation,.
ax + by + cz + d = 0
Definition at line 94 of file plane.C.
References b, and Foam::constant::universal::c.

explicit 
Construct from dictionary.
Definition at line 117 of file plane.C.
References Foam::abort(), dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), dictionary::lookupBackwardsCompatible(), VectorSpace< Form, Cmpt, Ncmpts >::max, Foam::nl, Foam::normalised(), and VectorSpace< Form, Cmpt, Ncmpts >::zero.

inline 
Return whether or not this plane is valid.
Definition at line 167 of file plane.H.
References VectorSpace< Form, Cmpt, Ncmpts >::max, and VectorSpace< Form, Cmpt, Ncmpts >::zero.

inline 
Return the plane normal.
Definition at line 173 of file plane.H.
Referenced by geomCellLooper::cut(), and plane::planeIntersect().

inline 
Return the plane base point.
Definition at line 179 of file plane.H.
Referenced by plane::planeIntersect().
Foam::FixedList< Foam::scalar, 4 > planeCoeffs  (  )  const 
Return coefficients for the plane equation, ax + by + cz + d = 0.
Definition at line 196 of file plane.C.
References C, and Foam::mag().
Referenced by plane::planePlaneIntersect().
Foam::point aPoint  (  )  const 
Return a point on the plane.
Definition at line 243 of file plane.C.
References Foam::e, Foam::mag(), x, Vector< Cmpt >::x(), y, Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Foam::point nearestPoint  (  const point &  p  )  const 
Foam::scalar distance  (  const point &  p  )  const 
Return distance from the given point to the plane.
Definition at line 316 of file plane.C.
References Foam::mag(), and p.
Referenced by geomCellLooper::cut().
Foam::scalar signedDistance  (  const point &  p  )  const 
Return cut coefficient for plane and line defined by.
origin and direction
Definition at line 328 of file plane.C.
References Foam::mag().
Referenced by plane::lineIntersect(), and plane::normalIntersect().

inline 
Return cut coefficient for plane and ray.
Definition at line 204 of file plane.H.
References plane::ray::dir(), plane::normalIntersect(), and plane::ray::refPoint().

inline 
Return the cutting point between the plane and.
a line passing through the supplied points
Definition at line 212 of file plane.H.
References plane::normalIntersect(), line< Point, PointRef >::start(), and line< Point, PointRef >::vec().
Referenced by slidingInterface::modifyMotionPoints(), and Foam::selectCutEdges().
Foam::plane::ray planeIntersect  (  const plane &  plane2  )  const 
Return the cutting line between this plane and another.
Returned as direction vector and point line goes through.
Definition at line 341 of file plane.C.
References Foam::mag(), plane::normal(), plane::refPoint(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by searchableSurfacesQueries::findNearest().
Foam::point planePlaneIntersect  (  const plane &  plane2, 
const plane &  plane3  
)  const 
Return the cutting point between this plane and two other planes.
Definition at line 408 of file plane.C.
References b, Foam::inv(), and plane::planeCoeffs().
Foam::plane::side sideOfPlane  (  const point &  p  )  const 
Foam::point mirror  (  const point &  p  )  const 
void writeDict  (  Ostream &  os  )  const 
Write to dictionary.
Definition at line 454 of file plane.C.
References token::BEGIN_BLOCK, Foam::decrIndent(), token::END_BLOCK, Foam::endl(), Foam::incrIndent(), Foam::indent(), Foam::nl, and Foam::writeEntry().