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... | |
![]() | |
typedef faMesh | Mesh |
typedef faMesh ::BoundaryMesh | BoundaryMesh |
Public Member Functions | |
TypeName ("extendedEdgeMesh") | |
Runtime type information. More... | |
extendedEdgeMesh () | |
Default construct. More... | |
extendedEdgeMesh (const extendedEdgeMesh &fem) | |
Copy construct. More... | |
extendedEdgeMesh (const fileName &name) | |
Construct from file name (uses extension to determine type) More... | |
extendedEdgeMesh (const fileName &name, const word &fileType) | |
Construct from file name with given format type. More... | |
extendedEdgeMesh (Istream &is) | |
Construct from Istream. More... | |
extendedEdgeMesh (const pointField &points, const edgeList &edges) | |
Copy construct from components. More... | |
extendedEdgeMesh (pointField &&points, edgeList &&edges) | |
Move construct from components. More... | |
extendedEdgeMesh (const surfaceFeatures &sFeat, const boolList &surfBaffleRegions) | |
Construct given a surface with selected edges,points. More... | |
extendedEdgeMesh (const PrimitivePatch< faceList, pointField > &surf, const labelUList &featureEdges, const labelUList ®ionFeatureEdges, const labelUList &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 ()=default | |
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 &mesh) |
Transfer the contents of the argument and annul the argument. More... | |
virtual void | clear () |
Clear all storage. More... | |
void | add (const extendedEdgeMesh &fem) |
Add extendedEdgeMesh. No filtering of duplicates. More... | |
void | flipNormals () |
Flip normals. All concave become convex, all internal external. More... | |
void | autoMap (const pointField &subPoints, const edgeList &subEdges, 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 &name, const word &ext) |
Read from file. Chooses reader based on explicit extension. More... | |
virtual bool | read (const fileName &name) |
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... | |
![]() | |
edgeMesh (const faMesh &mesh) | |
Construct finite-area edge mesh faMesh reference. More... | |
label | size () const |
Return size. Number of internal edges. More... | |
const edgeVectorField & | C () const |
Field of edge centres. More... | |
TypeName ("edgeMesh") | |
Runtime type information. More... | |
edgeMesh () | |
Default construct. More... | |
edgeMesh (const edgeMesh &em) | |
Copy construct. More... | |
edgeMesh (edgeMesh &&em) | |
Move construct. More... | |
edgeMesh (const pointField &points, const edgeList &edges) | |
Copy construct from components. More... | |
edgeMesh (pointField &&pointLst, edgeList &&edgeLst) | |
Move construct from components. More... | |
edgeMesh (const fileName &name) | |
Construct from file name (uses extension to determine type) More... | |
edgeMesh (const fileName &name, const word &fileType) | |
Construct from file name with specified type. More... | |
declareRunTimeSelectionTable (autoPtr, edgeMesh, fileExtension,(const fileName &name),(name)) | |
virtual | ~edgeMesh ()=default |
Destructor. More... | |
declareMemberFunctionSelectionTable (void, edgeMesh, write, fileExtension,(const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt, const dictionary &options),(name, mesh, streamOpt, options)) | |
void | transfer (edgeMesh &mesh) |
Transfer the contents of the argument and annul the argument. More... | |
bool | read (const fileName &name, const word &fileType) |
Read from file. Chooses reader based on explicit extension. More... | |
const pointField & | points () const noexcept |
Return points. More... | |
const edgeList & | edges () const noexcept |
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 | scalePoints (const scalar scaleFactor) |
Scale points. A non-positive factor is ignored. More... | |
virtual void | mergePoints (const scalar mergeDist) |
Geometric merge points (points within mergeDist) prior to. More... | |
virtual void | mergeEdges () |
Merge duplicate edges and eliminate unused points. More... | |
virtual void | write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
Write to file, choosing writer based on the file extension. More... | |
virtual void | write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
Write to file with given format type. More... | |
void | operator= (const edgeMesh &rhs) |
Copy assignment. More... | |
void | operator= (edgeMesh &&rhs) |
Move assignment. More... | |
![]() | |
GeoMesh (const faMesh &mesh) | |
Construct from mesh reference. More... | |
bool | hasDb () const |
Return true if thisDb() is a valid DB - here = false. More... | |
const objectRegistry & | thisDb () const |
Return the object registry. More... | |
const faMesh & | operator() () const |
Return reference to the underlying mesh. More... | |
Static Public Member Functions | |
static wordHashSet | readTypes () |
Summary of supported read file types. More... | |
static wordHashSet | writeTypes () |
Summary of supported write file types. More... | |
static bool | canReadType (const word &fileType, bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &fileType, bool verbose=false) |
Can we write this file format type? More... | |
static bool | canRead (const fileName &name, bool verbose=false) |
Can we read this file format? More... | |
static autoPtr< extendedEdgeMesh > | New (const fileName &name, const word &fileType) |
Select constructed from filename with given file format. More... | |
static autoPtr< extendedEdgeMesh > | New (const fileName &name) |
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 label | size (const Mesh &mesh) |
Return size. Number of internal edges. More... | |
static wordHashSet | readTypes () |
Summary of supported read file types. More... | |
static wordHashSet | writeTypes () |
Summary of supported write file types. More... | |
static bool | canReadType (const word &fileType, bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &fileType, bool verbose=false) |
Can we write this file format type? More... | |
static bool | canRead (const fileName &name, bool verbose=false) |
Can we read this file format? More... | |
static autoPtr< edgeMesh > | New (const fileName &name, const word &fileType) |
Read construct from filename with given format. More... | |
static autoPtr< edgeMesh > | New (const fileName &name) |
Select constructed from filename (implicit extension) More... | |
static void | write (const fileName &name, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
Write to file (format implicit in the extension) More... | |
static void | write (const fileName &name, const word &fileType, const edgeMesh &mesh, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
Write to file, with given format. More... | |
Static Public Attributes | |
static const Enum< pointStatus > | pointStatusNames_ |
static const Enum< edgeStatus > | edgeStatusNames_ |
static const Enum< sideVolumeType > | sideVolumeTypeNames_ |
static scalar | cosNormalAngleTol_ |
Angular closeness tolerance for treating normals as the same. More... | |
static constexpr label | nPointTypes = 4 |
Number of possible point types (i.e. number of slices) More... | |
static constexpr label | nEdgeTypes = 5 |
Number of possible feature edge types (i.e. number of slices) More... | |
Protected Member Functions | |
extendedEdgeMesh (class one::minus) | |
Construct null, initializing start indices with -1. More... | |
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 labelUList &featureEdges, const labelUList ®ionFeatureEdges, const labelUList &feaurePoints) |
![]() | |
pointField & | storedPoints () noexcept |
Non-const access to global points. More... | |
edgeList & | storedEdges () noexcept |
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... | |
unique_ptr< indexedOctree< treeDataPoint > > | pointTree_ |
Search tree for all feature points. More... | |
unique_ptr< indexedOctree< treeDataEdge > > | edgeTree_ |
Search tree for all edges. More... | |
PtrList< indexedOctree< treeDataEdge > > | edgeTreesByType_ |
Individual search trees for each type of edge. More... | |
![]() | |
const faMesh & | mesh_ |
Reference to Mesh. 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 &) |
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 85 of file extendedEdgeMesh.H.
enum 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 94 of file extendedEdgeMesh.H.
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 104 of file extendedEdgeMesh.H.
enum sideVolumeType |
Normals point to the outside.
Enumerator | |
---|---|
INSIDE | mesh inside |
OUTSIDE | mesh outside |
BOTH | e.g. a baffle |
NEITHER | not sure when this may be used |
Definition at line 117 of file extendedEdgeMesh.H.
|
explicitprotected |
Construct null, initializing start indices with -1.
Definition at line 401 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | ) |
Default construct.
Definition at line 377 of file extendedEdgeMesh.C.
|
explicit |
Copy construct.
Definition at line 425 of file extendedEdgeMesh.C.
|
explicit |
Construct from file name (uses extension to determine type)
Definition at line 617 of file extendedEdgeMesh.C.
References Foam::name(), and extendedEdgeMesh::read().
extendedEdgeMesh | ( | const fileName & | name, |
const word & | fileType | ||
) |
Construct from file name with given format type.
Definition at line 606 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::read().
|
explicit |
Construct from Istream.
Definition at line 449 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const pointField & | points, |
const edgeList & | edges | ||
) |
Copy construct from components.
Definition at line 456 of file extendedEdgeMesh.C.
References points.
extendedEdgeMesh | ( | pointField && | points, |
edgeList && | edges | ||
) |
Move construct from components.
Definition at line 469 of file extendedEdgeMesh.C.
References points, and extendedEdgeMesh::transfer().
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 482 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const PrimitivePatch< faceList, pointField > & | surf, |
const labelUList & | featureEdges, | ||
const labelUList & | regionFeatureEdges, | ||
const labelUList & | featurePoints | ||
) |
Construct from PrimitivePatch.
Definition at line 543 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 563 of file extendedEdgeMesh.C.
|
default |
Destructor.
TypeName | ( | "extendedEdgeMesh" | ) |
Runtime type information.
|
protected |
Classify the type of feature point. Requires valid stored member.
data for edges and normals.
Definition at line 152 of file extendedEdgeMesh.C.
References forAll.
|
protected |
Cut edges with surface. Return map from cut points&edges back.
to original
Definition at line 196 of file extendedEdgeMesh.C.
References Foam::DelaunayMeshTools::allPoints(), DynamicList< T, SizeMin >::append(), DynamicField< T, SizeMin >::append(), DynamicList< T, SizeMin >::capacity(), DynamicField< T, SizeMin >::capacity(), Foam::constant::electromagnetic::e, stdFoam::end(), searchableSurface::findLineAll(), forAll, Foam::identity(), points, DynamicList< T, SizeMin >::setCapacity(), DynamicField< T, SizeMin >::setCapacity(), and List< T >::transfer().
|
protected |
Remove outside/inside edges. volType denotes which side to keep.
Definition at line 298 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, searchableSurface::getVolumeType(), Foam::identity(), volumeType::INSIDE, Foam::labelMax, volumeType::OUTSIDE, points, and List< T >::setSize().
|
protected |
Definition at line 40 of file extendedEdgeMeshTemplates.C.
References Foam::abort(), DynamicList< T, SizeMin >::append(), Vector< Cmpt >::centre(), Foam::cross(), edge::end(), Foam::faceMap(), faceNormals(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::identity(), Foam::ListListOps::inplaceRenumber(), Foam::inplaceReorder(), Foam::invert(), k, Foam::mag(), Foam::nl, points, DynamicList< T, SizeMin >::setCapacity(), List< T >::setSize(), UList< T >::size(), edge::start(), bitSet::test(), List< T >::transfer(), edge::vec(), and Foam::Zero.
|
static |
Summary of supported read file types.
Definition at line 101 of file extendedEdgeMesh.C.
|
static |
Summary of supported write file types.
Definition at line 107 of file extendedEdgeMesh.C.
Can we read this file format?
Definition at line 113 of file extendedEdgeMesh.C.
Can we write this file format type?
Definition at line 125 of file extendedEdgeMesh.C.
Can we read this file format?
Definition at line 137 of file extendedEdgeMesh.C.
References word::ext(), word::lessExt(), and Foam::name().
declareRunTimeSelectionTable | ( | autoPtr | , |
extendedEdgeMesh | , | ||
fileExtension | , | ||
(const fileName &name) | , | ||
(name) | |||
) |
|
static |
Select constructed from filename with given file format.
Definition at line 42 of file extendedEdgeMeshNew.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::flatOutput(), Foam::name(), and Foam::nl.
|
static |
Select constructed from filename (implicit extension)
Definition at line 64 of file extendedEdgeMeshNew.C.
References word::ext(), word::lessExt(), Foam::name(), and Foam::New().
void nearestFeaturePoint | ( | const point & | sample, |
scalar | searchDistSqr, | ||
pointIndexHit & | info | ||
) | const |
Find nearest surface edge for the sample point.
Definition at line 653 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 668 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 683 of file extendedEdgeMesh.C.
References forAll, samples(), and List< T >::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 704 of file extendedEdgeMesh.C.
References forAll, and List< T >::setSize().
void allNearestFeaturePoints | ( | const point & | sample, |
scalar | searchRadiusSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find all the feature points within searchDistSqr of sample.
Definition at line 740 of file extendedEdgeMesh.C.
References forAll, points, and List< T >::transfer().
Referenced by Foam::edgeMeshTools::featureProximity().
void allNearestFeatureEdges | ( | const point & | sample, |
const scalar | searchRadiusSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find all the feature edges within searchDistSqr of sample.
Definition at line 771 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, PointHit< PointType >::hit(), points, PointHit< PointType >::rawPoint(), List< T >::setSize(), and List< T >::transfer().
Referenced by Foam::edgeMeshTools::featureProximity().
|
inline |
Return the index of the start of the convex feature points.
Definition at line 30 of file extendedEdgeMeshI.H.
References extendedEdgeMesh::convexStart_.
|
inline |
Return the index of the start of the concave feature points.
Definition at line 36 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the mixed type feature points.
Definition at line 42 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the non-feature points.
Definition at line 48 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the external feature edges.
Definition at line 54 of file extendedEdgeMeshI.H.
|
inline |
Return the index of the start of the internal feature edges.
Definition at line 60 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the flat feature edges.
Definition at line 66 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the open feature edges.
Definition at line 72 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return the index of the start of the multiply-connected feature.
edges
Definition at line 78 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and Foam::edgeMeshTools::writeStats().
|
inline |
Return whether or not the point index is a feature point.
Definition at line 84 of file extendedEdgeMeshI.H.
|
inline |
Return the normals of the surfaces adjacent to the feature edges.
and points
Definition at line 90 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return.
Definition at line 97 of file extendedEdgeMeshI.H.
|
inline |
Return the edgeDirection vectors.
Definition at line 103 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Definition at line 111 of file extendedEdgeMeshI.H.
|
inline |
Return the direction of edgeI, pointing away from ptI.
Definition at line 118 of file extendedEdgeMeshI.H.
References Foam::constant::electromagnetic::e, Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::Zero.
|
inline |
Return the indices of the normals that are adjacent to the.
feature edges
Definition at line 146 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given set of normal indices.
Definition at line 154 of file extendedEdgeMeshI.H.
References forAll.
|
inline |
Return the normal vectors for a given edge.
Definition at line 169 of file extendedEdgeMeshI.H.
|
inline |
Return the indices of the normals that are adjacent to the.
feature points
Definition at line 177 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given feature point.
Definition at line 184 of file extendedEdgeMeshI.H.
References Foam::endl(), forAll, 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 212 of file extendedEdgeMeshI.H.
|
inline |
Return the feature edges which are on the boundary between.
regions
Definition at line 218 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and refinementFeatures::regionEdgeTrees().
|
inline |
Return the pointStatus of a specified point.
Definition at line 225 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 269 of file extendedEdgeMeshI.H.
References DynamicList< T, SizeMin >::append().
const Foam::indexedOctree< Foam::treeDataPoint > & pointTree | ( | ) | const |
Demand driven construction of octree for feature points.
Definition at line 827 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, Foam::identity(), boundBox::max(), boundBox::min(), points, rndGen, and VectorSpace< Vector< Cmpt >, Cmpt, 3 >::uniform().
const Foam::indexedOctree< Foam::treeDataEdge > & edgeTree | ( | ) | const |
Demand driven construction of octree for boundary edges.
Definition at line 867 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, Foam::identity(), boundBox::max(), boundBox::min(), points, rndGen, and VectorSpace< Vector< Cmpt >, Cmpt, 3 >::uniform().
const Foam::PtrList< Foam::indexedOctree< Foam::treeDataEdge > > & edgeTreesByType | ( | ) | const |
Demand driven construction of octree for boundary edges by type.
Definition at line 909 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, Foam::identity(), boundBox::max(), boundBox::min(), points, rndGen, and VectorSpace< Vector< Cmpt >, Cmpt, 3 >::uniform().
void transfer | ( | extendedEdgeMesh & | mesh | ) |
Transfer the contents of the argument and annul the argument.
Definition at line 974 of file extendedEdgeMesh.C.
References objectRegistry::clear(), mesh, edgeMesh::transfer(), and HashTable< T, Key, Hash >::transfer().
Referenced by extendedEdgeMesh::extendedEdgeMesh().
|
virtual |
Clear all storage.
Reimplemented from edgeMesh.
Definition at line 1006 of file extendedEdgeMesh.C.
References edgeMesh::clear().
void add | ( | const extendedEdgeMesh & | fem | ) |
Add extendedEdgeMesh. No filtering of duplicates.
Definition at line 1030 of file extendedEdgeMesh.C.
References DynamicField< T, SizeMin >::append(), extendedEdgeMesh::concaveStart(), Foam::constant::electromagnetic::e, extendedEdgeMesh::edgeDirections(), extendedEdgeMesh::edgeNormals(), edgeMesh::edges(), extendedEdgeMesh::featurePointNormals(), extendedEdgeMesh::flatStart(), forAll, extendedEdgeMesh::internalStart(), extendedEdgeMesh::mixedStart(), extendedEdgeMesh::multipleStart(), newPointi, extendedEdgeMesh::nonFeatureStart(), extendedEdgeMesh::normals(), extendedEdgeMesh::openStart(), points, edgeMesh::points(), extendedEdgeMesh::regionEdges(), Field< Type >::rmap(), and edgeMesh::transfer().
void flipNormals | ( | ) |
Flip normals. All concave become convex, all internal external.
etc.
Definition at line 1300 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, Foam::identity(), newPointi, points, Field< Type >::rmap(), and edgeMesh::transfer().
void autoMap | ( | const pointField & | subPoints, |
const edgeList & | subEdges, | ||
const labelList & | pointMap, | ||
const labelList & | edgeMap | ||
) |
Update with derived geometry.
Definition at line 1412 of file extendedEdgeMesh.C.
References DynamicList< T, SizeMin >::append(), forAll, bitSet::set(), List< T >::setSize(), bitSet::test(), and List< T >::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 1652 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 1735 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 1803 of file extendedEdgeMesh.C.
References forAll, Foam::identity(), Foam::mergePoints(), nPoints, points, List< T >::setSize(), and Foam::Zero.
Read from file. Chooses reader based on explicit extension.
Definition at line 641 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::New().
Referenced by extendedEdgeMesh::extendedEdgeMesh().
Read from file. Chooses reader based on detected extension.
Reimplemented from edgeMesh.
Reimplemented in extendedEdgeMeshFormat.
Definition at line 627 of file extendedEdgeMesh.C.
References word::ext(), fileName::ext(), word::lessExt(), Foam::name(), and Foam::read().
void writeObj | ( | const fileName & | prefix | ) | const |
Write all components of the extendedEdgeMesh as obj files.
Definition at line 1891 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, Foam::endl(), forAll, Foam::Info, OFstream::name(), Foam::nl, points, OBJstream::write(), and edgeMesh::write().
|
virtual |
Dump some information.
Reimplemented from edgeMesh.
Definition at line 2046 of file extendedEdgeMesh.C.
References Foam::decrIndent(), Foam::incrIndent(), Foam::indent(), Foam::nl, os(), 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 2098 of file extendedEdgeMesh.C.
|
static |
Determine the ordering.
Definition at line 2139 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, and List< T >::setSize().
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
Definition at line 102 of file extendedEdgeMesh.H.
|
static |
Definition at line 114 of file extendedEdgeMesh.H.
|
static |
Definition at line 125 of file extendedEdgeMesh.H.
Referenced by searchablePlateFeatures::searchablePlateFeatures().
|
static |
Angular closeness tolerance for treating normals as the same.
Definition at line 128 of file extendedEdgeMesh.H.
|
staticprotected |
Index of the start of the convex feature points - static as 0.
Definition at line 136 of file extendedEdgeMesh.H.
Referenced by extendedEdgeMesh::convexStart().
|
staticprotected |
Index of the start of the external feature edges - static as 0.
Definition at line 139 of file extendedEdgeMesh.H.
|
protected |
Index of the start of the concave feature points.
Definition at line 145 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 148 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the non-feature points.
Definition at line 151 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the internal feature edges.
Definition at line 154 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the flat feature edges.
Definition at line 157 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the open feature edges.
Definition at line 160 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 163 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 167 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Type per normal: which side of normal to mesh.
Definition at line 170 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 173 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 178 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 181 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 185 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 189 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Feature edges which are on the boundary between regions.
Definition at line 192 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
mutableprotected |
Search tree for all feature points.
Definition at line 195 of file extendedEdgeMesh.H.
|
mutableprotected |
Search tree for all edges.
Definition at line 198 of file extendedEdgeMesh.H.
|
mutableprotected |
Individual search trees for each type of edge.
Definition at line 201 of file extendedEdgeMesh.H.
|
staticconstexpr |
Number of possible point types (i.e. number of slices)
Definition at line 251 of file extendedEdgeMesh.H.
|
staticconstexpr |
Number of possible feature edge types (i.e. number of slices)
Definition at line 254 of file extendedEdgeMesh.H.