Classes | Public Types | Public Member Functions | Friends | List of all members
plane Class Reference

Geometric class that creates a 2D plane and can return the intersection point between a line and the plane. More...

Inheritance diagram for plane:
Inheritance graph
[legend]

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 scalarList &C)
 Construct from coefficients for the. More...
 
 plane (const dictionary &planeDict)
 Construct from dictionary. More...
 
 plane (Istream &is)
 Construct from Istream. Assumes the base + normal notation. More...
 
const vectornormal () const
 Return plane normal. More...
 
const pointrefPoint () const
 Return or return plane base point. More...
 
FixedList< scalar, 4 > planeCoeffs () const
 Return coefficients for the. 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 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 &)
 
Ostreamoperator<< (Ostream &, const plane &)
 Write plane properties. More...
 

Detailed Description

Geometric class that creates a 2D plane and can return the intersection point between a line and the plane.

Source files

Definition at line 60 of file plane.H.

Member Enumeration Documentation

enum side

Side of the plane.

Enumerator
NORMAL 
FLIP 

Definition at line 65 of file plane.H.

Constructor & Destructor Documentation

plane ( const vector normalVector)

Construct from normal vector through the origin.

Definition at line 112 of file plane.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and Foam::mag().

Referenced by plane::ray::dir(), and plane::plane().

Here is the call graph for this function:

Here is the caller graph for this function:

plane ( const point basePoint,
const vector normalVector 
)

Construct from normal vector and point in plane.

Definition at line 132 of file plane.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and Foam::mag().

Here is the call graph for this function:

plane ( const point point1,
const point point2,
const point point3 
)

Construct from three points in plane.

Definition at line 159 of file plane.C.

plane ( const scalarList C)

Construct from coefficients for the.

plane equation: ax + by + cz + d = 0

Definition at line 152 of file plane.C.

References plane::plane().

Here is the call graph for this function:

plane ( const dictionary planeDict)

Construct from dictionary.

Definition at line 169 of file plane.C.

References Foam::abort(), C, Foam::FatalIOError, FatalIOErrorInFunction, dictionary::lookup(), Foam::mag(), Foam::nl, Foam::readScalar(), and dictionary::subDict().

Here is the call graph for this function:

plane ( Istream is)

Construct from Istream. Assumes the base + normal notation.

Definition at line 218 of file plane.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and Foam::mag().

Here is the call graph for this function:

Member Function Documentation

const Foam::vector & normal ( ) const
const Foam::point & refPoint ( ) const

Return or return plane base point.

Definition at line 246 of file plane.C.

Referenced by NamedEnum< Enum, nEnum >::names(), tetrahedron< Point, PointRef >::storeOp::operator()(), plane::planeIntersect(), cuttingPlane::reCut(), and searchablePlane::size().

Here is the caller graph for this function:

Foam::FixedList< Foam::scalar, 4 > planeCoeffs ( ) const

Return coefficients for the.

plane equation: ax + by + cz + d = 0

Definition at line 252 of file plane.C.

References C, Foam::mag(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Referenced by plane::ray::dir(), and plane::planePlaneIntersect().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::point nearestPoint ( const point p) const

Return nearest point in the plane for the given point.

Definition at line 299 of file plane.C.

Referenced by plane::ray::dir(), and plane::mirror().

Here is the caller graph for this function:

Foam::scalar distance ( const point p) const

Return distance from the given point to the plane.

Definition at line 305 of file plane.C.

References Foam::mag(), and plane::normalIntersect().

Referenced by geomCellLooper::cut(), plane::ray::dir(), and plane::mirror().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar normalIntersect ( const point pnt0,
const vector dir 
) const

Return cut coefficient for plane and line defined by.

origin and direction

Definition at line 312 of file plane.C.

References Foam::stabilise().

Referenced by plane::ray::dir(), plane::distance(), plane::lineIntersect(), and plane::normalIntersect().

Here is the call graph for this function:

Here is the caller graph for this function:

scalar normalIntersect ( const ray r) const
inline

Return cut coefficient for plane and ray.

Definition at line 172 of file plane.H.

References plane::ray::dir(), plane::normalIntersect(), and plane::ray::refPoint().

Here is the call graph for this function:

scalar lineIntersect ( const line< Point, PointRef > &  l) const
inline

Return the cutting point between the plane and.

a line passing through the supplied points

Definition at line 180 of file plane.H.

References plane::mirror(), plane::normalIntersect(), plane::operator!=, plane::operator<<, plane::operator==, plane::planeIntersect(), plane::planePlaneIntersect(), plane::sideOfPlane(), line< Point, PointRef >::start(), line< Point, PointRef >::vec(), and plane::writeDict().

Referenced by slidingInterface::modifyMotionPoints().

Here is the call graph for this function:

Here is the caller graph for this function:

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 323 of file plane.C.

References Foam::mag(), plane::normal(), plane::planePlaneIntersect(), plane::refPoint(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Referenced by plane::lineIntersect(), and listPlusEqOp< T >::operator()().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::point planePlaneIntersect ( const plane plane2,
const plane plane3 
) const

Return the cutting point between this plane and two other planes.

Definition at line 391 of file plane.C.

References Foam::constant::physicoChemical::b, Foam::inv(), and plane::planeCoeffs().

Referenced by plane::lineIntersect(), listPlusEqOp< T >::operator()(), and plane::planeIntersect().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::plane::side sideOfPlane ( const point p) const

Return the side of the plane that the point is on.

If the point is on the plane, then returns NORMAL.

Definition at line 413 of file plane.C.

References plane::FLIP, and plane::NORMAL.

Referenced by plane::lineIntersect().

Here is the caller graph for this function:

Foam::point mirror ( const point p) const

Mirror the supplied point in the plane. Return the mirrored point.

Definition at line 421 of file plane.C.

References plane::distance(), plane::nearestPoint(), and plane::normal().

Referenced by plane::lineIntersect().

Here is the call graph for this function:

Here is the caller graph for this function:

void writeDict ( Ostream os) const

Write to dictionary.

Definition at line 436 of file plane.C.

References token::BEGIN_BLOCK, Foam::decrIndent(), token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::incrIndent(), Foam::indent(), Foam::nl, and Ostream::writeKeyword().

Referenced by plane::lineIntersect().

Here is the call graph for this function:

Here is the caller graph for this function:

Friends And Related Function Documentation

bool operator== ( const plane ,
const plane  
)
friend

Referenced by plane::lineIntersect().

bool operator!= ( const plane ,
const plane  
)
friend

Referenced by plane::lineIntersect().

Ostream& operator<< ( Ostream ,
const plane  
)
friend

Write plane properties.

Referenced by plane::lineIntersect().


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