Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
extendedEdgeMesh Class Reference

Description of feature edges and points. More...

Inheritance diagram for extendedEdgeMesh:
Inheritance graph
[legend]
Collaboration diagram for extendedEdgeMesh:
Collaboration graph
[legend]

Public Types

enum  pointStatus { CONVEX, CONCAVE, MIXED, NONFEATURE }
 
enum  edgeStatus {
  EXTERNAL, INTERNAL, FLAT, OPEN,
  MULTIPLE, NONE
}
 
enum  sideVolumeType { INSIDE = 0, OUTSIDE = 1, BOTH = 2, NEITHER = 3 }
 
- Public Types inherited from GeoMesh< faMesh >
typedef faMesh Mesh
 
typedef faMesh ::BoundaryMesh BoundaryMesh
 

Public Member Functions

 TypeName ("extendedEdgeMesh")
 
 extendedEdgeMesh ()
 
 extendedEdgeMesh (const extendedEdgeMesh &fem)
 
 extendedEdgeMesh (const fileName &name)
 
 extendedEdgeMesh (const fileName &name, const word &fileType)
 
 extendedEdgeMesh (Istream &is)
 
 extendedEdgeMesh (const pointField &points, const edgeList &edges)
 
 extendedEdgeMesh (pointField &&points, edgeList &&edges)
 
 extendedEdgeMesh (const surfaceFeatures &sFeat, const boolList &surfBaffleRegions)
 
 extendedEdgeMesh (const PrimitivePatch< faceList, pointField > &surf, const labelUList &featureEdges, const labelUList &regionFeatureEdges, const labelUList &featurePoints)
 
 extendedEdgeMesh (const pointField &pts, const edgeList &eds, label concaveStart, label mixedStart, label nonFeatureStart, label internalStart, label flatStart, label openStart, label multipleStart, const vectorField &normals, const List< sideVolumeType > &normalVolumeTypes, const vectorField &edgeDirections, const labelListList &normalDirections, const labelListList &edgeNormals, const labelListList &featurePointNormals, const labelListList &featurePointEdges, const labelList &regionEdges)
 
 declareRunTimeSelectionTable (autoPtr, extendedEdgeMesh, fileExtension,(const fileName &name),(name))
 
 ~extendedEdgeMesh ()=default
 
void nearestFeaturePoint (const point &sample, scalar searchDistSqr, pointIndexHit &info) const
 
void nearestFeatureEdge (const point &sample, scalar searchDistSqr, pointIndexHit &info) const
 
void nearestFeatureEdge (const pointField &samples, const scalarField &searchDistSqr, List< pointIndexHit > &info) const
 
void nearestFeatureEdgeByType (const point &sample, const scalarField &searchDistSqr, List< pointIndexHit > &info) const
 
void allNearestFeaturePoints (const point &sample, scalar searchRadiusSqr, List< pointIndexHit > &info) const
 
void allNearestFeatureEdges (const point &sample, const scalar searchRadiusSqr, List< pointIndexHit > &info) const
 
label convexStart () const
 
label concaveStart () const
 
label mixedStart () const
 
label nonFeatureStart () const
 
label externalStart () const
 
label internalStart () const
 
label flatStart () const
 
label openStart () const
 
label multipleStart () const
 
bool featurePoint (label ptI) const
 
const vectorFieldnormals () const
 
const List< sideVolumeType > & normalVolumeTypes () const
 
const vectorFieldedgeDirections () const
 
const labelListListnormalDirections () const
 
vector edgeDirection (label edgeI, label ptI) const
 
const labelListListedgeNormals () const
 
vectorField edgeNormals (const labelList &edgeNormIs) const
 
vectorField edgeNormals (label edgeI) const
 
const labelListListfeaturePointNormals () const
 
vectorField featurePointNormals (label ptI) const
 
const labelListListfeaturePointEdges () const
 
const labelListregionEdges () const
 
pointStatus getPointStatus (label ptI) const
 
edgeStatus getEdgeStatus (label edgeI) const
 
PackedList< 2 > edgeBaffles (label edgeI) const
 
const indexedOctree< treeDataPoint > & pointTree () const
 
const indexedOctree< treeDataEdge > & edgeTree () const
 
const PtrList< indexedOctree< treeDataEdge > > & edgeTreesByType () const
 
void transfer (extendedEdgeMesh &mesh)
 
virtual void clear ()
 
void add (const extendedEdgeMesh &fem)
 
void flipNormals ()
 
void autoMap (const pointField &subPoints, const edgeList &subEdges, const labelList &pointMap, const labelList &edgeMap)
 
void trim (const searchableSurface &surf, const volumeType volType, labelList &pointMap, labelList &edgeMap)
 
void setFromStatus (const List< extendedEdgeMesh::pointStatus > &pointStat, const List< extendedEdgeMesh::edgeStatus > &edgeStat, labelList &sortedToOriginalPoint, labelList &sortedToOriginalEdge)
 
bool mergePointsAndSort (const scalar mergeDist, labelList &pointMap, labelList &edgeMap)
 
bool read (const fileName &name, const word &ext)
 
virtual bool read (const fileName &name)
 
void writeObj (const fileName &prefix) const
 
virtual void writeStats (Ostream &os) const
 
- Public Member Functions inherited from edgeMesh
 edgeMesh (const faMesh &mesh)
 
label size () const
 
const edgeVectorFieldC () const
 
 TypeName ("edgeMesh")
 
 edgeMesh ()
 
 edgeMesh (const edgeMesh &em)
 
 edgeMesh (edgeMesh &&em)
 
 edgeMesh (const pointField &points, const edgeList &edges)
 
 edgeMesh (pointField &&pointLst, edgeList &&edgeLst)
 
 edgeMesh (const fileName &name)
 
 edgeMesh (const fileName &name, const word &fileType)
 
 declareRunTimeSelectionTable (autoPtr, edgeMesh, fileExtension,(const fileName &name),(name))
 
virtual ~edgeMesh ()=default
 
 declareMemberFunctionSelectionTable (void, edgeMesh, write, fileExtension,(const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt, const dictionary &options),(name, mesh, streamOpt, options))
 
void transfer (edgeMesh &mesh)
 
bool read (const fileName &name, const word &fileType)
 
const pointFieldpoints () const noexcept
 
const edgeListedges () const noexcept
 
const labelListListpointEdges () const
 
label regions (labelList &edgeRegion) const
 
virtual void scalePoints (const scalar scaleFactor)
 
virtual void mergePoints (const scalar mergeDist)
 
virtual void mergeEdges ()
 
virtual void write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 
virtual void write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 
void operator= (const edgeMesh &rhs)
 
void operator= (edgeMesh &&rhs)
 
- Public Member Functions inherited from GeoMesh< faMesh >
 GeoMesh (const faMesh &mesh)
 
bool hasDb () const
 
const objectRegistrythisDb () const
 
const faMeshoperator() () const
 

Static Public Member Functions

static wordHashSet readTypes ()
 
static wordHashSet writeTypes ()
 
static bool canReadType (const word &fileType, bool verbose=false)
 
static bool canWriteType (const word &fileType, bool verbose=false)
 
static bool canRead (const fileName &name, bool verbose=false)
 
static autoPtr< extendedEdgeMeshNew (const fileName &name, const word &fileType)
 
static autoPtr< extendedEdgeMeshNew (const fileName &name)
 
static edgeStatus classifyEdge (const List< vector > &norms, const labelList &edNorms, const vector &fC0tofC1)
 
static void sortedOrder (const List< extendedEdgeMesh::pointStatus > &pointStat, const List< extendedEdgeMesh::edgeStatus > &edgeStat, labelList &sortedToOriginalPoint, labelList &sortedToOriginalEdge, label &pointConcaveStart, label &pointMixedStart, label &pointNonFeatStart, label &edgeInternalStart, label &edgeFlatStart, label &edgeOpenStart, label &edgeMultipleStart)
 
- Static Public Member Functions inherited from edgeMesh
static label size (const Mesh &mesh)
 
static wordHashSet readTypes ()
 
static wordHashSet writeTypes ()
 
static bool canReadType (const word &fileType, bool verbose=false)
 
static bool canWriteType (const word &fileType, bool verbose=false)
 
static bool canRead (const fileName &name, bool verbose=false)
 
static autoPtr< edgeMeshNew (const fileName &name, const word &fileType)
 
static autoPtr< edgeMeshNew (const fileName &name)
 
static void write (const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 
static void write (const fileName &name, const word &fileType, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 

Static Public Attributes

static const Enum< pointStatuspointStatusNames_
 
static const Enum< edgeStatusedgeStatusNames_
 
static const Enum< sideVolumeTypesideVolumeTypeNames_
 
static scalar cosNormalAngleTol_
 
static constexpr label nPointTypes = 4
 
static constexpr label nEdgeTypes = 5
 

Protected Member Functions

 extendedEdgeMesh (class one::minus)
 
pointStatus classifyFeaturePoint (label ptI) const
 
void cut (const searchableSurface &, labelList &pMap, labelList &eMap, labelList &pointsFromEdge, labelList &oldEdge, labelList &surfTri)
 
void select (const searchableSurface &surf, const volumeType volType, labelList &pMap, labelList &eMap)
 
template<class Patch >
void sortPointsAndEdges (const Patch &, const labelUList &featureEdges, const labelUList &regionFeatureEdges, const labelUList &feaurePoints)
 
- Protected Member Functions inherited from edgeMesh
pointFieldstoredPoints () noexcept
 
edgeListstoredEdges () noexcept
 

Protected Attributes

label concaveStart_
 
label mixedStart_
 
label nonFeatureStart_
 
label internalStart_
 
label flatStart_
 
label openStart_
 
label multipleStart_
 
vectorField normals_
 
List< sideVolumeTypenormalVolumeTypes_
 
vectorField edgeDirections_
 
labelListList normalDirections_
 
labelListList edgeNormals_
 
labelListList featurePointNormals_
 
labelListList featurePointEdges_
 
labelList regionEdges_
 
unique_ptr< indexedOctree< treeDataPoint > > pointTree_
 
unique_ptr< indexedOctree< treeDataEdge > > edgeTree_
 
PtrList< indexedOctree< treeDataEdge > > edgeTreesByType_
 
- Protected Attributes inherited from GeoMesh< faMesh >
const faMeshmesh_
 

Static Protected Attributes

static label convexStart_ = 0
 
static label externalStart_ = 0
 

Friends

Istreamoperator>> (Istream &is, sideVolumeType &vt)
 
Ostreamoperator<< (Ostream &os, const sideVolumeType &vt)
 
Ostreamoperator<< (Ostream &, const extendedEdgeMesh &)
 
Istreamoperator>> (Istream &, extendedEdgeMesh &)
 

Detailed Description

Description of feature edges and points.

Feature points are a sorted subset at the start of the overall points list: 0 .. concaveStart_-1 : convex points (w.r.t normals) concaveStart_ .. mixedStart_-1 : concave points mixedStart_ .. nonFeatureStart_-1 : mixed internal/external points nonFeatureStart_ .. size-1 : non-feature points

Feature edges are the edgeList of the edgeMesh and are sorted: 0 .. internalStart_-1 : external edges (convex w.r.t normals) internalStart_ .. flatStart_-1 : internal edges (concave) flatStart_ .. openStart_-1 : flat edges (neither concave or convex) can arise from region interfaces on flat surfaces openStart_ .. multipleStart_-1 : open edges (e.g. from baffle surfaces) multipleStart_ .. size-1 : multiply connected edges

The edge direction and feature edge and feature point adjacent normals are stored.

Source files

Definition at line 81 of file extendedEdgeMesh.H.

Member Enumeration Documentation

◆ pointStatus

Enumerator
CONVEX 

Fully convex point (w.r.t normals)

CONCAVE 

Fully concave point.

MIXED 

A point surrounded by both convex and concave edges.

NONFEATURE 

Not a feature point.

Definition at line 90 of file extendedEdgeMesh.H.

◆ edgeStatus

enum edgeStatus
Enumerator
EXTERNAL 

"Convex" edge

INTERNAL 

"Concave" edge

FLAT 

Neither concave or convex, on a flat surface.

OPEN 

Only connected to a single face.

MULTIPLE 

Multiply connected (connected to more than two faces)

NONE 

Unclassified (consistency with surfaceFeatures)

Definition at line 100 of file extendedEdgeMesh.H.

◆ sideVolumeType

Enumerator
INSIDE 

mesh inside

OUTSIDE 

mesh outside

BOTH 

e.g. a baffle

NEITHER 

not sure when this may be used

Definition at line 113 of file extendedEdgeMesh.H.

Constructor & Destructor Documentation

◆ extendedEdgeMesh() [1/11]

extendedEdgeMesh ( class one::minus  )
explicitprotected

Definition at line 394 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [2/11]

Definition at line 370 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [3/11]

extendedEdgeMesh ( const extendedEdgeMesh fem)
explicit

Definition at line 418 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [4/11]

extendedEdgeMesh ( const fileName name)
explicit

Definition at line 610 of file extendedEdgeMesh.C.

References Foam::name(), and extendedEdgeMesh::read().

Here is the call graph for this function:

◆ extendedEdgeMesh() [5/11]

extendedEdgeMesh ( const fileName name,
const word fileType 
)

Definition at line 599 of file extendedEdgeMesh.C.

References Foam::name(), and Foam::read().

Here is the call graph for this function:

◆ extendedEdgeMesh() [6/11]

extendedEdgeMesh ( Istream is)
explicit

Definition at line 442 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [7/11]

extendedEdgeMesh ( const pointField points,
const edgeList edges 
)

Definition at line 449 of file extendedEdgeMesh.C.

References points.

◆ extendedEdgeMesh() [8/11]

extendedEdgeMesh ( pointField &&  points,
edgeList &&  edges 
)

Definition at line 462 of file extendedEdgeMesh.C.

References points, and extendedEdgeMesh::transfer().

Here is the call graph for this function:

◆ extendedEdgeMesh() [9/11]

extendedEdgeMesh ( const surfaceFeatures sFeat,
const boolList surfBaffleRegions 
)

Definition at line 475 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [10/11]

extendedEdgeMesh ( const PrimitivePatch< faceList, pointField > &  surf,
const labelUList featureEdges,
const labelUList regionFeatureEdges,
const labelUList featurePoints 
)

Definition at line 536 of file extendedEdgeMesh.C.

◆ extendedEdgeMesh() [11/11]

extendedEdgeMesh ( const pointField pts,
const edgeList eds,
label  concaveStart,
label  mixedStart,
label  nonFeatureStart,
label  internalStart,
label  flatStart,
label  openStart,
label  multipleStart,
const vectorField normals,
const List< sideVolumeType > &  normalVolumeTypes,
const vectorField edgeDirections,
const labelListList normalDirections,
const labelListList edgeNormals,
const labelListList featurePointNormals,
const labelListList featurePointEdges,
const labelList regionEdges 
)

Definition at line 556 of file extendedEdgeMesh.C.

◆ ~extendedEdgeMesh()

~extendedEdgeMesh ( )
default

Member Function Documentation

◆ TypeName()

TypeName ( "extendedEdgeMesh"  )

◆ classifyFeaturePoint()

Foam::extendedEdgeMesh::pointStatus classifyFeaturePoint ( label  ptI) const
protected

Definition at line 145 of file extendedEdgeMesh.C.

References forAll.

◆ cut()

void cut ( const searchableSurface surf,
labelList pMap,
labelList eMap,
labelList pointsFromEdge,
labelList oldEdge,
labelList surfTri 
)
protected

◆ select()

void select ( const searchableSurface surf,
const volumeType  volType,
labelList pMap,
labelList eMap 
)
protected

◆ sortPointsAndEdges()

void sortPointsAndEdges ( const Patch &  surf,
const labelUList featureEdges,
const labelUList regionFeatureEdges,
const labelUList feaurePoints 
)
protected

◆ readTypes()

Foam::wordHashSet readTypes ( )
static

Definition at line 94 of file extendedEdgeMesh.C.

◆ writeTypes()

Foam::wordHashSet writeTypes ( )
static

Definition at line 100 of file extendedEdgeMesh.C.

◆ canReadType()

bool canReadType ( const word fileType,
bool  verbose = false 
)
static

Definition at line 106 of file extendedEdgeMesh.C.

◆ canWriteType()

bool canWriteType ( const word fileType,
bool  verbose = false 
)
static

Definition at line 118 of file extendedEdgeMesh.C.

◆ canRead()

bool canRead ( const fileName name,
bool  verbose = false 
)
static

Definition at line 130 of file extendedEdgeMesh.C.

References word::ext(), word::lessExt(), and Foam::name().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
extendedEdgeMesh  ,
fileExtension  ,
(const fileName &name ,
(name  
)

◆ New() [1/2]

Foam::autoPtr< Foam::extendedEdgeMesh > New ( const fileName name,
const word fileType 
)
static

Definition at line 35 of file extendedEdgeMeshNew.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), Foam::name(), and Foam::nl.

Here is the call graph for this function:

◆ New() [2/2]

Foam::autoPtr< Foam::extendedEdgeMesh > New ( const fileName name)
static

Definition at line 57 of file extendedEdgeMeshNew.C.

References word::ext(), word::lessExt(), Foam::name(), and Foam::New().

Here is the call graph for this function:

◆ nearestFeaturePoint()

void nearestFeaturePoint ( const point sample,
scalar  searchDistSqr,
pointIndexHit info 
) const

Definition at line 646 of file extendedEdgeMesh.C.

◆ nearestFeatureEdge() [1/2]

void nearestFeatureEdge ( const point sample,
scalar  searchDistSqr,
pointIndexHit info 
) const

Definition at line 661 of file extendedEdgeMesh.C.

◆ nearestFeatureEdge() [2/2]

void nearestFeatureEdge ( const pointField samples,
const scalarField searchDistSqr,
List< pointIndexHit > &  info 
) const

Definition at line 676 of file extendedEdgeMesh.C.

References forAll, samples(), and List::setSize().

Here is the call graph for this function:

◆ nearestFeatureEdgeByType()

void nearestFeatureEdgeByType ( const point sample,
const scalarField searchDistSqr,
List< pointIndexHit > &  info 
) const

Definition at line 697 of file extendedEdgeMesh.C.

References forAll, and List::setSize().

Here is the call graph for this function:

◆ allNearestFeaturePoints()

void allNearestFeaturePoints ( const point sample,
scalar  searchRadiusSqr,
List< pointIndexHit > &  info 
) const

Definition at line 733 of file extendedEdgeMesh.C.

References DynamicList::append(), forAll, points, and List::transfer().

Referenced by Foam::edgeMeshTools::featureProximity().

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

◆ allNearestFeatureEdges()

void allNearestFeatureEdges ( const point sample,
const scalar  searchRadiusSqr,
List< pointIndexHit > &  info 
) const

Definition at line 764 of file extendedEdgeMesh.C.

References DynamicList::append(), Foam::constant::electromagnetic::e, forAll, PointHit< PointType >::hit(), points, PointHit< PointType >::rawPoint(), List::setSize(), and List::transfer().

Referenced by Foam::edgeMeshTools::featureProximity().

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

◆ convexStart()

Foam::label convexStart ( ) const
inline

Definition at line 23 of file extendedEdgeMeshI.H.

References extendedEdgeMesh::convexStart_.

◆ concaveStart()

Foam::label concaveStart ( ) const
inline

Definition at line 29 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ mixedStart()

Foam::label mixedStart ( ) const
inline

Definition at line 35 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ nonFeatureStart()

Foam::label nonFeatureStart ( ) const
inline

Definition at line 41 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ externalStart()

Foam::label externalStart ( ) const
inline

Definition at line 47 of file extendedEdgeMeshI.H.

◆ internalStart()

Foam::label internalStart ( ) const
inline

Definition at line 53 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ flatStart()

Foam::label flatStart ( ) const
inline

Definition at line 59 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ openStart()

Foam::label openStart ( ) const
inline

Definition at line 65 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ multipleStart()

Foam::label multipleStart ( ) const
inline

Definition at line 71 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().

Here is the caller graph for this function:

◆ featurePoint()

bool featurePoint ( label  ptI) const
inline

Definition at line 77 of file extendedEdgeMeshI.H.

◆ normals()

const Foam::vectorField & normals ( ) const
inline

Definition at line 83 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add().

Here is the caller graph for this function:

◆ normalVolumeTypes()

const Foam::List< Foam::extendedEdgeMesh::sideVolumeType > & normalVolumeTypes ( ) const
inline

Definition at line 90 of file extendedEdgeMeshI.H.

◆ edgeDirections()

const Foam::vectorField & edgeDirections ( ) const
inline

Definition at line 96 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add().

Here is the caller graph for this function:

◆ normalDirections()

const Foam::labelListList & normalDirections ( ) const
inline

Definition at line 104 of file extendedEdgeMeshI.H.

◆ edgeDirection()

Foam::vector edgeDirection ( label  edgeI,
label  ptI 
) const
inline

Definition at line 111 of file extendedEdgeMeshI.H.

References Foam::constant::electromagnetic::e, Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::Zero.

Here is the call graph for this function:

◆ edgeNormals() [1/3]

const Foam::labelListList & edgeNormals ( ) const
inline

Definition at line 139 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add().

Here is the caller graph for this function:

◆ edgeNormals() [2/3]

Foam::vectorField edgeNormals ( const labelList edgeNormIs) const
inline

Definition at line 147 of file extendedEdgeMeshI.H.

References forAll.

◆ edgeNormals() [3/3]

Foam::vectorField edgeNormals ( label  edgeI) const
inline

Definition at line 162 of file extendedEdgeMeshI.H.

◆ featurePointNormals() [1/2]

const Foam::labelListList & featurePointNormals ( ) const
inline

Definition at line 170 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add().

Here is the caller graph for this function:

◆ featurePointNormals() [2/2]

Foam::vectorField featurePointNormals ( label  ptI) const
inline

Definition at line 177 of file extendedEdgeMeshI.H.

References Foam::endl(), forAll, and WarningInFunction.

Here is the call graph for this function:

◆ featurePointEdges()

const Foam::labelListList & featurePointEdges ( ) const
inline

Definition at line 205 of file extendedEdgeMeshI.H.

◆ regionEdges()

const Foam::labelList & regionEdges ( ) const
inline

Definition at line 211 of file extendedEdgeMeshI.H.

Referenced by extendedEdgeMesh::add(), and refinementFeatures::regionEdgeTrees().

Here is the caller graph for this function:

◆ getPointStatus()

Foam::extendedEdgeMesh::pointStatus getPointStatus ( label  ptI) const
inline

Definition at line 218 of file extendedEdgeMeshI.H.

◆ getEdgeStatus()

Foam::extendedEdgeMesh::edgeStatus getEdgeStatus ( label  edgeI) const
inline

Definition at line 238 of file extendedEdgeMeshI.H.

◆ edgeBaffles()

Foam::PackedList< 2 > edgeBaffles ( label  edgeI) const
inline

Definition at line 262 of file extendedEdgeMeshI.H.

References DynamicList::append().

Here is the call graph for this function:

◆ pointTree()

const Foam::indexedOctree< Foam::treeDataPoint > & pointTree ( ) const

◆ edgeTree()

const Foam::indexedOctree< Foam::treeDataEdge > & edgeTree ( ) const

◆ edgeTreesByType()

const Foam::PtrList< Foam::indexedOctree< Foam::treeDataEdge > > & edgeTreesByType ( ) const

◆ transfer()

void transfer ( extendedEdgeMesh mesh)

Definition at line 967 of file extendedEdgeMesh.C.

References objectRegistry::clear(), mesh, edgeMesh::transfer(), and HashTable::transfer().

Referenced by extendedEdgeMesh::extendedEdgeMesh().

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

◆ clear()

void clear ( )
virtual

Reimplemented from edgeMesh.

Definition at line 999 of file extendedEdgeMesh.C.

References edgeMesh::clear().

Here is the call graph for this function:

◆ add()

void add ( const extendedEdgeMesh fem)

◆ flipNormals()

void flipNormals ( )

Definition at line 1293 of file extendedEdgeMesh.C.

References Foam::constant::electromagnetic::e, forAll, Foam::identity(), newPointi, points, Field::rmap(), and edgeMesh::transfer().

Here is the call graph for this function:

◆ autoMap()

void autoMap ( const pointField subPoints,
const edgeList subEdges,
const labelList pointMap,
const labelList edgeMap 
)

Definition at line 1405 of file extendedEdgeMesh.C.

References DynamicList::append(), forAll, bitSet::set(), List::setSize(), bitSet::test(), and List::transfer().

Here is the call graph for this function:

◆ trim()

void trim ( const searchableSurface surf,
const volumeType  volType,
labelList pointMap,
labelList edgeMap 
)

Definition at line 1645 of file extendedEdgeMesh.C.

References forAll, and points.

◆ setFromStatus()

void setFromStatus ( const List< extendedEdgeMesh::pointStatus > &  pointStat,
const List< extendedEdgeMesh::edgeStatus > &  edgeStat,
labelList sortedToOriginalPoint,
labelList sortedToOriginalEdge 
)

Definition at line 1728 of file extendedEdgeMesh.C.

References forAll, Foam::inplaceRenumber(), points, and Foam::sortedOrder().

Here is the call graph for this function:

◆ mergePointsAndSort()

bool mergePointsAndSort ( const scalar  mergeDist,
labelList pointMap,
labelList edgeMap 
)

Definition at line 1796 of file extendedEdgeMesh.C.

References forAll, Foam::identity(), Foam::mergePoints(), nPoints, points, List::setSize(), and Foam::Zero.

Here is the call graph for this function:

◆ read() [1/2]

bool read ( const fileName name,
const word ext 
)

Definition at line 634 of file extendedEdgeMesh.C.

References Foam::name(), and Foam::New().

Referenced by extendedEdgeMesh::extendedEdgeMesh().

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

◆ read() [2/2]

bool read ( const fileName name)
virtual

Reimplemented from edgeMesh.

Reimplemented in extendedEdgeMeshFormat.

Definition at line 620 of file extendedEdgeMesh.C.

References word::ext(), fileName::ext(), word::lessExt(), Foam::name(), and Foam::read().

Here is the call graph for this function:

◆ writeObj()

void writeObj ( const fileName prefix) const

Definition at line 1884 of file extendedEdgeMesh.C.

References Foam::constant::electromagnetic::e, Foam::endl(), forAll, Foam::Info, OFstream::name(), Foam::nl, points, OBJstream::write(), and edgeMesh::write().

Here is the call graph for this function:

◆ writeStats()

void writeStats ( Ostream os) const
virtual

Reimplemented from edgeMesh.

Definition at line 2039 of file extendedEdgeMesh.C.

References Foam::decrIndent(), Foam::incrIndent(), Foam::indent(), Foam::nl, os(), points, Foam::setw(), and edgeMesh::writeStats().

Here is the call graph for this function:

◆ classifyEdge()

Foam::extendedEdgeMesh::edgeStatus classifyEdge ( const List< vector > &  norms,
const labelList edNorms,
const vector fC0tofC1 
)
static

Definition at line 2091 of file extendedEdgeMesh.C.

◆ sortedOrder()

void sortedOrder ( const List< extendedEdgeMesh::pointStatus > &  pointStat,
const List< extendedEdgeMesh::edgeStatus > &  edgeStat,
labelList sortedToOriginalPoint,
labelList sortedToOriginalEdge,
label &  pointConcaveStart,
label &  pointMixedStart,
label &  pointNonFeatStart,
label &  edgeInternalStart,
label &  edgeFlatStart,
label &  edgeOpenStart,
label &  edgeMultipleStart 
)
static

Friends And Related Function Documentation

◆ operator>> [1/2]

Istream& operator>> ( Istream is,
sideVolumeType vt 
)
friend

◆ operator<< [1/2]

Ostream& operator<< ( Ostream os,
const sideVolumeType vt 
)
friend

◆ operator<< [2/2]

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

◆ operator>> [2/2]

Istream& operator>> ( Istream ,
extendedEdgeMesh  
)
friend

Member Data Documentation

◆ pointStatusNames_

const Foam::Enum< Foam::extendedEdgeMesh::pointStatus > pointStatusNames_
static

Definition at line 98 of file extendedEdgeMesh.H.

◆ edgeStatusNames_

const Foam::Enum< Foam::extendedEdgeMesh::edgeStatus > edgeStatusNames_
static

Definition at line 110 of file extendedEdgeMesh.H.

◆ sideVolumeTypeNames_

const Foam::Enum< Foam::extendedEdgeMesh::sideVolumeType > sideVolumeTypeNames_
static

◆ cosNormalAngleTol_

Foam::scalar cosNormalAngleTol_
static
Initial value:

Definition at line 124 of file extendedEdgeMesh.H.

◆ convexStart_

Foam::label convexStart_ = 0
staticprotected

Definition at line 132 of file extendedEdgeMesh.H.

Referenced by extendedEdgeMesh::convexStart().

◆ externalStart_

Foam::label externalStart_ = 0
staticprotected

Definition at line 135 of file extendedEdgeMesh.H.

◆ concaveStart_

label concaveStart_
protected

Definition at line 141 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ mixedStart_

label mixedStart_
protected

Definition at line 144 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ nonFeatureStart_

label nonFeatureStart_
protected

Definition at line 147 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ internalStart_

label internalStart_
protected

Definition at line 150 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ flatStart_

label flatStart_
protected

Definition at line 153 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ openStart_

label openStart_
protected

Definition at line 156 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ multipleStart_

label multipleStart_
protected

Definition at line 159 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ normals_

vectorField normals_
protected

Definition at line 163 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ normalVolumeTypes_

List<sideVolumeType> normalVolumeTypes_
protected

Definition at line 166 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ edgeDirections_

vectorField edgeDirections_
protected

◆ normalDirections_

labelListList normalDirections_
protected

Definition at line 174 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ edgeNormals_

labelListList edgeNormals_
protected

Definition at line 177 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ featurePointNormals_

labelListList featurePointNormals_
protected

Definition at line 181 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ featurePointEdges_

labelListList featurePointEdges_
protected

Definition at line 185 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ regionEdges_

labelList regionEdges_
protected

Definition at line 188 of file extendedEdgeMesh.H.

Referenced by Foam::operator<<(), and Foam::operator>>().

◆ pointTree_

unique_ptr<indexedOctree<treeDataPoint> > pointTree_
mutableprotected

Definition at line 191 of file extendedEdgeMesh.H.

◆ edgeTree_

unique_ptr<indexedOctree<treeDataEdge> > edgeTree_
mutableprotected

Definition at line 194 of file extendedEdgeMesh.H.

◆ edgeTreesByType_

PtrList<indexedOctree<treeDataEdge> > edgeTreesByType_
mutableprotected

Definition at line 197 of file extendedEdgeMesh.H.

◆ nPointTypes

constexpr label nPointTypes = 4
staticconstexpr

Definition at line 247 of file extendedEdgeMesh.H.

◆ nEdgeTypes

constexpr label nEdgeTypes = 5
staticconstexpr

Definition at line 250 of file extendedEdgeMesh.H.


The documentation for this class was generated from the following files:
Foam::degToRad
constexpr scalar degToRad(const scalar deg) noexcept
Definition: unitConversion.H:44
Foam::cos
dimensionedScalar cos(const dimensionedScalar &ds)
Definition: dimensionedScalar.C:258