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 95 of file plane.C.
References b, and Foam::constant::universal::c.
|
explicit |
Construct from dictionary.
Definition at line 118 of file plane.C.
References Foam::abort(), dict, Foam::dimLength, Foam::dimless, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), dictionary::lookupBackwardsCompatible(), VectorSpace< Form, Cmpt, Ncmpts >::max, Foam::nl, Foam::normalised(), Foam::unitNone, 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 199 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 246 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 319 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 331 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 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 344 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 411 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 457 of file plane.C.
References token::BEGIN_BLOCK, Foam::decrIndent(), token::END_BLOCK, Foam::endl(), Foam::incrIndent(), Foam::indent(), Foam::nl, and Foam::writeEntry().