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 Types inherited from GeoMesh< faMesh > | |
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... | |
Public Member Functions inherited from edgeMesh | |
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... | |
Public Member Functions inherited from edgeMeshFormatsCore | |
edgeMeshFormatsCore ()=default | |
Default construct. More... | |
virtual | ~edgeMeshFormatsCore ()=default |
Destructor. More... | |
Public Member Functions inherited from GeoMesh< faMesh > | |
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 Public Member Functions inherited from edgeMesh | |
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 Member Functions inherited from edgeMeshFormatsCore | |
static bool | checkSupport (const wordHashSet &available, const word &fileType, const bool verbose=false, const char *functionName=nullptr) |
Verbose checking of fileType in the list of available types. 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... | |
Static Public Attributes inherited from edgeMeshFormatsCore | |
static word | nativeExt |
The file extension corresponding to 'native' edge format. More... | |
Protected Member Functions | |
extendedEdgeMesh (std::nullptr_t) | |
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) |
Protected Member Functions inherited from edgeMesh | |
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... | |
std::unique_ptr< indexedOctree< treeDataPoint > > | pointTree_ |
Search tree for all feature points. More... | |
std::unique_ptr< indexedOctree< treeDataEdge > > | edgeTree_ |
Search tree for all edges. More... | |
PtrList< indexedOctree< treeDataEdge > > | edgeTreesByType_ |
Individual search trees for each type of edge. More... | |
Protected Attributes inherited from GeoMesh< faMesh > | |
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 &) |
Additional Inherited Members | |
Static Protected Member Functions inherited from edgeMeshFormatsCore | |
static string | getLineNoComment (ISstream &is, const char comment='#') |
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 | 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 92 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 102 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 396 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | ) |
Default construct.
Definition at line 372 of file extendedEdgeMesh.C.
|
explicit |
Copy construct.
Definition at line 420 of file extendedEdgeMesh.C.
|
explicit |
Construct from file name (uses extension to determine type)
Definition at line 612 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 601 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::read().
|
explicit |
Construct from Istream.
Definition at line 444 of file extendedEdgeMesh.C.
extendedEdgeMesh | ( | const pointField & | points, |
const edgeList & | edges | ||
) |
Copy construct from components.
Definition at line 451 of file extendedEdgeMesh.C.
References points.
extendedEdgeMesh | ( | pointField && | points, |
edgeList && | edges | ||
) |
Move construct from components.
Definition at line 464 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 477 of file extendedEdgeMesh.C.
References PrimitivePatch< FaceList, PointField >::edgeFaces(), Foam::faceMap(), surfaceFeatures::featureEdges(), surfaceFeatures::featurePoints(), forAll, Foam::identity(), surfaceFeatures::nRegionEdges(), List< T >::setSize(), UList< T >::size(), and surfaceFeatures::surface().
extendedEdgeMesh | ( | const PrimitivePatch< faceList, pointField > & | surf, |
const labelUList & | featureEdges, | ||
const labelUList & | regionFeatureEdges, | ||
const labelUList & | featurePoints | ||
) |
Construct from PrimitivePatch.
Definition at line 538 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 558 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 147 of file extendedEdgeMesh.C.
References forAll, Foam::Detail::ListPolicy::MIXED, and UList< T >::size().
|
protected |
Cut edges with surface. Return map from cut points&edges back.
to original
Definition at line 191 of file extendedEdgeMesh.C.
References Foam::DelaunayMeshTools::allPoints(), DynamicField< T, SizeMin >::append(), DynamicList< 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(), UList< T >::size(), and List< T >::transfer().
|
protected |
Remove outside/inside edges. volType denotes which side to keep.
Definition at line 293 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, edgeCentres(), forAll, searchableSurface::getVolumeType(), Foam::identity(), volumeType::INSIDE, Foam::labelMax, volumeType::OUTSIDE, points, List< T >::setSize(), and UList< T >::size().
|
protected |
Definition at line 33 of file extendedEdgeMeshTemplates.C.
References Foam::abort(), DynamicList< T, SizeMin >::append(), Foam::cross(), edge::end(), UList< T >::end(), Foam::faceMap(), Foam::FatalError, FatalErrorInFunction, forAll, UList< T >::found(), Foam::identity(), Foam::ListListOps::inplaceRenumber(), Foam::inplaceReorder(), Foam::invert(), k, Foam::mag(), Foam::Detail::ListPolicy::MIXED, Foam::nl, points, pts, 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 94 of file extendedEdgeMesh.C.
|
static |
Summary of supported write file types.
Definition at line 100 of file extendedEdgeMesh.C.
|
static |
Can we read this file format?
Definition at line 106 of file extendedEdgeMesh.C.
|
static |
Can we write this file format type?
Definition at line 118 of file extendedEdgeMesh.C.
|
static |
Can we read this file format?
Definition at line 130 of file extendedEdgeMesh.C.
References word::ext(), word::has_ext(), and Foam::name().
declareRunTimeSelectionTable | ( | autoPtr | , |
extendedEdgeMesh | , | ||
fileExtension | , | ||
(const fileName &name) | , | ||
(name) | |||
) |
|
static |
Select constructed from filename with given file format.
Definition at line 35 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 57 of file extendedEdgeMeshNew.C.
References word::ext(), word::has_ext(), 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 646 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 661 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 676 of file extendedEdgeMesh.C.
References forAll, samples(), List< T >::setSize(), and UList< T >::size().
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 697 of file extendedEdgeMesh.C.
References forAll, List< T >::resize(), UPtrList< T >::size(), and tree().
void allNearestFeaturePoints | ( | const point & | sample, |
scalar | searchRadiusSqr, | ||
List< pointIndexHit > & | info | ||
) | const |
Find all the feature points within searchDistSqr of sample.
Definition at line 724 of file extendedEdgeMesh.C.
References UList< T >::size(), 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 755 of file extendedEdgeMesh.C.
References forAll, UPtrList< T >::size(), List< T >::transfer(), and tree().
Referenced by Foam::edgeMeshTools::featureProximity().
|
inline |
Return the index of the start of the convex feature points.
Definition at line 23 of file extendedEdgeMeshI.H.
References extendedEdgeMesh::convexStart_.
|
inline |
Return the index of the start of the concave feature points.
Definition at line 29 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 35 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 41 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 47 of file extendedEdgeMeshI.H.
|
inline |
Return the index of the start of the internal feature edges.
Definition at line 53 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 59 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 65 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 71 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 77 of file extendedEdgeMeshI.H.
|
inline |
Return the normals of the surfaces adjacent to the feature edges.
and points
Definition at line 83 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return.
Definition at line 90 of file extendedEdgeMeshI.H.
|
inline |
Return the edgeDirection vectors.
Definition at line 96 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Definition at line 104 of file extendedEdgeMeshI.H.
|
inline |
Return the direction of edgeI, pointing away from ptI.
Definition at line 111 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 139 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given set of normal indices.
Definition at line 147 of file extendedEdgeMeshI.H.
References forAll, and UList< T >::size().
|
inline |
Return the normal vectors for a given edge.
Definition at line 162 of file extendedEdgeMeshI.H.
|
inline |
Return the indices of the normals that are adjacent to the.
feature points
Definition at line 170 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add().
|
inline |
Return the normal vectors for a given feature point.
Definition at line 177 of file extendedEdgeMeshI.H.
References Foam::endl(), forAll, UList< T >::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 205 of file extendedEdgeMeshI.H.
|
inline |
Return the feature edges which are on the boundary between.
regions
Definition at line 211 of file extendedEdgeMeshI.H.
Referenced by extendedEdgeMesh::add(), and refinementFeatures::regionEdgeTrees().
|
inline |
Return the pointStatus of a specified point.
Definition at line 218 of file extendedEdgeMeshI.H.
References Foam::Detail::ListPolicy::MIXED.
|
inline |
Return the edgeStatus of a specified edge.
Definition at line 238 of file extendedEdgeMeshI.H.
|
inline |
Return the baffle faces of a specified edge.
Definition at line 262 of file extendedEdgeMeshI.H.
References DynamicList< T, SizeMin >::append(), and UList< T >::size().
const Foam::indexedOctree< Foam::treeDataPoint > & pointTree | ( | ) | const |
Demand driven construction of octree for feature points.
Definition at line 792 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, Foam::identity(), points, and rndGen.
const Foam::indexedOctree< Foam::treeDataEdge > & edgeTree | ( | ) | const |
Demand driven construction of octree for boundary edges.
Definition at line 826 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, 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 858 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, points, List< T >::resize(), and rndGen.
void transfer | ( | extendedEdgeMesh & | mesh | ) |
Transfer the contents of the argument and annul the argument.
Definition at line 914 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 946 of file extendedEdgeMesh.C.
References edgeMesh::clear().
void add | ( | const extendedEdgeMesh & | fem | ) |
Add extendedEdgeMesh. No filtering of duplicates.
Definition at line 970 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(), UList< T >::size(), and edgeMesh::transfer().
void flipNormals | ( | ) |
Flip normals. All concave become convex, all internal external.
etc.
Definition at line 1240 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, forAll, Foam::identity(), newPointi, points, Field< Type >::rmap(), UList< T >::size(), and edgeMesh::transfer().
void autoMap | ( | const pointField & | subPoints, |
const edgeList & | subEdges, | ||
const labelList & | pointMap, | ||
const labelList & | edgeMap | ||
) |
Update with derived geometry.
Definition at line 1352 of file extendedEdgeMesh.C.
References DynamicList< T, SizeMin >::append(), forAll, bitSet::set(), List< T >::setSize(), UList< T >::size(), 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 1592 of file extendedEdgeMesh.C.
References forAll, points, Foam::BitOps::select(), and UList< T >::size().
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 1675 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 1743 of file extendedEdgeMesh.C.
References forAll, Foam::identity(), Foam::mergePoints(), nPoints, points, List< T >::setSize(), UList< T >::size(), and Foam::Zero.
Read from file. Chooses reader based on explicit extension.
Definition at line 634 of file extendedEdgeMesh.C.
References Foam::name(), and Foam::New().
Referenced by extendedEdgeMesh::extendedEdgeMesh().
|
virtual |
Read from file. Chooses reader based on detected extension.
Reimplemented from edgeMesh.
Reimplemented in extendedEdgeMeshFormat.
Definition at line 622 of file extendedEdgeMesh.C.
References word::ext(), word::has_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 1831 of file extendedEdgeMesh.C.
References Foam::constant::electromagnetic::e, Foam::endl(), forAll, Foam::Info, OFstream::name(), Foam::nl, points, UList< T >::size(), OBJstream::write(), edgeMesh::write(), and OBJstream::writeLine().
|
virtual |
Dump some information.
Reimplemented from edgeMesh.
Definition at line 1983 of file extendedEdgeMesh.C.
References Foam::decrIndent(), Foam::incrIndent(), Foam::indent(), Foam::nl, os(), points, Foam::setw(), UList< T >::size(), 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 2035 of file extendedEdgeMesh.C.
References UList< T >::size().
|
static |
Determine the ordering.
Definition at line 2076 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< T >::setSize(), and UList< T >::size().
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
Definition at line 100 of file extendedEdgeMesh.H.
|
static |
Definition at line 112 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 130 of file extendedEdgeMesh.H.
|
staticprotected |
Index of the start of the convex feature points - static as 0.
Definition at line 140 of file extendedEdgeMesh.H.
Referenced by extendedEdgeMesh::convexStart().
|
staticprotected |
Index of the start of the external feature edges - static as 0.
Definition at line 145 of file extendedEdgeMesh.H.
|
protected |
Index of the start of the concave feature points.
Definition at line 153 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 158 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the non-feature points.
Definition at line 163 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the internal feature edges.
Definition at line 168 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the flat feature edges.
Definition at line 173 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Index of the start of the open feature edges.
Definition at line 178 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 183 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 190 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Type per normal: which side of normal to mesh.
Definition at line 195 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 200 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 208 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 213 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 220 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 227 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
protected |
Feature edges which are on the boundary between regions.
Definition at line 232 of file extendedEdgeMesh.H.
Referenced by Foam::operator<<(), and Foam::operator>>().
|
mutableprotected |
Search tree for all feature points.
Definition at line 237 of file extendedEdgeMesh.H.
|
mutableprotected |
Search tree for all edges.
Definition at line 242 of file extendedEdgeMesh.H.
|
mutableprotected |
Individual search trees for each type of edge.
Definition at line 247 of file extendedEdgeMesh.H.
|
static |
Number of possible point types (i.e. number of slices)
Definition at line 309 of file extendedEdgeMesh.H.
|
static |
Number of possible feature edge types (i.e. number of slices)
Definition at line 314 of file extendedEdgeMesh.H.