43 #ifndef Foam_dynamicTreeDataPoint_H 44 #define Foam_dynamicTreeDataPoint_H 57 template<
class Type>
class dynamicIndexedOctree;
116 const point&
centre(label index)
const {
return points_[index]; }
144 const scalar radiusSqr
154 scalar& nearestDistSqr,
void size(const label n)
Older name for setAddressableSize.
const point & operator[](label index) const
Point at specified shape index.
bool empty() const noexcept
True if List is empty (ie, size() is zero)
const DynamicList< point > & points() const noexcept
The original point field.
label size() const noexcept
The size of the effective point field.
An enumeration wrapper for classification of a location as being inside/outside of a volume...
bool overlaps(const label index, const treeBoundBox &searchBox) const
Does (bb of) shape at index overlap bb.
volumeType getVolumeType(const dynamicIndexedOctree< dynamicTreeDataPoint > &, const point &) const
Get type (inside,outside,mixed,unknown) of point w.r.t. surface.
label objectIndex(label index) const noexcept
Map from shape index to original (non-subset) point label.
int nDim() const noexcept
Object dimension == 0 (point element)
dynamicTreeDataPoint(const DynamicList< point > &points)
Construct from List. Holds reference!
ClassNameNoDebug("dynamicTreeDataPoint")
Non-pointer based hierarchical recursive searching. Storage is dynamic, so elements can be deleted...
void findNearest(const labelUList &indices, const point &sample, scalar &nearestDistSqr, label &nearestIndex, point &nearestPoint) const
Calculates nearest (to sample) point in shape.
bool ln(const fileName &src, const fileName &dst)
Create a softlink. dst should not exist. Returns true if successful.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
bool empty() const noexcept
Is the effective point field empty?
treeBoundBox bounds(const labelUList &indices) const
Return bounding box for the specified point indices.
const DynamicList< point > & centres() const noexcept
Representative point cloud.
Holds (reference to) pointField. Encapsulation of data needed for octree searches. Used for searching for nearest point. No bounding boxes around points. Only overlaps and calcNearest are implemented, rest makes little sense.
bool intersects(const label index, const point &start, const point &end, point &result) const
Calculate intersection of shape with ray.
Standard boundBox with extra functionality for use in octree.
const point & centre(label index) const
Point at specified shape index.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
bool useSubset() const noexcept
const labelList& pointLabels() const noexcept { labelList::null(); }