Searching on finite plate. Plate has to be aligned with coordinate axes. Plate defined as origin and span. One of the components of span has to be 0 which defines the normal direction. E.g. More...
#include <meshTools/searchablePlate.H>
Searching on finite plate. Plate has to be aligned with coordinate axes. Plate defined as origin and span. One of the components of span has to be 0 which defines the normal direction. E.g.
span= (Sx Sy 0) // plate in x-y plane origin = (Ox Oy Oz)
now plane is from (Ox Oy Oz) to (Ox+Sx Oy+Sy Oz)
Definition at line 60 of file searchablePlate.H.
Public Member Functions | |
TypeName ("searchablePlate") | |
Runtime type information.
| |
searchablePlate (const IOobject &io, const point &origin, const point &span) | |
Construct from components.
| |
searchablePlate (const IOobject &io, const dictionary &dict) | |
Construct from dictionary (used by searchableSurface)
| |
virtual | ~searchablePlate () |
virtual const wordList & | regions () const |
Names of regions.
| |
virtual bool | hasVolumeType () const |
Whether supports volume type below.
| |
virtual label | size () const |
Range of local indices that can be returned.
| |
virtual pointField | coordinates () const |
Get representative set of element coordinates.
| |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const |
virtual void | findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const |
Find first intersection on segment from start to end.
| |
virtual void | findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const |
Return any intersection on segment from start to end.
| |
virtual void | findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit > > &) const |
Get all intersections in order from start to end.
| |
virtual void | getRegion (const List< pointIndexHit > &, labelList ®ion) const |
From a set of points and indices get the region.
| |
virtual void | getNormal (const List< pointIndexHit > &, vectorField &normal) const |
From a set of points and indices get the normal.
| |
virtual void | getVolumeType (const pointField &, List< volumeType > &) const |
Determine type (inside/outside/mixed) for point. unknown if.
| |
bool | writeData (Ostream &) const |
Pure virtual writaData function.
|
searchablePlate | ( | const IOobject & | io, |
const point & | origin, | ||
const point & | span | ||
) |
Construct from components.
searchablePlate | ( | const IOobject & | io, |
const dictionary & | dict | ||
) |
Construct from dictionary (used by searchableSurface)
Definition at line 233 of file searchablePlate.C.
References Vector< Cmpt >::componentNames, Foam::endl(), and Foam::Info.
~searchablePlate | ( | ) | [virtual]
|
Definition at line 256 of file searchablePlate.C.
TypeName | ( | "searchablePlate" | ) |
Runtime type information.
const Foam::wordList & regions | ( | ) | const [virtual]
|
Names of regions.
Implements searchableSurface.
Definition at line 262 of file searchablePlate.C.
References List< T >::setSize().
virtual bool hasVolumeType | ( | ) | const [inline, virtual]
|
Whether supports volume type below.
Implements searchableSurface.
Definition at line 136 of file searchablePlate.H.
virtual label size | ( | ) | const [inline, virtual]
|
Range of local indices that can be returned.
Implements searchableSurface.
Definition at line 142 of file searchablePlate.H.
virtual pointField coordinates | ( | ) | const [inline, virtual]
|
Get representative set of element coordinates.
Usually the element centres (should be of length size()).
Implements searchableSurface.
Definition at line 149 of file searchablePlate.H.
void findNearest | ( | const pointField & | sample, |
const scalarField & | nearestDistSqr, | ||
List< pointIndexHit > & | info | ||
) | const [virtual]
|
Implements searchableSurface.
Definition at line 274 of file searchablePlate.C.
References forAll, List< T >::setSize(), and List< T >::size().
void findLine | ( | const pointField & | start, |
const pointField & | end, | ||
List< pointIndexHit > & | |||
) | const [virtual]
|
Find first intersection on segment from start to end.
Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?
Implements searchableSurface.
Definition at line 290 of file searchablePlate.C.
References forAll, List< T >::setSize(), and List< T >::size().
void findLineAny | ( | const pointField & | start, |
const pointField & | end, | ||
List< pointIndexHit > & | |||
) | const [virtual]
|
Return any intersection on segment from start to end.
Implements searchableSurface.
Definition at line 306 of file searchablePlate.C.
void findLineAll | ( | const pointField & | start, |
const pointField & | end, | ||
List< List< pointIndexHit > > & | info | ||
) | const [virtual]
|
Get all intersections in order from start to end.
Implements searchableSurface.
Definition at line 317 of file searchablePlate.C.
References List< T >::clear(), forAll, List< T >::setSize(), and List< T >::size().
void getRegion | ( | const List< pointIndexHit > & | info, |
labelList & | region | ||
) | const [virtual]
|
From a set of points and indices get the region.
Implements searchableSurface.
Definition at line 343 of file searchablePlate.C.
References List< T >::setSize(), and List< T >::size().
void getNormal | ( | const List< pointIndexHit > & | info, |
vectorField & | normal | ||
) | const [virtual]
|
From a set of points and indices get the normal.
Implements searchableSurface.
Definition at line 354 of file searchablePlate.C.
References forAll, List< T >::setSize(), List< T >::size(), and Vector< Cmpt >::zero.
void getVolumeType | ( | const pointField & | points, |
List< volumeType > & | volType | ||
) | const [virtual]
|
Determine type (inside/outside/mixed) for point. unknown if.
cannot be determined (e.g. non-manifold surface)
Implements searchableSurface.
Definition at line 369 of file searchablePlate.C.
References Foam::exit(), Foam::FatalError, and FatalErrorIn.
bool writeData | ( | Ostream & | ) | const [inline, virtual]
|
Pure virtual writaData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 211 of file searchablePlate.H.
References notImplemented.