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
423 void setFromCellCutter
431 void setFromCellCutter
439 void orientPlanesAndLoops();
443 void calcLoopsAndAddressing(
const labelList& cutCells);
564 return *faceCutsPtr_;
570 return faceSplitCut_;
588 return cellAnchorPoints_;
625 void writeOBJ(
Ostream& os)
const;
const boolList & edgeIsCut() const
Is edge cut.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A class for handling file names.
ClassName("cellCuts")
Runtime type information.
void flip(const label celli)
Flip loop for celli. Updates anchor points as well.
Abstract base class. Concrete implementations know how to cut a cell (i.e. determine a loop around th...
label nLoops() const
Number of valid cell loops.
Description of cuts across cells.
const polyMesh & mesh() const
const scalarField & edgeWeight() const
If edge is cut gives weight (ratio between start() and end())
void clearOut()
Clear out demand driven storage.
Combines edge or vertex in single label. Used to specify cuts across cell circumference.
const boolList & pointIsCut() const
Is mesh point cut.
const labelListList & cellLoops() const
For each cut cell the cut along the circumference.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const labelListList & faceCuts() const
Cuts per existing face (includes those along edge of face)
const Map< edge > & faceSplitCut() const
Gives for split face the two cuts that split the face into two.
const labelListList & cellAnchorPoints() const
For each cut cell the points on the 'anchor' side of the cell.
Mesh consisting of general polyhedral cells.
void writeCellOBJ(const fileName &dir, const label celli) const
debugging:Write edges of cell and loop
labelList nonAnchorPoints(const labelList &cellPoints, const labelList &anchorPoints, const labelList &loop) const
Invert anchor point selection.
void flipLoopOnly(const label celli)
Flip loop for celli. Does not update anchors. Use with care.
A HashTable to objects of type <T> with a label key.