![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include "ecvPointCloud.h"#include <GeometricalAnalysisTools.h>#include <Helper.h>#include <Logging.h>#include <ManualSegmentationTools.h>#include <ReferenceCloud.h>#include <Eigen/Dense>#include "ecv2DLabel.h"#include "ecvChunk.h"#include "ecvColorScalesManager.h"#include "ecvDisplayTools.h"#include "ecvFastMarchingForNormsDirection.h"#include "ecvFrustum.h"#include "ecvGBLSensor.h"#include "ecvGenericMesh.h"#include "ecvHObjectCaster.h"#include "ecvImage.h"#include "ecvKdTree.h"#include "ecvMaterial.h"#include "ecvMesh.h"#include "ecvMinimumSpanningTreeForNormsDirection.h"#include "ecvNormalVectors.h"#include "ecvOctree.h"#include "ecvPointCloudLOD.h"#include "ecvPolyline.h"#include "ecvProgressDialog.h"#include "ecvScalarField.h"#include "ecvSensor.h"#include <QCoreApplication>#include <QElapsedTimer>#include <QSharedPointer>#include <cassert>#include <limits>#include <queue>#include <unordered_map>
Go to the source code of this file.
Classes | |
| struct | DisplayDesc |
Macros | |
| #define | DONT_LOAD_NORMALS_IN_VBOS |
Functions | |
| void | UpdateGridIndexes (const std::vector< int > &newIndexMap, std::vector< ccPointCloud::Grid::Shared > &grids) |
| static bool | ComputeCellGaussianFilter (const cloudViewer::DgmOctree::octreeCell &cell, void **additionalParameters, cloudViewer::NormalizedProgress *nProgress=nullptr) |
| float | GetNormalizedValue (const ScalarType &sfVal, const ccScalarField::Range &displayRange) |
| float | GetSymmetricalNormalizedValue (const ScalarType &sfVal, const ccScalarField::Range &saturationRange) |
| static void | ProjectOnCylinder (const CCVector3 &AP, const Tuple3ub &dim, PointCoordinateType radius, PointCoordinateType &delta, PointCoordinateType &phi_rad) |
| static void | ProjectOnCone (const CCVector3 &AP, PointCoordinateType alpha_rad, const Tuple3ub &dim, PointCoordinateType &s, PointCoordinateType &delta, PointCoordinateType &phi_rad) |
| static bool | CatchGLErrors (GLenum err, const char *context) |
Variables | |
| static const char | s_deviationSFName [] = "Deviation" |
| static const unsigned | MAX_POINT_COUNT_PER_LOD_RENDER_PASS = (1 << 19) |
| Maximum number of points (per cloud) displayed in a single LOD iteration. More... | |
| #define DONT_LOAD_NORMALS_IN_VBOS |
Definition at line 5071 of file ecvPointCloud.cpp.
|
static |
Definition at line 5032 of file ecvPointCloud.cpp.
References context, and CVLog::Warning().
|
static |
"Cellular" function to apply a gaussian filter on the RGB values of points inside an octree cell This function is meant to be applied to all cells of the octree The method also permits to use a bilateral behaviour for the filter. This is automatically switched on if its sigmaSF parameter in additionalParameters is positive.
See ccPointCloud::applyFilterToRGB. Method parameters (defined in "additionalParameters") are : - (PointCoordinateType*) sigma - (PointCoordinateType*) sigmaSF - (ccPointCloud::RgbFilterOptions*) filterParams \param cell structure describing the cell on which processing is applied \param additionalParameters see method description \param nProgress optional (normalized) progress notification (per-point)
Definition at line 2125 of file ecvPointCloud.cpp.
References cloudViewer::DgmOctree::NearestNeighboursSearchStruct::alreadyVisitedNeighbourhoodSize, ccPointCloud::RgbFilterOptions::applyToSFduringRGB, ecvColor::RgbTpl< Type >::b, ccPointCloud::RgbFilterOptions::blendGrayscale, ccPointCloud::RgbFilterOptions::blendGrayscalePercent, ccPointCloud::RgbFilterOptions::blendGrayscaleThreshold, ccPointCloud::RgbFilterOptions::burntOutColorThreshold, cloudViewer::DgmOctree::NearestNeighboursSearchStruct::cellCenter, cloudViewer::DgmOctree::NearestNeighboursSearchStruct::cellPos, cloudViewer::DgmOctree::computeCellCenter(), ccPointCloud::RgbFilterOptions::filterType, cloudViewer::DgmOctree::findNeighborsInASphereStartingFromCell(), ecvColor::RgbTpl< Type >::g, cloudViewer::ReferenceCloud::getAssociatedCloud(), cloudViewer::DgmOctree::getCellPos(), cloudViewer::ReferenceCloud::getPoint(), ccPointCloud::getPointColor(), cloudViewer::ReferenceCloud::getPointGlobalIndex(), cloudViewer::ReferenceCloud::getPointPersistentPtr(), cloudViewer::PointCloudTpl< T >::getPointScalarValue(), cloudViewer::ReferenceCloud::getPointScalarValue(), cloudViewer::DgmOctree::NearestNeighboursSearchStruct::level, cloudViewer::DgmOctree::octreeCell::level, nProgress, cloudViewer::NormalizedProgress::oneStep(), cloudViewer::DgmOctree::octreeCell::parentOctree, cloudViewer::DgmOctree::octreeCell::points, cloudViewer::DgmOctree::NearestNeighboursSearchStruct::pointsInNeighbourhood, cloudViewer::DgmOctree::NearestNeighboursSearchStruct::queryPoint, ecvColor::RgbTpl< Type >::r, ccPointCloud::setPointColor(), cloudViewer::PointCloudTpl< T >::setPointScalarValue(), cloudViewer::ReferenceCloud::size(), cloudViewer::DgmOctree::octreeCell::truncatedCode, and cloudViewer::ScalarField::ValidValue().
Referenced by ccPointCloud::applyFilterToRGB().
|
inline |
Definition at line 2816 of file ecvPointCloud.cpp.
References ccScalarField::Range::range(), and ccScalarField::Range::start().
|
inline |
Definition at line 2822 of file ecvPointCloud.cpp.
References ccScalarField::Range::max(), and ccScalarField::Range::start().
|
static |
Definition at line 3664 of file ecvPointCloud.cpp.
References Vector3Tpl< Type >::norm(), Tuple3Tpl< Type >::u, Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ccPointCloud::unroll().
|
static |
Definition at line 3650 of file ecvPointCloud.cpp.
References Tuple3Tpl< Type >::u, Tuple3Tpl< Type >::x, and Tuple3Tpl< Type >::y.
Referenced by ccPointCloud::unroll().
| void UpdateGridIndexes | ( | const std::vector< int > & | newIndexMap, |
| std::vector< ccPointCloud::Grid::Shared > & | grids | ||
| ) |
Definition at line 259 of file ecvPointCloud.cpp.
Referenced by ccPointCloud::partialClone(), ccPointCloud::removeVisiblePoints(), and ccPointCloud::SelectByIndex().
|
static |
Maximum number of points (per cloud) displayed in a single LOD iteration.
Definition at line 2844 of file ecvPointCloud.cpp.
|
static |
Definition at line 53 of file ecvPointCloud.cpp.
Referenced by ccPointCloud::unroll().