18 template <
class GenericCloudBase = cloudViewer::GenericCloud>
21 using GenericCloudBase::GenericCloudBase;
23 unsigned size()
const override {
24 PYBIND11_OVERLOAD_PURE(
unsigned, GenericCloudBase, );
28 PYBIND11_OVERLOAD_PURE(
void, GenericCloudBase,
32 PYBIND11_OVERLOAD_PURE(
void, GenericCloudBase, bbMin, bbMax);
35 PYBIND11_OVERLOAD_PURE(
void, GenericCloudBase, );
38 PYBIND11_OVERLOAD_PURE(
const CCVector3*, GenericCloudBase, );
41 PYBIND11_OVERLOAD_PURE(
bool, GenericCloudBase, );
44 PYBIND11_OVERLOAD_PURE(
bool, GenericCloudBase, );
47 PYBIND11_OVERLOAD_PURE(
void, GenericCloudBase, pointIndex, value);
50 PYBIND11_OVERLOAD_PURE(ScalarType, GenericCloudBase, pointIndex);
54 template <
class GenericIndexedCloudBase = cloudViewer::GenericIndexedCloud>
60 PYBIND11_OVERLOAD_PURE(
const CCVector3*, GenericIndexedCloudBase,
64 PYBIND11_OVERLOAD_PURE(
void, GenericIndexedCloudBase, index, P);
66 void getPoint(
unsigned index,
double P[3])
const override {
67 PYBIND11_OVERLOAD_PURE(
void, GenericIndexedCloudBase, index, P);
71 template <
class GenericIndexedCloudPersistBase =
80 PYBIND11_OVERLOAD_PURE(
const CCVector3*, GenericIndexedCloudPersistBase,
85 template <
class GenericPo
intCloudBase = ccGenericPo
intCloud>
95 bool ignoreChildren =
false)
override {
97 destCloud, ignoreChildren);
100 PYBIND11_OVERLOAD_PURE(
const ecvColor::Rgb*, GenericPointCloudBase, d);
103 unsigned pointIndex)
const override {
104 PYBIND11_OVERLOAD_PURE(
const ecvColor::Rgb*, GenericPointCloudBase,
108 PYBIND11_OVERLOAD_PURE(ScalarType, GenericPointCloudBase, pointIndex);
111 PYBIND11_OVERLOAD_PURE(
const ecvColor::Rgb&, GenericPointCloudBase,
115 unsigned pointIndex)
const override {
120 PYBIND11_OVERLOAD_PURE(
const CCVector3&, GenericPointCloudBase,
124 PYBIND11_OVERLOAD_PURE(
void, GenericPointCloudBase, );
134 PYBIND11_OVERLOAD_PURE(
void, GenericPointCloudBase, trans);
137 bool inside =
true)
override {
139 GenericPointCloudBase, box, inside);
143 GenericPointCloudBase, box);
146 PYBIND11_OVERLOAD_PURE(
void, GenericPointCloudBase, index);
152 PYBIND11_OVERLOAD_PURE(
void, GenericPointCloudBase, fx, fy, fz, center);
156 template <
class GenericReferenceCloud = cloudViewer::ReferenceCloud>
Vector3Tpl< PointCoordinateType > CCVector3
Default 3D Vector.
float PointCoordinateType
Type of the coordinates of a (N-D) point.
const CCVector3 * getNextPoint() override
Returns the next point (relatively to the global iterator position)
unsigned size() const override
Returns the number of points.
void placeIteratorAtBeginning() override
Sets the cloud iterator at the beginning.
bool enableScalarField() override
Enables the scalar field associated to the cloud.
void getBoundingBox(CCVector3 &bbMin, CCVector3 &bbMax) override
Returns the cloud bounding box.
bool isScalarFieldEnabled() const override
Returns true if the scalar field is enabled, false otherwise.
ScalarType getPointScalarValue(unsigned pointIndex) const override
Returns the ith point associated scalar value.
void forEach(cloudViewer::GenericCloud::genericPointAction action) override
Fast iteration mechanism.
void setPointScalarValue(unsigned pointIndex, ScalarType value) override
Sets the ith point associated scalar value.
const CCVector3 * getPointPersistentPtr(unsigned index) override
void getPoint(unsigned index, double P[3]) const override
void getPoint(unsigned index, CCVector3 &P) const override
Returns the ith point.
const CCVector3 * getPoint(unsigned index) const override
Returns the ith point.
void scale(PointCoordinateType fx, PointCoordinateType fy, PointCoordinateType fz, CCVector3 center=CCVector3(0, 0, 0)) override
void removePoints(size_t index) override
cloudViewer::ReferenceCloud * crop(const ccBBox &box, bool inside=true) override
cloudViewer::ReferenceCloud * crop(const ecvOrientedBBox &box) override
ccGenericPointCloud * clone(ccGenericPointCloud *destCloud=nullptr, bool ignoreChildren=false) override
const ecvColor::Rgb * getScalarValueColor(ScalarType d) const override
const CompressedNormType & getPointNormalIndex(unsigned pointIndex) const override
ScalarType getPointDisplayedDistance(unsigned pointIndex) const override
const ecvColor::Rgb * getPointScalarValueColor(unsigned pointIndex) const override
const ecvColor::Rgb & getPointColor(unsigned pointIndex) const override
const CCVector3 & getPointNormal(unsigned pointIndex) const override
void refreshBB() override
void applyRigidTransformation(const ccGLMatrix &trans) override
Float version of ccGLMatrixTpl.
A 3D cloud interface with associated features (color, normals, octree, etc.)
std::function< void(const CCVector3 &, ScalarType &)> genericPointAction
Generic function applied to a point (used by foreach)
A generic 3D point cloud with index-based and presistent access to points.
A very simple point cloud (no point duplication)
unsigned int CompressedNormType
Compressed normals type.