Go to the documentation of this file.
37 #ifndef voxelMeshSearch_H
38 #define voxelMeshSearch_H
80 label searchProcPatch(
const label seedFacei,
const point&)
const;
83 label findIntersectedFace(
const label celli,
const point&)
const;
103 const bool doUpdate =
true
174 template<
class Container,
class Type>
185 template<
class Container,
class Type,
class CombineOp>
198 template<
class Container,
class Type>
204 const Container& elems,
206 const bool isNot =
false
210 template<
class Container,
class Type>
216 const Container& elems,
218 const bool isNot =
false
bool update()
Update lookup tables for geometry changes.
static void write(OBJstream &, const boundBox &bb, const labelVector &nDivs, const Container &elems, const Type val, const bool isNot=false)
Debug: write points for every set element.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
OFstream that keeps track of vertices.
voxelMeshSearch(const polyMesh &, const bool doUpdate=true)
Construct from mesh; voxels estimated from local number of cells.
const labelVector & nDivs() const
Number of voxels for local mesh.
static label index(const labelVector &nDivs, const labelVector &voxel)
Find cells. Returns number of cells found.
label findCell(const point &) const
Find a cell.
static void writeGrid(OBJstream &, const boundBox &, const labelVector &)
Debug: write all edges.
Mesh consisting of general polyhedral cells.
ClassName("voxelMeshSearch")
static void fill(Container &elems, const boundBox &bb, const labelVector &nDivs, const boundBox &subBb, const Type val)
Fill voxels indicated by bounding box.
autoPtr< fvMesh > makeMesh(const IOobject &) const
Debug: construct fvMesh. Note: writes a dummy mesh to.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Fast, non-parallel searching in mesh without use of octree.
dimensionSet clip(const dimensionSet &ds1, const dimensionSet &ds2)
static labelVector offset(const labelVector &nDivs)
Change in combined voxel index for change in components.
static bool overlaps(const boundBox &bb, const labelVector &nDivs, const boundBox &subBb, const Container &elems, const Type val, const bool isNot=false)
Check if any voxel inside bounding box is set to val or.
A bounding box defined in terms of min/max extrema points.
static point centre(const boundBox &bb, const labelVector &nDivs, const labelVector &voxel)
Voxel index to voxel centre.
static labelVector index3(const labelVector &nDivs, const label voxeli)
Combined voxel index to individual indices.