153 static label findPartIndex
175 static label firstUnique
185 void writeUncutOBJ(
const fileName&,
const label celli)
const;
206 label edgeVertexToFace
214 label vertexVertexToFace
225 void calcFaceCuts()
const;
245 const label startCut,
247 const label exclude0,
248 const label exclude1,
250 const label otherCut,
260 const label startCut,
262 const label otherCut,
284 const label startCut,
289 label& beforeLastCut,
300 const label startCut,
308 void calcCellLoops(
const labelList& cutCells);
333 bool loopAnchorConsistent
380 bool conservativeValidLoop
402 void setFromCellLoops();
414 void setFromCellLoops
427 void setFromCellCutter
435 void setFromCellCutter
443 void orientPlanesAndLoops();
447 void calcLoopsAndAddressing(
const labelList& cutCells);
550 if (!faceCutsPtr_.
valid())
554 return faceCutsPtr_();
560 return faceSplitCut_;
578 return cellAnchorPoints_;
615 void writeOBJ(
Ostream& os)
const;
A HashTable to objects of type <T> with a label key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
bool valid() const
Return true if the autoPtr valid (ie, the pointer is set)
Description of cuts across cells.
const boolList & pointIsCut() const
Is mesh point cut.
void operator=(const cellCuts &)=delete
Disallow default bitwise assignment.
cellCuts(const polyMesh &mesh, const labelList &cutCells, const labelList &meshVerts, const labelList &meshEdges, const scalarField &meshEdgeWeights)
Construct from cells to cut and pattern of cuts.
void writeCellOBJ(const fileName &dir, const label celli) const
debugging:Write edges of cell and loop
const scalarField & edgeWeight() const
If edge is cut gives weight (ratio between start() and end())
void flipLoopOnly(const label celli)
Flip loop for celli. Does not update anchors. Use with care.
void flip(const label celli)
Flip loop for celli. Updates anchor points as well.
const labelListList & cellLoops() const
For each cut cell the cut along the circumference.
const Map< edge > & faceSplitCut() const
Gives for split face the two cuts that split the face into two.
labelList nonAnchorPoints(const labelList &cellPoints, const labelList &anchorPoints, const labelList &loop) const
Invert anchor point selection.
label nLoops() const
Number of valid cell loops.
const boolList & edgeIsCut() const
Is edge cut.
const labelListList & cellAnchorPoints() const
For each cut cell the points on the 'anchor' side of the cell.
const labelListList & faceCuts() const
Cuts per existing face (includes those along edge of face)
void clearOut()
Clear out demand driven storage.
ClassName("cellCuts")
Runtime type information.
Abstract base class. Concrete implementations know how to cut a cell (i.e. determine a loop around th...
Combines edge or vertex in single label. Used to specify cuts across cell circumference.
const polyMesh & mesh() const
A class for handling file names.
Mesh consisting of general polyhedral cells.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
string expand(const string &s, string::size_type &index, const dictionary &dict, const bool allowEnvVars, const bool allowEmpty)
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...