Go to the documentation of this file.
49 #ifndef topoCellLooper_H
50 #define topoCellLooper_H
88 const label startEdgeI,
89 const label startVertI,
90 const label nFeaturePts,
103 const label startEdgeI,
104 const label startVertI
124 const label startEdgeI,
125 const label startVertI,
138 const label fromFaceI,
139 const label fromEdgeI,
140 const label fromVertI,
197 const plane& cutPlane,
virtual bool cut(const vector &refDir, const label cellI, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const
Create cut along circumference of cellI. Gets current mesh cuts.
void walkFace(const cellFeatures &features, const label faceI, const label startEdgeI, const label startVertI, const label nFeaturePts, label &edgeI, label &vertI) const
Walk across superface discarding non-feature points.
topoCellLooper(const topoCellLooper &)
Disallow default bitwise copy construct.
static const scalar featureCos
Cos of angle for feature recognition (of splitHexes)
void walkAcrossFace(const cellFeatures &features, const label faceI, const label startEdgeI, const label startVertI, const label nFeats, label &edgeI, label &vertI) const
Starts from edge and vertex on edge on face (or neighbouring face)
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Mesh consisting of general polyhedral cells.
Geometric class that creates a 2D plane and can return the intersection point between a line and the ...
void operator=(const topoCellLooper &)
Disallow default bitwise assignment.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
TypeName("topoCellLooper")
Runtime type information.
virtual ~topoCellLooper()
Destructor.
labelList getSuperEdge(const cellFeatures &features, const label faceI, const label startEdgeI, const label startVertI) const
Returns list of vertices on 'superEdge' i.e. list of edges connected.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Implementation of cellLooper. This one recognizes splitHexes and tries to make a cut such that if the...
static void subsetList(const label startI, const label freeI, DynamicList< T > &lst)
In-memory truncate a list.
label getAlignedNonFeatureEdge(const vector &refDir, const label cellI, const cellFeatures &features) const
Implementation of cellLooper.
void walkSplitHex(const label cellI, const cellFeatures &features, const label fromFaceI, const label fromEdgeI, const label fromVertI, DynamicList< label > &loop, DynamicList< scalar > &loopWeights) const
Walks splitcell circumference. Sets loop/loopweights to walk on.
const polyMesh & mesh() const