refinementFeatures Class Reference

Encapsulates queries for features. More...

Inheritance diagram for refinementFeatures:
[legend]
Collaboration diagram for refinementFeatures:
[legend]

Public Member Functions

 refinementFeatures (const objectRegistry &io, const PtrList< dictionary > &featDicts, const bool dryRun=false)
 Construct from description. More...
 
const labelListListlevels () const
 Per featureEdgeMesh the list of level. More...
 
const List< scalarField > & distances () const
 Per featureEdgeMesh the list of ranges. More...
 
scalar maxDistance () const
 Highest distance of all features. More...
 
void findNearestEdge (const pointField &samples, const scalarField &nearestDistSqr, labelList &nearFeature, List< pointIndexHit > &nearInfo, vectorField &nearNormal) const
 Find nearest point on nearest feature edge. Sets. More...
 
void findNearestRegionEdge (const pointField &samples, const scalarField &nearestDistSqr, labelList &nearFeature, List< pointIndexHit > &nearInfo, vectorField &nearNormal) const
 Find nearest point on nearest region edge. Sets. More...
 
void findNearestPoint (const pointField &samples, const scalarField &nearestDistSqr, labelList &nearFeature, List< pointIndexHit > &nearInfo) const
 Find nearest feature point. Sets. More...
 
void findHigherLevel (const pointField &pt, const labelList &ptLevel, labelList &maxLevel) const
 Find shell level higher than ptLevel. More...
 
bool checkSizes (const scalar maxRatio, const boundBox &meshBb, const bool report, Ostream &os) const
 Check sizes - return true if error and stream to os. More...
 
- Public Member Functions inherited from PtrList< extendedFeatureEdgeMesh >
constexpr PtrList () noexcept
 Default construct. More...
 
 PtrList (const label len)
 Construct with specified size, each element initialized to nullptr. More...
 
 PtrList (const PtrList< extendedFeatureEdgeMesh > &list)
 Copy construct using 'clone()' method on each element. More...
 
 PtrList (PtrList< extendedFeatureEdgeMesh > &&list)
 Move construct. More...
 
 PtrList (UList< extendedFeatureEdgeMesh * > &list)
 Take ownership of pointers in the list, set old pointers to null. More...
 
 PtrList (const PtrList< extendedFeatureEdgeMesh > &list, const CloneArg &cloneArgs)
 Copy construct using 'clone()' method on each element. More...
 
 PtrList (PtrList< extendedFeatureEdgeMesh > &list, bool reuse)
 Construct as copy or re-use as specified. More...
 
 PtrList (const SLPtrList< extendedFeatureEdgeMesh > &list)
 Copy construct using 'clone()' on each element of SLPtrList<T> More...
 
 PtrList (Istream &is, const INew &inew)
 Construct from Istream using given Istream constructor class. More...
 
 PtrList (Istream &is)
 Construct from Istream using default Istream constructor class. More...
 
 ~PtrList ()
 Destructor. More...
 
PtrList< extendedFeatureEdgeMeshclone (Args &&... args) const
 Make a copy by cloning each of the list elements. More...
 
Foam::PtrList< extendedFeatureEdgeMeshclone (Args &&... args) const
 
const extendedFeatureEdgeMeshset (const label i) const
 Return const pointer to element (can be nullptr),. More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, extendedFeatureEdgeMesh *ptr)
 Set element to given pointer and return old element (can be null) More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, autoPtr< extendedFeatureEdgeMesh > &ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, autoPtr< extendedFeatureEdgeMesh > &&ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, std::unique_ptr< extendedFeatureEdgeMesh > &&ptr)
 Set element to given unique_ptr and return old element. More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, const refPtr< extendedFeatureEdgeMesh > &ptr)
 Set element to given refPtr and return old element. More...
 
autoPtr< extendedFeatureEdgeMeshset (const label i, const tmp< extendedFeatureEdgeMesh > &ptr)
 Set element to given tmp and return old element. More...
 
void clear ()
 Clear the PtrList. Delete allocated entries and set size to zero. More...
 
void resize (const label newLen)
 Adjust size of PtrList. More...
 
void setSize (const label newLen)
 Same as resize() More...
 
void emplace_append (Args &&... args)
 Construct and append an element to the end of the list. More...
 
void append (extendedFeatureEdgeMesh *ptr)
 Append an element to the end of the list. More...
 
void append (autoPtr< extendedFeatureEdgeMesh > &ptr)
 Move append an element to the end of the list. More...
 
void append (autoPtr< extendedFeatureEdgeMesh > &&ptr)
 Move append an element to the end of the list. More...
 
void append (std::unique_ptr< extendedFeatureEdgeMesh > &&ptr)
 Move append an element to the end of the list. More...
 
void append (const refPtr< extendedFeatureEdgeMesh > &ptr)
 Move or clone append a refPtr to the end of the list. More...
 
void append (const tmp< extendedFeatureEdgeMesh > &ptr)
 Move or clone append a tmp to the end of the list. More...
 
autoPtr< extendedFeatureEdgeMeshemplace (const label i, Args &&... args)
 Construct and set an element. More...
 
Foam::autoPtr< extendedFeatureEdgeMeshemplace (const label i, Args &&... args)
 
autoPtr< extendedFeatureEdgeMeshrelease (const label i)
 Release ownership of the pointer at the given position. More...
 
void transfer (PtrList< extendedFeatureEdgeMesh > &list)
 Transfer into this list and annul the argument list. More...
 
void operator= (const PtrList< extendedFeatureEdgeMesh > &list)
 Copy assignment. More...
 
void operator= (PtrList< extendedFeatureEdgeMesh > &&list)
 Move assignment. More...
 

Protected Member Functions

const PtrList< indexedOctree< treeDataEdge > > & edgeTrees () const
 
const PtrList< indexedOctree< treeDataPoint > > & pointTrees () const
 
const PtrList< indexedOctree< treeDataEdge > > & regionEdgeTrees () const
 
- Protected Member Functions inherited from PtrList< extendedFeatureEdgeMesh >
void readIstream (Istream &is, const INew &inew)
 Read from Istream using Istream constructor class. More...
 
void free ()
 Delete the allocated entries, but retain the list size. More...
 

Detailed Description

Encapsulates queries for features.

Source files

Definition at line 53 of file refinementFeatures.H.

Constructor & Destructor Documentation

◆ refinementFeatures()

refinementFeatures ( const objectRegistry io,
const PtrList< dictionary > &  featDicts,
const bool  dryRun = false 
)

Construct from description.

Definition at line 473 of file refinementFeatures.C.

References forAll, and Foam::read().

Here is the call graph for this function:

Member Function Documentation

◆ edgeTrees()

const PtrList<indexedOctree<treeDataEdge> >& edgeTrees ( ) const
inlineprotected

Definition at line 98 of file refinementFeatures.H.

◆ pointTrees()

const PtrList<indexedOctree<treeDataPoint> >& pointTrees ( ) const
inlineprotected

Definition at line 103 of file refinementFeatures.H.

◆ regionEdgeTrees()

const Foam::PtrList< Foam::indexedOctree< Foam::treeDataEdge > > & regionEdgeTrees ( ) const
protected

Definition at line 417 of file refinementFeatures.C.

References Foam::constant::electromagnetic::e, edgeMesh::edges(), treeBoundBox::extend(), forAll, boundBox::max(), boundBox::min(), points, edgeMesh::points(), extendedEdgeMesh::regionEdges(), rndGen, PtrList< T >::set(), and VectorSpace< Vector< Cmpt >, Cmpt, 3 >::uniform().

Here is the call graph for this function:

◆ levels()

const labelListList& levels ( ) const
inline

Per featureEdgeMesh the list of level.

Definition at line 129 of file refinementFeatures.H.

◆ distances()

const List<scalarField>& distances ( ) const
inline

Per featureEdgeMesh the list of ranges.

Definition at line 135 of file refinementFeatures.H.

◆ maxDistance()

Foam::scalar maxDistance ( ) const

Highest distance of all features.

Definition at line 881 of file refinementFeatures.C.

References forAll, and Foam::max().

Here is the call graph for this function:

◆ findNearestEdge()

void findNearestEdge ( const pointField samples,
const scalarField nearestDistSqr,
labelList nearFeature,
List< pointIndexHit > &  nearInfo,
vectorField nearNormal 
) const

Find nearest point on nearest feature edge. Sets.

  • nearFeature: index of feature mesh

nearInfo : location on feature edge and edge index (note: not feature edge index but index into edges() directly)

  • nearNormal : local feature edge normal

Definition at line 640 of file refinementFeatures.C.

References Foam::constant::electromagnetic::e, treeDataEdge::edgeLabels(), forAll, PointIndexHit< PointType >::hit(), PointIndexHit< PointType >::hitPoint(), PointIndexHit< PointType >::index(), Foam::magSqr(), samples(), List< T >::setSize(), indexedOctree< Type >::shapes(), treeDataEdge::size(), and Foam::Zero.

Here is the call graph for this function:

◆ findNearestRegionEdge()

void findNearestRegionEdge ( const pointField samples,
const scalarField nearestDistSqr,
labelList nearFeature,
List< pointIndexHit > &  nearInfo,
vectorField nearNormal 
) const

Find nearest point on nearest region edge. Sets.

  • nearFeature: index of feature mesh

nearInfo : location on feature edge and edge index (note: not feature edge index but index into edges() directly)

  • nearNormal : local feature edge normal

Definition at line 699 of file refinementFeatures.C.

References Foam::constant::electromagnetic::e, treeDataEdge::edgeLabels(), treeDataEdge::edges(), forAll, PointIndexHit< PointType >::hit(), PointIndexHit< PointType >::hitPoint(), PointIndexHit< PointType >::index(), Foam::magSqr(), treeDataEdge::points(), samples(), List< T >::setSize(), indexedOctree< Type >::shapes(), and Foam::Zero.

Here is the call graph for this function:

◆ findNearestPoint()

void findNearestPoint ( const pointField samples,
const scalarField nearestDistSqr,
labelList nearFeature,
List< pointIndexHit > &  nearInfo 
) const

Find nearest feature point. Sets.

  • nearFeature: index of feature mesh

nearInfo : location on feature point and point index. (note: not index into shapes().pointLabels() but index into points() directly)

Definition at line 814 of file refinementFeatures.C.

References forAll, PointIndexHit< PointType >::hit(), PointIndexHit< PointType >::hitPoint(), PointIndexHit< PointType >::index(), Foam::magSqr(), treeDataPoint::pointLabels(), samples(), List< T >::setSize(), and indexedOctree< Type >::shapes().

Here is the call graph for this function:

◆ findHigherLevel()

void findHigherLevel ( const pointField pt,
const labelList ptLevel,
labelList maxLevel 
) const

Find shell level higher than ptLevel.

Definition at line 865 of file refinementFeatures.C.

References forAll.

◆ checkSizes()

bool checkSizes ( const scalar  maxRatio,
const boundBox meshBb,
const bool  report,
Ostream os 
) const

Check sizes - return true if error and stream to os.

Definition at line 570 of file refinementFeatures.C.

References Foam::endl(), forAll, boundBox::mag(), meshBb(), IOobject::name(), Foam::nl, os(), edgeMesh::points(), and Foam::returnReduce().

Here is the call graph for this function:

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