Go to the documentation of this file.
35 #ifndef treeDataPrimitivePatch_H
36 #define treeDataPrimitivePatch_H
47 template<
class Type>
class indexedOctree;
61 template<
class PatchType>
64 public treeDataPrimitivePatchName
106 scalar& nearestDistSqr,
141 point& intersectionPoint
167 point& intersectionPoint
193 point& intersectionPoint
205 const scalar planarTol
223 const PatchType&
patch()
const
251 const scalar radiusSqr
261 point& intersectionPoint
static treeBoundBox calcBb(const pointField &, const face &)
Calculate face bounding box.
findIntersectOp(const indexedOctree< treeDataPrimitivePatch > &tree)
const PatchType & patch() const
Return access to the underlying patch.
Standard boundBox + extra functionality for use in octree.
bool overlaps(const label index, const treeBoundBox &sampleBb) const
Does shape at index overlap bb.
const indexedOctree< treeDataPrimitivePatch > & tree_
void update()
Initialise all member data.
volumeType getVolumeType(const indexedOctree< treeDataPrimitivePatch< PatchType > > &, const point &) const
Get type (inside,outside,mixed,unknown) of point w.r.t. surface.
const bool cacheBb_
Whether to precalculate and store face bounding box.
findAllIntersectOp(const indexedOctree< treeDataPrimitivePatch > &tree, DynamicList< label > &shapeMask)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
DynamicList< label > & shapeMask_
const indexedOctree< treeDataPrimitivePatch > & tree_
Non-pointer based hierarchical recursive searching.
TemplateName(blendedSchemeBase)
pointField shapePoints() const
Get representative point cloud for all shapes inside.
const PatchType & patch_
Underlying geometry.
treeDataPrimitivePatch(const bool cacheBb, const PatchType &, const scalar planarTol)
Construct from patch.
findNearestOp(const indexedOctree< treeDataPrimitivePatch > &tree)
const indexedOctree< treeDataPrimitivePatch > & tree_
static bool findIntersection(const indexedOctree< treeDataPrimitivePatch< PatchType > > &tree, const label index, const point &start, const point &end, point &intersectionPoint)
Helper: find intersection of line with shapes.
Encapsulation of data needed to search on PrimitivePatches.
treeBoundBoxList bbs_
Face bounding boxes (valid only if cacheBb_)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
findSelfIntersectOp(const indexedOctree< treeDataPrimitivePatch > &tree, const label edgeID)
bool ln(const fileName &src, const fileName &dst)
Create a softlink. dst should not exist. Returns true if successful.
const scalar planarTol_
Tolerance to use for intersection tests.
A face is a list of labels corresponding to mesh vertices.
const indexedOctree< treeDataPrimitivePatch > & tree_