Description of feature edges and points. More...
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 } |
Normals point to the outside. More... | |
Public Member Functions | |
TypeName ("extendedEdgeMesh") | |
Runtime type information. More... | |
extendedEdgeMesh () | |
Construct null. More... | |
extendedEdgeMesh (const extendedEdgeMesh &) | |
Construct as copy. More... | |
extendedEdgeMesh (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
extendedEdgeMesh (const fileName &, const word &ext) | |
Construct from file name (uses extension to determine type) More... | |
extendedEdgeMesh (Istream &) | |
Construct from Istream. More... | |
extendedEdgeMesh (const Xfer< pointField > &, const Xfer< edgeList > &) | |
Construct by transferring components (points, edges) More... | |
extendedEdgeMesh (const surfaceFeatures &sFeat, const boolList &surfBaffleRegions) | |
Construct given a surface with selected edges,points. More... | |
extendedEdgeMesh (const PrimitivePatch< face, List, pointField, point > &surf, const labelList &featureEdges, const labelList ®ionFeatureEdges, const labelList &featurePoints) | |
Construct from PrimitivePatch. More... | |
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 ®ionEdges) | |
Construct from all components. More... | |
declareRunTimeSelectionTable (autoPtr, extendedEdgeMesh, fileExtension,(const fileName &name),(name)) | |
~extendedEdgeMesh () | |
Destructor. More... | |
void | nearestFeaturePoint (const point &sample, scalar searchDistSqr, pointIndexHit &info) const |
Find nearest surface edge for the sample point. More... | |
void | nearestFeatureEdge (const point &sample, scalar searchDistSqr, pointIndexHit &info) const |
Find nearest surface edge for the sample point. More... | |
void | nearestFeatureEdge (const pointField &samples, const scalarField &searchDistSqr, List< pointIndexHit > &info) const |
Find nearest surface edge for each sample point. More... | |
void | nearestFeatureEdgeByType (const point &sample, const scalarField &searchDistSqr, List< pointIndexHit > &info) const |
Find the nearest point on each type of feature edge. More... | |
void | allNearestFeaturePoints (const point &sample, scalar searchRadiusSqr, List< pointIndexHit > &info) const |
Find all the feature points within searchDistSqr of sample. More... | |
void | allNearestFeatureEdges (const point &sample, const scalar searchRadiusSqr, List< pointIndexHit > &info) const |
Find all the feature edges within searchDistSqr of sample. More... | |
label | convexStart () const |
Return the index of the start of the convex feature points. More... | |
label | concaveStart () const |
Return the index of the start of the concave feature points. More... | |
label | mixedStart () const |
Return the index of the start of the mixed type feature points. More... | |
label | nonFeatureStart () const |
Return the index of the start of the non-feature points. More... | |
label | externalStart () const |
Return the index of the start of the external feature edges. More... | |
label | internalStart () const |
Return the index of the start of the internal feature edges. More... | |
label | flatStart () const |
Return the index of the start of the flat feature edges. More... | |
label | openStart () const |
Return the index of the start of the open feature edges. More... | |
label | multipleStart () const |
Return the index of the start of the multiply-connected feature. More... | |
bool | featurePoint (label ptI) const |
Return whether or not the point index is a feature point. More... | |
const vectorField & | normals () const |
Return the normals of the surfaces adjacent to the feature edges. More... | |
const List< sideVolumeType > & | normalVolumeTypes () const |
Return. More... | |
const vectorField & | edgeDirections () const |
Return the edgeDirection vectors. More... | |
const labelListList & | normalDirections () const |
vector | edgeDirection (label edgeI, label ptI) const |
Return the direction of edgeI, pointing away from ptI. More... | |
const labelListList & | edgeNormals () const |
Return the indices of the normals that are adjacent to the. More... | |
vectorField | edgeNormals (const labelList &edgeNormIs) const |
Return the normal vectors for a given set of normal indices. More... | |
vectorField | edgeNormals (label edgeI) const |
Return the normal vectors for a given edge. More... | |
const labelListList & | featurePointNormals () const |
Return the indices of the normals that are adjacent to the. More... | |
vectorField | featurePointNormals (label ptI) const |
Return the normal vectors for a given feature point. More... | |
const labelListList & | featurePointEdges () const |
Return the edge labels for a given feature point. Edges are. More... | |
const labelList & | regionEdges () const |
Return the feature edges which are on the boundary between. More... | |
pointStatus | getPointStatus (label ptI) const |
Return the pointStatus of a specified point. More... | |
edgeStatus | getEdgeStatus (label edgeI) const |
Return the edgeStatus of a specified edge. More... | |
PackedList< 2 > | edgeBaffles (label edgeI) const |
Return the baffle faces of a specified edge. More... | |
const indexedOctree< treeDataPoint > & | pointTree () const |
Demand driven construction of octree for feature points. More... | |
const indexedOctree< treeDataEdge > & | edgeTree () const |
Demand driven construction of octree for boundary edges. More... | |
const PtrList< indexedOctree< treeDataEdge > > & | edgeTreesByType () const |
Demand driven construction of octree for boundary edges by type. More... | |
void | transfer (extendedEdgeMesh &) |
Transfer the contents of the argument and annul the argument. More... | |
Xfer< extendedEdgeMesh > | xfer () |
Transfer contents to the Xfer container. More... | |
virtual void | clear () |
Clear all storage. More... | |
void | add (const extendedEdgeMesh &) |
Add extendedEdgeMesh. No filtering of duplicates. More... | |
void | flipNormals () |
Flip normals. All concave become convex, all internal external. More... | |
void | autoMap (const pointField &, const edgeList &, const labelList &pointMap, const labelList &edgeMap) |
Update with derived geometry. More... | |
void | trim (const searchableSurface &surf, const volumeType volType, labelList &pointMap, labelList &edgeMap) |
Trim to surface. Keep volType side. Return map from current back. More... | |
void | setFromStatus (const List< extendedEdgeMesh::pointStatus > &pointStat, const List< extendedEdgeMesh::edgeStatus > &edgeStat, labelList &sortedToOriginalPoint, labelList &sortedToOriginalEdge) |
Order according to point and edge status. More... | |
bool | mergePointsAndSort (const scalar mergeDist, labelList &pointMap, labelList &edgeMap) |
Geometric merge points. Returns true if any points merged. More... | |
bool | read (const fileName &, const word &ext) |
Read from file. Chooses reader based on explicit extension. More... | |
virtual bool | read (const fileName &) |
Read from file. Chooses reader based on detected extension. More... | |
void | writeObj (const fileName &prefix) const |
Write all components of the extendedEdgeMesh as obj files. More... | |
virtual void | writeStats (Ostream &os) const |
Dump some information. More... | |
![]() | |
TypeName ("edgeMesh") | |
Runtime type information. More... | |
edgeMesh () | |
Construct null. More... | |
edgeMesh (const pointField &, const edgeList &) | |
Construct from components. More... | |
edgeMesh (const Xfer< pointField > &, const Xfer< edgeList > &) | |
Construct by transferring components (points, edges). More... | |
edgeMesh (const edgeMesh &) | |
Construct as copy. More... | |
edgeMesh (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
edgeMesh (const fileName &, const word &ext) | |
Construct from file name (uses extension to determine type) More... | |
edgeMesh (Istream &) | |
Construct from Istream. More... | |
declareRunTimeSelectionTable (autoPtr, edgeMesh, fileExtension,(const fileName &name),(name)) | |
virtual | ~edgeMesh () |
Destructor. More... | |
declareMemberFunctionSelectionTable (void, edgeMesh, write, fileExtension,(const fileName &name, const edgeMesh &mesh),(name, mesh)) | |
void | transfer (edgeMesh &) |
Transfer the contents of the argument and annul the argument. More... | |
Xfer< edgeMesh > | xfer () |
Transfer contents to the Xfer container. More... | |
bool | read (const fileName &, const word &ext) |
Read from file. Chooses reader based on explicit extension. More... | |
const pointField & | points () const |
Return points. More... | |
const edgeList & | edges () const |
Return edges. More... | |
const labelListList & | pointEdges () const |
Return edges. More... | |
label | regions (labelList &edgeRegion) const |
Find connected regions. Set region number per edge. More... | |
virtual void | reset (const Xfer< pointField > &points, const Xfer< edgeList > &edges) |
Reset primitive data (points, edges) More... | |
virtual void | scalePoints (const scalar) |
Scale points. A non-positive factor is ignored. More... | |
virtual void | mergePoints (const scalar mergeDist, labelList &) |
Merge common points (points within mergeDist). Return map from. More... | |
virtual void | mergeEdges () |
Merge duplicate edges. More... | |
virtual void | write (const fileName &name) const |
Generic write routine. Chooses writer based on extension. More... | |
void | operator= (const edgeMesh &) |
![]() | |
edgeMeshFormatsCore () | |
Construct null. More... | |
virtual | ~edgeMeshFormatsCore () |
Destructor. More... | |
Static Public Member Functions | |
static bool | canRead (const fileName &, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canReadType (const word &ext, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &ext, const bool verbose=false) |
Can we write this file format type? More... | |
static wordHashSet | readTypes () |
static wordHashSet | writeTypes () |
static autoPtr< extendedEdgeMesh > | New (const fileName &, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< extendedEdgeMesh > | New (const fileName &) |
Select constructed from filename (implicit extension) More... | |
static edgeStatus | classifyEdge (const List< vector > &norms, const labelList &edNorms, const vector &fC0tofC1) |
Classify the type of feature edge. Requires face centre 0 to face. More... | |
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) |
Determine the ordering. More... | |
![]() | |
static bool | canRead (const fileName &, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canReadType (const word &ext, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &ext, const bool verbose=false) |
Can we write this file format type? More... | |
static wordHashSet | readTypes () |
static wordHashSet | writeTypes () |
static autoPtr< edgeMesh > | New (const fileName &, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< edgeMesh > | New (const fileName &) |
Select constructed from filename (implicit extension) More... | |
static void | write (const fileName &, const edgeMesh &) |
Write to file. More... | |
![]() | |
static bool | checkSupport (const wordHashSet &available, const word &ext, const bool verbose, const word &functionName) |
Static Public Attributes | |
static const Foam::NamedEnum< pointStatus, 4 > | pointStatusNames_ |
static const Foam::NamedEnum< edgeStatus, 6 > | edgeStatusNames_ |
static const Foam::NamedEnum< sideVolumeType, 4 > | sideVolumeTypeNames_ |
static scalar | cosNormalAngleTol_ |
Angular closeness tolerance for treating normals as the same. More... | |
static label | nPointTypes = 4 |
Number of possible point types (i.e. number of slices) More... | |
static label | nEdgeTypes = 5 |
Number of possible feature edge types (i.e. number of slices) More... | |
![]() | |
static word | nativeExt |
The file extension corresponding to 'native' edge format. More... | |
Protected Member Functions | |
pointStatus | classifyFeaturePoint (label ptI) const |
Classify the type of feature point. Requires valid stored member. More... | |
void | cut (const searchableSurface &, labelList &pMap, labelList &eMap, labelList &pointsFromEdge, labelList &oldEdge, labelList &surfTri) |
Cut edges with surface. Return map from cut points&edges back. More... | |
void | select (const searchableSurface &surf, const volumeType volType, labelList &pMap, labelList &eMap) |
Remove outside/inside edges. volType denotes which side to keep. More... | |
template<class Patch > | |
void | sortPointsAndEdges (const Patch &, const labelList &featureEdges, const labelList ®ionFeatureEdges, const labelList &feaurePoints) |
![]() | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
edgeList & | storedEdges () |
Non-const access to the edges. More... | |
Protected Attributes | |
label | concaveStart_ |
Index of the start of the concave feature points. More... | |
label | mixedStart_ |
Index of the start of the mixed type feature points. More... | |
label | nonFeatureStart_ |
Index of the start of the non-feature points. More... | |
label | internalStart_ |
Index of the start of the internal feature edges. More... | |
label | flatStart_ |
Index of the start of the flat feature edges. More... | |
label | openStart_ |
Index of the start of the open feature edges. More... | |
label | multipleStart_ |
Index of the start of the multiply-connected feature edges. More... | |
vectorField | normals_ |
Normals of the features, to be referred to by index by both feature. More... | |
List< sideVolumeType > | normalVolumeTypes_ |
Type per normal: which side of normal to mesh. More... | |
vectorField | edgeDirections_ |
Flat and open edges require the direction of the edge. More... | |
labelListList | normalDirections_ |
Starting directions for the edges. More... | |
labelListList | edgeNormals_ |
Indices of the normals that are adjacent to the feature edges. More... | |
labelListList | featurePointNormals_ |
Indices of the normals that are adjacent to the feature points. More... | |
labelListList | featurePointEdges_ |
Indices of feature edges attached to feature points. The edges are. More... | |
labelList | regionEdges_ |
Feature edges which are on the boundary between regions. More... | |
autoPtr< indexedOctree< treeDataPoint > > | pointTree_ |
Search tree for all feature points. More... | |
autoPtr< indexedOctree< treeDataEdge > > | edgeTree_ |
Search tree for all edges. More... | |
PtrList< indexedOctree< treeDataEdge > > | edgeTreesByType_ |
Individual search trees for each type of edge. More... | |
Static Protected Attributes | |
static label | convexStart_ = 0 |
Index of the start of the convex feature points - static as 0. More... | |
static label | externalStart_ = 0 |
Index of the start of the external feature edges - static as 0. More... | |
Friends | |
Istream & | operator>> (Istream &is, sideVolumeType &vt) |
Ostream & | operator<< (Ostream &os, const sideVolumeType &vt) |
Ostream & | operator<< (Ostream &, const extendedEdgeMesh &) |
Istream & | operator>> (Istream &, extendedEdgeMesh &) |
Additional Inherited Members | |
![]() | |
static string | getLineNoComment (IFstream &) |
Read non-comment line. More... | |
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.
Definition at line 81 of file extendedEdgeMesh.H.
enum pointStatus |
Enumerator | |
---|---|
CONVEX | |
CONCAVE | |
MIXED | |
NONFEATURE |
Definition at line 91 of file extendedEdgeMesh.H.
enum edgeStatus |
Enumerator | |
---|---|
EXTERNAL | |
INTERNAL | |
FLAT | |
OPEN | |
MULTIPLE | |
NONE |
Definition at line 101 of file extendedEdgeMesh.H.
enum sideVolumeType |
Normals point to the outside.
Enumerator | |
---|---|
INSIDE | |
OUTSIDE | |
BOTH | |
NEITHER |
Definition at line 115 of file extendedEdgeMesh.H.
extendedEdgeMesh | ( | ) |
Construct null.
Definition at line 403 of file extendedEdgeMesh.C.
|
explicit |
Construct as copy.
Definition at line 427 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const fileName & | name | ) |
Construct from file name (uses extension to determine type)
Definition at line 675 of file extendedEdgeMesh.C.
References Foam::name(), and extendedEdgeMesh::read().
extendedEdgeMesh | ( | const fileName & | name, |
const word & | ext | ||
) |
Construct from file name (uses extension to determine type)
Definition at line 646 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::read().
extendedEdgeMesh | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 451 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const Xfer< pointField > & | pointLst, |
const Xfer< edgeList > & | edgeLst | ||
) |
Construct by transferring components (points, edges)
Definition at line 458 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const surfaceFeatures & | sFeat, |
const boolList & | surfBaffleRegions | ||
) |
Construct given a surface with selected edges,points.
(surfaceFeatures) Extracts, classifies and reorders the data from surfaceFeatures.
Definition at line 486 of file extendedEdgeMesh.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), Foam::faceMap(), surfaceFeatures::featureEdges(), surfaceFeatures::featurePoints(), forAll, Foam::identity(), surfaceFeatures::nRegionEdges(), List::setSize(), List::size(), and surfaceFeatures::surface().
extendedEdgeMesh | ( | const PrimitivePatch< face, List, pointField, point > & | surf, |
const labelList & | featureEdges, | ||
const labelList & | regionFeatureEdges, | ||
const labelList & | featurePoints | ||
) |
Construct from PrimitivePatch.
Definition at line 565 of file extendedEdgeMesh.C.
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 | ||
) |
Construct from all components.
Definition at line 603 of file extendedEdgeMesh.C.
~extendedEdgeMesh | ( | ) |
Destructor.
Definition at line 703 of file extendedEdgeMesh.C.
TypeName | ( | "extendedEdgeMesh" | ) |
Runtime type information.
|
protected |
Classify the type of feature point. Requires valid stored member.
data for edges and normals.
Definition at line 176 of file extendedEdgeMesh.C.
References forAll, and List::size().
|
protected |
Cut edges with surface. Return map from cut points&edges back.
to original
Definition at line 222 of file extendedEdgeMesh.C.
References Foam::DelaunayMeshTools::allPoints(), DynamicList::append(), DynamicField::append(), DynamicList::capacity(), DynamicField::capacity(), Foam::e, searchableSurface::findLineAll(), forAll, Foam::identity(), points, DynamicList::setCapacity(), DynamicField::setCapacity(), List::size(), and List::transfer().
|
protected |
Remove outside/inside edges. volType denotes which side to keep.
Definition at line 324 of file extendedEdgeMesh.C.
References Foam::e, forAll, searchableSurface::getVolumeType(), Foam::identity(), volumeType::INSIDE, Foam::labelMax, volumeType::OUTSIDE, points, List::setSize(), and List::size().
|
protected |
Definition at line 37 of file extendedEdgeMeshTemplates.C.
References Foam::abort(), DynamicList::append(), Vector< Cmpt >::centre(), Foam::cross(), edge::end(), Foam::faceMap(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), forAll, Foam::identity(), Foam::inplaceRenumber(), Foam::inplaceReorder(), Foam::invert(), k, Foam::mag(), Foam::nl, points, DynamicList::setCapacity(), List::setSize(), List::size(), edge::start(), List::transfer(), edge::vec(), vectorField(), and Foam::xferMove().
|
static |
Can we read this file format?
Definition at line 158 of file extendedEdgeMesh.C.
References Foam::name().
|
static |
Can we read this file format?
Definition at line 126 of file extendedEdgeMesh.C.
|
static |
Can we write this file format type?
Definition at line 142 of file extendedEdgeMesh.C.
|
static |
Definition at line 111 of file extendedEdgeMesh.C.
|
static |
Definition at line 117 of file extendedEdgeMesh.C.
declareRunTimeSelectionTable | ( | autoPtr | , |
extendedEdgeMesh | , | ||
fileExtension | , | ||
(const fileName &name) | , | ||
(name) | |||
) |
|
static |
Select constructed from filename (explicit extension)
Definition at line 40 of file extendedEdgeMeshNew.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::name(), and Foam::nl.
|
static |
Select constructed from filename (implicit extension)
Definition at line 63 of file extendedEdgeMeshNew.C.
References Foam::name(), and Foam::compressible::New().
void nearestFeaturePoint | ( | const point & | sample, |
scalar | searchDistSqr, | ||
pointIndexHit & | info | ||
) | const |
Find nearest surface edge for the sample point.
Definition at line 738 of file extendedEdgeMesh.C.
void nearestFeatureEdge | ( | const point & | sample, |
scalar | searchDistSqr, | ||
pointIndexHit & | info | ||
) | const |
Find nearest surface edge for the sample point.
Definition at line 753 of file extendedEdgeMesh.C.
void nearestFeatureEdge | ( | const pointField & | samples, |
const scalarField & | searchDistSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find nearest surface edge for each sample point.
Definition at line 768 of file extendedEdgeMesh.C.
References forAll, samples(), and List::setSize().
void nearestFeatureEdgeByType | ( | const point & | sample, |
const scalarField & | searchDistSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find the nearest point on each type of feature edge.
Definition at line 789 of file extendedEdgeMesh.C.
References forAll, List::setSize(), and PtrList::size().
void allNearestFeaturePoints | ( | const point & | sample, |
scalar | searchRadiusSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find all the feature points within searchDistSqr of sample.
Definition at line 825 of file extendedEdgeMesh.C.
References DynamicList::append(), forAll, points, List::size(), and List::transfer().
Referenced by main().
void allNearestFeatureEdges | ( | const point & | sample, |
const scalar | searchRadiusSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find all the feature edges within searchDistSqr of sample.
Definition at line 856 of file extendedEdgeMesh.C.
References DynamicList::append(), Foam::e, forAll, PointHit::hit(), points, PointHit::rawPoint(), List::setSize(), PtrList::size(), and List::transfer().
Referenced by main().
|
inline |
Return the index of the start of the convex feature points.
Definition at line 28 of file extendedEdgeMeshI.H.
References extendedEdgeMesh::convexStart_.
|
inline |
Return the index of the start of the concave feature points.
Definition at line 34 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return the index of the start of the mixed type feature points.
Definition at line 40 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return the index of the start of the non-feature points.
Definition at line 46 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), refinementFeatures::buildTrees(), and writeStats().
|
inline |
Return the index of the start of the external feature edges.
Definition at line 52 of file extendedEdgeMeshI.H.
|
inline |
Return the index of the start of the internal feature edges.
Definition at line 58 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return the index of the start of the flat feature edges.
Definition at line 64 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return the index of the start of the open feature edges.
Definition at line 70 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return the index of the start of the multiply-connected feature.
edges
Definition at line 76 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and writeStats().
|
inline |
Return whether or not the point index is a feature point.
Definition at line 82 of file extendedEdgeMeshI.H.
|
inline |
Return the normals of the surfaces adjacent to the feature edges.
and points
Definition at line 88 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return.
Definition at line 95 of file extendedEdgeMeshI.H.
|
inline |
Return the edgeDirection vectors.
Definition at line 101 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Definition at line 109 of file extendedEdgeMeshI.H.
|
inline |
Return the direction of edgeI, pointing away from ptI.
Definition at line 116 of file extendedEdgeMeshI.H.
References Foam::e, Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Vector< scalar >::zero.
|
inline |
Return the indices of the normals that are adjacent to the.
feature edges
Definition at line 144 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given set of normal indices.
Definition at line 152 of file extendedEdgeMeshI.H.
References forAll, and List::size().
|
inline |
Return the normal vectors for a given edge.
Definition at line 167 of file extendedEdgeMeshI.H.
|
inline |
Return the indices of the normals that are adjacent to the.
feature points
Definition at line 175 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given feature point.
Definition at line 182 of file extendedEdgeMeshI.H.
References Foam::endl(), forAll, List::size(), and WarningInFunction.
|
inline |
Return the edge labels for a given feature point. Edges are.
ordered by the faces that they share. The edge labels correspond to the entry in edges().
Definition at line 210 of file extendedEdgeMeshI.H.
|
inline |
Return the feature edges which are on the boundary between.
regions
Definition at line 216 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and refinementFeatures::regionEdgeTrees().
|
inline |
Return the pointStatus of a specified point.
Definition at line 223 of file extendedEdgeMeshI.H.
|
inline |
Return the edgeStatus of a specified edge.
Definition at line 245 of file extendedEdgeMeshI.H.
|
inline |
Return the baffle faces of a specified edge.
Definition at line 271 of file extendedEdgeMeshI.H.
References DynamicList::append(), forAll, and List::size().
const Foam::indexedOctree< Foam::treeDataPoint > & pointTree | ( | ) | const |
Demand driven construction of octree for feature points.
Definition at line 912 of file extendedEdgeMesh.C.
References Foam::e, Foam::identity(), boundBox::max(), boundBox::min(), points, and rndGen().
const Foam::indexedOctree< Foam::treeDataEdge > & edgeTree | ( | ) | const |
Demand driven construction of octree for boundary edges.
Definition at line 952 of file extendedEdgeMesh.C.
References Foam::e, Foam::identity(), boundBox::max(), boundBox::min(), points, and rndGen().
const Foam::PtrList< Foam::indexedOctree< Foam::treeDataEdge > > & edgeTreesByType | ( | ) | const |
Demand driven construction of octree for boundary edges by type.
Definition at line 994 of file extendedEdgeMesh.C.
References Foam::e, forAll, Foam::identity(), boundBox::max(), boundBox::min(), points, and rndGen().
void transfer | ( | extendedEdgeMesh & | mesh | ) |
Transfer the contents of the argument and annul the argument.
Definition at line 1058 of file extendedEdgeMesh.C.
References mesh, edgeMesh::transfer(), and HashTable::transfer().
Foam::Xfer< Foam::extendedEdgeMesh > xfer | ( | ) |
Transfer contents to the Xfer container.
Definition at line 1083 of file extendedEdgeMesh.C.
|
virtual |
Clear all storage.
Reimplemented from edgeMesh.
Definition at line 1089 of file extendedEdgeMesh.C.
References edgeMesh::clear().
void add | ( | const extendedEdgeMesh & | fem | ) |
Add extendedEdgeMesh. No filtering of duplicates.
Definition at line 1113 of file extendedEdgeMesh.C.
References DynamicList::append(), DynamicField::append(), extendedEdgeMesh::concaveStart(), Foam::e, extendedEdgeMesh::edgeDirections(), extendedEdgeMesh::edgeNormals(), edgeMesh::edges(), extendedEdgeMesh::featurePointNormals(), extendedEdgeMesh::flatStart(), forAll, extendedEdgeMesh::internalStart(), extendedEdgeMesh::mixedStart(), extendedEdgeMesh::multipleStart(), extendedEdgeMesh::nonFeatureStart(), extendedEdgeMesh::normals(), extendedEdgeMesh::openStart(), points, edgeMesh::points(), extendedEdgeMesh::regionEdges(), Field::rmap(), List::size(), List::xfer(), and Foam::xferMove().
Referenced by main().
void flipNormals | ( | ) |
Flip normals. All concave become convex, all internal external.
etc.
Definition at line 1361 of file extendedEdgeMesh.C.
References Foam::e, forAll, Foam::identity(), points, Field::rmap(), List::xfer(), and Foam::xferMove().
void autoMap | ( | const pointField & | subPoints, |
const edgeList & | subEdges, | ||
const labelList & | pointMap, | ||
const labelList & | edgeMap | ||
) |
Update with derived geometry.
Definition at line 1470 of file extendedEdgeMesh.C.
References DynamicList::append(), forAll, List::setSize(), List::size(), and List::transfer().
void trim | ( | const searchableSurface & | surf, |
const volumeType | volType, | ||
labelList & | pointMap, | ||
labelList & | edgeMap | ||
) |
Trim to surface. Keep volType side. Return map from current back.
to original points (-1 for newly introduced points), edges
Definition at line 1722 of file extendedEdgeMesh.C.
void setFromStatus | ( | const List< extendedEdgeMesh::pointStatus > & | pointStat, |
const List< extendedEdgeMesh::edgeStatus > & | edgeStat, | ||
labelList & | sortedToOriginalPoint, | ||
labelList & | sortedToOriginalEdge | ||
) |
Order according to point and edge status.
Definition at line 1805 of file extendedEdgeMesh.C.
References forAll, Foam::inplaceRenumber(), points, and Foam::sortedOrder().
Geometric merge points. Returns true if any points merged.
Return maps from new back to original points/edges.
Definition at line 1873 of file extendedEdgeMesh.C.
References forAll, Foam::identity(), Foam::mergePoints(), nPoints, points, List::setSize(), and List::size().
Read from file. Chooses reader based on explicit extension.
Definition at line 726 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::compressible::New().
Referenced by extendedEdgeMesh::extendedEdgeMesh().
|
virtual |
Read from file. Chooses reader based on detected extension.
Reimplemented from edgeMesh.
Reimplemented in extendedEdgeMeshFormat.
Definition at line 709 of file extendedEdgeMesh.C.
References fileName::ext(), Foam::name(), and Foam::read().
void writeObj | ( | const fileName & | prefix | ) | const |
Write all components of the extendedEdgeMesh as obj files.
Definition at line 1961 of file extendedEdgeMesh.C.
References Foam::e, Foam::endl(), forAll, Foam::Info, OFstream::name(), Foam::nl, points, OBJstream::write(), and edgeMesh::write().
Referenced by main().
|
virtual |
Dump some information.
Reimplemented from edgeMesh.
Definition at line 2116 of file extendedEdgeMesh.C.
References Foam::decrIndent(), Foam::incrIndent(), Foam::indent(), Foam::nl, points, Foam::setw(), and edgeMesh::writeStats().
|
static |
Classify the type of feature edge. Requires face centre 0 to face.
centre 1 vector to distinguish internal from external
Definition at line 2168 of file extendedEdgeMesh.C.
References List::size().
|
static |
Determine the ordering.
Definition at line 2211 of file extendedEdgeMesh.C.
References extendedEdgeMesh::CONCAVE, extendedEdgeMesh::CONVEX, Foam::exit(), extendedEdgeMesh::EXTERNAL, Foam::FatalError, FatalErrorInFunction, extendedEdgeMesh::FLAT, forAll, extendedEdgeMesh::INTERNAL, extendedEdgeMesh::MIXED, extendedEdgeMesh::MULTIPLE, extendedEdgeMesh::NONE, extendedEdgeMesh::NONFEATURE, extendedEdgeMesh::OPEN, List::setSize(), and List::size().
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
Definition at line 99 of file extendedEdgeMesh.H.
|
static |
Definition at line 112 of file extendedEdgeMesh.H.
|
static |
Definition at line 123 of file extendedEdgeMesh.H.
|
static |
Angular closeness tolerance for treating normals as the same.
Definition at line 126 of file extendedEdgeMesh.H.
|
staticprotected |
Index of the start of the convex feature points - static as 0.
Definition at line 134 of file extendedEdgeMesh.H.
Referenced by extendedEdgeMesh::convexStart().
|
staticprotected |
Index of the start of the external feature edges - static as 0.
Definition at line 137 of file extendedEdgeMesh.H.
|
protected |
Index of the start of the concave feature points.
Definition at line 143 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the mixed type feature points.
Definition at line 146 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the non-feature points.
Definition at line 149 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the internal feature edges.
Definition at line 152 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the flat feature edges.
Definition at line 155 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the open feature edges.
Definition at line 158 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the multiply-connected feature edges.
Definition at line 161 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Normals of the features, to be referred to by index by both feature.
points and edges, unsorted
Definition at line 165 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Type per normal: which side of normal to mesh.
Definition at line 168 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Flat and open edges require the direction of the edge.
Definition at line 171 of file extendedEdgeMesh.H.
Referenced by extendedFeatureEdgeMesh::extendedFeatureEdgeMesh().
|
protected |
Starting directions for the edges.
This vector points to the half of the plane defined by the first edge normal.
Definition at line 176 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Indices of the normals that are adjacent to the feature edges.
Definition at line 179 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Indices of the normals that are adjacent to the feature points.
(only valid for 0..nonFeatureStart_-1)
Definition at line 183 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Indices of feature edges attached to feature points. The edges are.
ordered so that they can be circulated.
Definition at line 187 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Feature edges which are on the boundary between regions.
Definition at line 190 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
mutableprotected |
Search tree for all feature points.
Definition at line 193 of file extendedEdgeMesh.H.
|
mutableprotected |
Search tree for all edges.
Definition at line 196 of file extendedEdgeMesh.H.
|
mutableprotected |
Individual search trees for each type of edge.
Definition at line 199 of file extendedEdgeMesh.H.
|
static |
Number of possible point types (i.e. number of slices)
Definition at line 243 of file extendedEdgeMesh.H.
|
static |
Number of possible feature edge types (i.e. number of slices)
Definition at line 246 of file extendedEdgeMesh.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.