Go to the documentation of this file.
35 #ifndef meshOctreeCubeCoordinates_H
36 #define meshOctreeCubeCoordinates_H
212 friend inline Istream&
operator>>
217 friend inline Ostream&
operator<<
static const label edgeFaces_[12][2]
edge-faces addressing for the octree cube
meshOctreeCubeCoordinates increaseToLevelMax(const direction l) const
return the maximal coordinates of the child at the given level
label posX() const
return x, y, z coordinates
void operator=(const meshOctreeCubeCoordinates &)
point centre(const boundBox &) const
return centre
bool operator<=(const meshOctreeCubeCoordinates &) const
comparison of Morton codes
static const label faceEdges_[6][4]
face-edges addressing for the octree cube
static const label nodeFaces_[8][3]
node-faces addressing for the cube
bool intersectsLine(const boundBox &, const point &, const point &) const
check if the cube intersects a line
bool isVertexInside(const boundBox &, const point &) const
is a vertex inside the cube
bool operator>(const meshOctreeCubeCoordinates &) const
bool contiguous< meshOctreeCubeCoordinates >()
Specify data associated with meshOctreeCubeCoordinates type is contiguous.
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
~meshOctreeCubeCoordinates()
bool isPositionInside(const meshOctreeCubeCoordinates &) const
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
meshOctreeCubeCoordinates increaseToLevelMin(const direction l) const
return the minimal coordinates of the child at the given level
direction level_
cube level in the octree structure
bool intersectsTriangleExact(const triSurf &, const boundBox &, const label) const
meshOctreeCubeCoordinates refineForPosition(const label) const
return the coordinates of child cube at the given position
meshOctreeCubeCoordinates reduceToLevel(const direction) const
return the coordinates of the parent at the given level
bool operator==(const meshOctreeCubeCoordinates &) const
bool operator!=(const meshOctreeCubeCoordinates &) const
static const label edgeNodes_[12][2]
edge nodes for an octree cube
static const label faceNodes_[6][4]
cube nodes making each face
Direction is an integer type used to represent the Cartesian directions etc. Currently it is a typede...
scalar size(const boundBox &) const
return size
direction level() const
return level
Template function to specify if the data of a type are contiguous.
bool operator>=(const meshOctreeCubeCoordinates &) const
A class for triangulated surface used in the meshing process. It is derived from points and facets wi...
A 1D vector of objects of type <T> with a fixed size <Size>.
bool intersectsTriangle(const triSurf &, const boundBox &, const label) const
check if the surface triangle intersects the cube
label posX_
coordinates in the octree structure
A bounding box defined in terms of the points at its extremities.
static const label oppositeFace_[6]
return the opposite face of each cube face
bool operator<(const meshOctreeCubeCoordinates &) const
meshOctreeCubeCoordinates()
Null constructor.
void neighbourRange(meshOctreeCubeCoordinates &minCoord, meshOctreeCubeCoordinates &maxCoord) const
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
void cubeBox(const boundBox &, point &, point &) const
return min and max points
void vertices(const boundBox &, FixedList< point, 8 > &) const
calculate vertices
void edgeVertices(const boundBox &, FixedList< FixedList< point, 2 >, 12 > &) const
edges of the cube
meshOctreeCubeCoordinates reduceLevelBy(const direction diff) const