28 inline unsigned size()
const override {
return m_size; }
29 void forEach(genericPointAction action)
override;
35 return (m_globalIterator <
size() ? m_set->at(m_globalIterator++).point
45 ScalarType value)
override {
46 assert(pointIndex <
size());
47 m_set->at(pointIndex).squareDistd =
static_cast<double>(value);
50 assert(pointIndex <
size());
51 return static_cast<ScalarType
>(m_set->at(pointIndex).squareDistd);
55 assert(index <
size());
56 return m_set->at(index).point;
59 assert(index <
size());
60 P = *m_set->at(index).point;
62 inline void getPoint(
unsigned index,
double P[3])
const override {
63 assert(index <
size());
64 P[0] = m_set->at(index).point->x;
65 P[1] = m_set->at(index).point->y;
66 P[2] = m_set->at(index).point->z;
70 assert(index <
size());
71 return m_set->at(index).point;
79 virtual void computeBB();
A kind of ReferenceCloud based on the DgmOctree::NeighboursSet structure.
void forwardIterator()
Forwards global iterator.
bool enableScalarField() override
Enables the scalar field associated to the cloud.
bool isScalarFieldEnabled() const override
Returns true if the scalar field is enabled, false otherwise.
const CCVector3 * getPointPersistentPtr(unsigned index) override
Returns the ith point as a persistent pointer.
void setPointScalarValue(unsigned pointIndex, ScalarType value) override
Sets the ith point associated scalar value.
void getPoint(unsigned index, double P[3]) const override
ScalarType getPointScalarValue(unsigned pointIndex) const override
Returns the ith point associated scalar value.
const CCVector3 * getNextPoint() override
Returns the next point (relatively to the global iterator position)
const CCVector3 * getPoint(unsigned index) const override
Returns the ith point.
void getPoint(unsigned index, CCVector3 &P) const override
Returns the ith point.
unsigned m_globalIterator
Iterator on the point references container.
unsigned size() const override
Returns the number of points.
CCVector3 m_bbMin
Bounding-box min corner.
void placeIteratorAtBeginning() override
Sets the cloud iterator at the beginning.
unsigned m_size
Number of points.
bool m_validBB
Bounding-box validity.
DgmOctree::NeighboursSet * m_set
Associated PointDescriptor set.
CCVector3 m_bbMax
Bounding-box max corner.
std::vector< PointDescriptor > NeighboursSet
A set of neighbours.
A generic 3D point cloud with index-based and presistent access to points.
Generic file read and write utility for python interface.