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:

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 vectornormal () const
 Return the plane normal. More...
 
const pointrefPoint () 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 &)
 
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

◆ side

enum side

Side of the plane.

Enumerator
NORMAL 
FLIP 

Definition at line 65 of file plane.H.

Constructor & Destructor Documentation

◆ plane() [1/6]

plane ( const vector normalVector)
explicit

Construct from normal vector through the origin.

Definition at line 80 of file plane.C.

◆ plane() [2/6]

plane ( const point basePoint,
const vector normalVector 
)

Construct from normal vector and point in plane.

Definition at line 87 of file plane.C.

◆ plane() [3/6]

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

Construct from three points in plane.

Definition at line 106 of file plane.C.

◆ plane() [4/6]

plane ( const scalar  a,
const scalar  b,
const scalar  c,
const scalar  d 
)
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.

◆ plane() [5/6]

plane ( const dictionary planeDict)
explicit

◆ plane() [6/6]

plane ( Istream is)
explicit

Construct from Istream.

Definition at line 187 of file plane.C.

Member Function Documentation

◆ valid()

bool valid ( ) const
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.

◆ normal()

const vector& normal ( ) const
inline

Return the plane normal.

Definition at line 173 of file plane.H.

Referenced by geomCellLooper::cut(), and plane::planeIntersect().

Here is the caller graph for this function:

◆ refPoint()

const point& refPoint ( ) const
inline

Return the plane base point.

Definition at line 179 of file plane.H.

Referenced by plane::planeIntersect().

Here is the caller graph for this function:

◆ planeCoeffs()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ aPoint()

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().

Here is the call graph for this function:

◆ nearestPoint()

Foam::point nearestPoint ( const point p) const

Return nearest point in the plane for the given point.

Definition at line 310 of file plane.C.

References p.

◆ distance()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ signedDistance()

Foam::scalar signedDistance ( const point p) const

Return signed distance from the given point to the plane.

Definition at line 322 of file plane.C.

References p.

◆ normalIntersect() [1/2]

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

References Foam::mag().

Referenced by plane::lineIntersect(), and plane::normalIntersect().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalIntersect() [2/2]

scalar normalIntersect ( const ray r) const
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().

Here is the call graph for this function:

◆ lineIntersect()

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 212 of file plane.H.

References plane::normalIntersect(), line< Point, PointRef >::start(), and line< Point, PointRef >::vec().

Referenced by slidingInterface::modifyMotionPoints(), and Foam::selectCutEdges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ planeIntersect()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ planePlaneIntersect()

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().

Here is the call graph for this function:

◆ sideOfPlane()

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

References p.

◆ mirror()

Foam::point mirror ( const point p) const

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

Definition at line 439 of file plane.C.

References p.

◆ writeDict()

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().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator==

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

◆ operator!=

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

◆ operator<<

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

Write plane properties.


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