Go to the documentation of this file.
35 #ifndef meshOctreeModifier_H
36 #define meshOctreeModifier_H
130 const label nLayers = 1
137 const label nLayers = 1
156 const bool hexRefinement =
false
meshOctreeCube * findCubeForPosition(const meshOctreeCubeCoordinates &) const
return the pointer to the meshOctreeCube at the given position
scalar & searchRangeAccess()
return search range
void refineSelectedBoxesAndAdditionalLayers(labelList &refineBox, const scalarList &refThickness)
refine selected boxes and the boxes within the given range
void refineTreeForCoordinates(const meshOctreeCubeCoordinates &, const short procNo=Pstream::myProcNo(), const direction cubeType=meshOctreeCubeBasic::UNKNOWN)
refine the tree to add cubes transferred from other processors
void addLayerFromNeighbouringProcessors()
boundBox & rootBoxAccess()
return rootBox
void distributeLeavesToProcessors()
List< meshOctreeSlot > & dataSlotsAccess()
return octree slots
void reduceMemoryConsumption()
reduce memory consumption by deleting unnecessary data
void refineSelectedBoxes(labelList &refineBox, const bool hexRefinement=false)
void findLeavesContainedInBox(const boundBox &, DynList< const meshOctreeCube *, 256 > &) const
find leaves contained in a given boundBox
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void loadDistribution(const direction usedType=0)
move octree cubes from one processor to another
labelList & neiProcsAccess()
return neighbour processors
meshOctreeModifier(const meshOctreeModifier &)
Disallow default bitwise copy construct.
bool & isRootInitialisedAccess()
return isRootInitialised_
void updateCommunicationPattern()
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
const meshOctree & octree() const
return octree
meshOctreeCube & initialCubeAccess()
return initial cube
void ensureCorrectRegularity(labelList &refineBox)
correct refinement such that it produces 1-irregular octree
void markAdditionalLayersOfFaceNeighbours(labelList &refineBox, const label nLayers=1) const
mark additional layers around the leaves selected for refinement
void markAdditionalLayers(labelList &refineBox, const label nLayers=1) const
mark additional layers around the leaves selected for refinement
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool ensureCorrectRegularitySons(labelList &refineBox)
A bounding box defined in terms of the points at its extremities.
List< Pair< meshOctreeCubeCoordinates > > & neiRangeAccess()
return the range of leaves at each processor
void operator=(const meshOctreeModifier &)
Disallow default bitwise assignment.
void createListOfLeaves()
create leaves
LongList< meshOctreeCube * > & leavesAccess()
return leaves
meshOctree & octree_
Reference to the octree.