32 typedef QSharedPointer<ccOctree>
Shared;
74 inline void setVisible(
bool state) { m_visible = state; }
96 std::vector<unsigned>& inCameraFrustum);
102 double pickWidth_pix = 3.0)
const;
123 int aimedPopulationPerCell = 16;
124 int aimedPopulationRange =
126 int minCellPopulation = 6;
127 double minAboveMinRatio = 0.97;
156 QWidget* parentWidget =
nullptr);
165 void** additionalParameters,
170 void** additionalParameters,
175 void** additionalParameters,
float PointCoordinateType
Type of the coordinates of a (N-D) point.
cmdLineReadable * params[]
Camera (projective) sensor.
A 3D cloud interface with associated features (color, normals, octree, etc.)
static bool DrawCellAsAPrimitive(const cloudViewer::DgmOctree::octreeCell &cell, void **additionalParameters, cloudViewer::NormalizedProgress *nProgress=0)
DisplayMode getDisplayMode() const
Returns the currently display mode.
int m_displayedLevel
Displayed level.
static void ComputeAverageColor(cloudViewer::ReferenceCloud *subset, ccGenericPointCloud *sourceCloud, ColorCompType meanCol[])
Computes the average color of a set of points.
void setDisplayedLevel(int level)
Sets the currently displayed octree level.
static PointCoordinateType GuessBestRadiusAutoComputeOctree(ccGenericPointCloud *cloud, const BestRadiusParams ¶ms, QWidget *parentWidget=nullptr)
static bool DrawCellAsAPoint(const cloudViewer::DgmOctree::octreeCell &cell, void **additionalParameters, cloudViewer::NormalizedProgress *nProgress=0)
void setVisible(bool state)
Sets octree visibility.
virtual void clear() override
Clears the octree.
ccBBox getSquareBB() const
Returns the octree (square) bounding-box.
ccOctree(ccGenericPointCloud *cloud)
Default constructor.
void setDisplayMode(DisplayMode mode)
Sets the currently display mode.
bool intersectWithFrustum(ccCameraSensor *sensor, std::vector< unsigned > &inCameraFrustum)
Intersects octree with a camera sensor.
virtual ~ccOctree()
Destructor.
void multiplyBoundingBox(const PointCoordinateType multFactor)
Multiplies the bounding-box of the octree.
ccGenericPointCloud * m_theAssociatedCloudAsGPC
Associated cloud (as a ccGenericPointCloud)
static PointCoordinateType GuessBestRadius(ccGenericPointCloud *cloud, const BestRadiusParams ¶ms, cloudViewer::DgmOctree *cloudOctree=nullptr, cloudViewer::GenericProgressCallback *progressCb=nullptr)
Tries to guess the best 'local radius' for octree-based computation.
bool isVisible() const
Returns whether octree is visible or not.
static PointCoordinateType GuessNaiveRadius(ccGenericPointCloud *cloud)
Tries to guess a very naive 'local radius' for octree-based computation.
void updated()
Signal sent when the octree organization is modified (cleared, etc.)
DisplayMode
Octree displaying methods.
ccBBox getPointsBB() const
Returns the points bounding-box.
bool pointPicking(const CCVector2d &clickPos, const ccGLCameraParameters &camera, PointDescriptor &output, double pickWidth_pix=3.0) const
Octree-driven point picking algorithm.
ccOctreeFrustumIntersector * m_frustumIntersector
For frustum intersection.
DisplayMode m_displayMode
Display mode.
static bool DrawCellAsABox(const cloudViewer::DgmOctree::octreeCell &cell, void **additionalParameters, cloudViewer::NormalizedProgress *nProgress=0)
int getDisplayedLevel() const
Returns the currently displayed octree level.
void draw(CC_DRAW_CONTEXT &context)
Draws the octree.
QSharedPointer< ccOctree > Shared
Shared pointer.
bool m_visible
For Octree Display.
void translateBoundingBox(const CCVector3 &T)
Translates the bounding-box of the octree.
static CCVector3 ComputeAverageNorm(cloudViewer::ReferenceCloud *subset, ccGenericPointCloud *sourceCloud)
Computes the average normal of a set of points.
The octree structure used throughout the library.
A very simple point cloud (no point duplication)
unsigned char ColorCompType
Default color components type (R,G and B)
OpenGL camera parameters.
Parameters for the GuessBestRadius method.
Structure used during nearest neighbour search.