ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
qFacets Class Reference

Facet detection plugin (BRGM) More...

#include <qFacets.h>

Inheritance diagram for qFacets:
Collaboration diagram for qFacets:

Protected Types

typedef std::unordered_set< ccFacet * > FacetSet
 Set of facets (pointers) More...
 

Protected Slots

void fuseKdTreeCells ()
 Fuses the cells of a kd-tree to produces planar facets. More...
 
void extractFacetsWithFM ()
 Uses Fast Marching to detect planar facets. More...
 
void exportFacets ()
 Exports facets (as shapefiles) More...
 
void exportFacetsInfo ()
 Exports statistics on a set of facets. More...
 
void classifyFacetsByAngle ()
 Classifies facets by orientation. More...
 
void showStereogram ()
 Displays the selected entity stereogram. More...
 

Protected Member Functions

void extractFacets (CellsFusionDlg::Algorithm algo)
 Uses the given algorithm to detect planar facets. More...
 
ccHObjectcreateFacets (ccPointCloud *cloud, cloudViewer::ReferenceCloudContainer &components, unsigned minPointsPerComponent, double maxEdgeLength, bool randomColors, bool &error)
 Creates facets from components. More...
 
void getFacetsInCurrentSelection (FacetSet &facets) const
 Returns all the facets in the current selection. More...
 
void classifyFacetsByAngle (ccHObject *group, double angleStep_deg, double maxDist)
 Classifies facets by orientation. More...
 
- Protected Member Functions inherited from ccDefaultPluginInterface
 ccDefaultPluginInterface (const QString &resourcePath=QString())
 

Protected Attributes

QAction * m_doFuseKdTreeCells
 Associated action. More...
 
QAction * m_fastMarchingExtraction
 Associated action. More...
 
QAction * m_doExportFacets
 Associated action. More...
 
QAction * m_doExportFacetsInfo
 Associated action. More...
 
QAction * m_doClassifyFacetsByAngle
 Associated action. More...
 
QAction * m_doShowStereogram
 Associated action. More...
 
- Protected Attributes inherited from ccStdPluginInterface
ecvMainAppInterfacem_app
 Main application interface. More...
 

Additional Inherited Members

- Public Types inherited from ccPluginInterface
typedef QList< ContactContactList
 
using ReferenceList = QList< Reference >
 
- Public Member Functions inherited from ccStdPluginInterface
 ccStdPluginInterface (const QString &resourcePath=QString())
 Default constructor. More...
 
virtual ~ccStdPluginInterface () override=default
 Destructor. More...
 
virtual CC_PLUGIN_TYPE getType () const override
 Returns plugin type (standard or OpenGL filter) More...
 
virtual void setMainAppInterface (ecvMainAppInterface *app)
 Sets application entry point. More...
 
virtual ecvMainAppInterfacegetMainAppInterface ()
 A callback pointer to the main app interface for use by plugins. More...
 
virtual void dispToConsole (QString message, ecvMainAppInterface::ConsoleMessageLevel level=ecvMainAppInterface::STD_CONSOLE_MESSAGE)
 Shortcut to ecvMainAppInterface::dispToConsole. More...
 
- Public Member Functions inherited from ccDefaultPluginInterface
virtual ~ccDefaultPluginInterface ()
 
virtual bool isCore () const override
 Is this plugin a core plugin? More...
 
virtual QString getName () const override
 Returns (short) name (for menu entry, etc.) More...
 
virtual QString getDescription () const override
 Returns long name/description (for tooltip, etc.) More...
 
virtual QIcon getIcon () const override
 Returns icon. More...
 
virtual ReferenceList getReferences () const override
 
virtual ContactList getAuthors () const override
 
virtual ContactList getMaintainers () const override
 
- Public Member Functions inherited from ccPluginInterface
virtual ~ccPluginInterface ()=default
 Virtual destructor. More...
 
virtual bool start ()
 Starts the plugin. More...
 
virtual void stop ()
 Stops the plugin. More...
 
virtual ccExternalFactorygetCustomObjectsFactory () const
 Returns the plugin's custom object factory (if any) More...
 
virtual void registerCommands (ccCommandLineInterface *cmd)
 Optional: registers commands (for the command line mode) More...
 

Detailed Description

Facet detection plugin (BRGM)

BRGM: BUREAU DE RECHERCHES GEOLOGIQUES ET MINIERES - http://www.brgm.fr/

Definition at line 35 of file qFacets.h.

Member Typedef Documentation

◆ FacetSet

typedef std::unordered_set<ccFacet*> qFacets::FacetSet
protected

Set of facets (pointers)

Definition at line 86 of file qFacets.h.

Member Function Documentation

◆ classifyFacetsByAngle [1/2]

◆ classifyFacetsByAngle() [2/2]

void qFacets::classifyFacetsByAngle ( ccHObject group,
double  angleStep_deg,
double  maxDist 
)
protected

◆ createFacets()

◆ exportFacets

◆ exportFacetsInfo

◆ extractFacets()

void qFacets::extractFacets ( CellsFusionDlg::Algorithm  algo)
protected

Uses the given algorithm to detect planar facets.

Definition at line 202 of file qFacets.cpp.

References ccPointCloud::addScalarField(), ecvMainAppInterface::addToDB(), CellsFusionDlg::ALGO_FAST_MARCHING, CellsFusionDlg::ALGO_KD_TREE, cloudViewer::TrueKdTree::build(), cloudViewer::ScalarField::computeMinAndMax(), count, createFacets(), ccPointCloud::deleteScalarField(), ecvMainAppInterface::dispToConsole(), ecvMainAppInterface::ERR_CONSOLE_MESSAGE, error(), cloudViewer::AutoSegmentationTools::extractConnectedComponents(), FastMarchingForFacetExtraction::ExtractPlanarFacets(), ccKdTreeForFacetExtraction::FuseCells(), ecvMainAppInterface::getActiveWindow(), ccHObject::getChildrenNumber(), ecvMainAppInterface::getMainWindow(), cloudViewer::BoundingBoxTpl< T >::getMinBoxDim(), ccObject::getName(), ccGenericPointCloud::getOctree(), ccGenericPointCloud::getOwnBB(), cloudViewer::PointCloudTpl< T >::getScalarField(), cloudViewer::PointCloudTpl< T >::getScalarFieldIndexByName(), ecvMainAppInterface::getSelectedEntities(), ccPointCloud::hasNormals(), ecvMainAppInterface::haveOneSelection(), CCShareable::link(), ccStdPluginInterface::m_app, cloudViewer::DistanceComputationTools::MAX_DIST, cloudViewer::DistanceComputationTools::MAX_DIST_68_PERCENT, cloudViewer::DistanceComputationTools::MAX_DIST_95_PERCENT, cloudViewer::DistanceComputationTools::MAX_DIST_99_PERCENT, result, cloudViewer::DistanceComputationTools::RMS, s_errorMaxPerFacet, s_errorMeasureType, s_fmUseRetroProjectionError, s_kdTreeFusionMaxAngle_deg, s_kdTreeFusionMaxRelativeDistance, s_lastCloud, s_maxEdgeLength, s_minPointsPerFacet, s_octreeLevel, ccPointCloud::setCurrentDisplayedScalarField(), cloudViewer::PointCloudTpl< T >::setCurrentScalarField(), ccObject::setName(), ShowDisclaimer(), ccDrawableObject::showSF(), cloudViewer::PointCloudTpl< T >::size(), ecvMainAppInterface::STD_CONSOLE_MESSAGE, ccHObjectCaster::ToPointCloud(), and ecvMainAppInterface::WRN_CONSOLE_MESSAGE.

Referenced by extractFacetsWithFM(), and fuseKdTreeCells().

◆ extractFacetsWithFM

void qFacets::extractFacetsWithFM ( )
protectedslot

Uses Fast Marching to detect planar facets.

Definition at line 196 of file qFacets.cpp.

References CellsFusionDlg::ALGO_FAST_MARCHING, and extractFacets().

◆ fuseKdTreeCells

void qFacets::fuseKdTreeCells ( )
protectedslot

Fuses the cells of a kd-tree to produces planar facets.

Definition at line 200 of file qFacets.cpp.

References CellsFusionDlg::ALGO_KD_TREE, and extractFacets().

◆ getFacetsInCurrentSelection()

void qFacets::getFacetsInCurrentSelection ( FacetSet facets) const
protected

Returns all the facets in the current selection.

Definition at line 557 of file qFacets.cpp.

References CV_TYPES::FACET, ccHObject::filterChildren(), ccFacet::getContour(), ecvMainAppInterface::getSelectedEntities(), and ccStdPluginInterface::m_app.

Referenced by exportFacets(), and exportFacetsInfo().

◆ showStereogram

Member Data Documentation

◆ m_doClassifyFacetsByAngle

QAction* qFacets::m_doClassifyFacetsByAngle
protected

Associated action.

Definition at line 105 of file qFacets.h.

◆ m_doExportFacets

QAction* qFacets::m_doExportFacets
protected

Associated action.

Definition at line 101 of file qFacets.h.

◆ m_doExportFacetsInfo

QAction* qFacets::m_doExportFacetsInfo
protected

Associated action.

Definition at line 103 of file qFacets.h.

◆ m_doFuseKdTreeCells

QAction* qFacets::m_doFuseKdTreeCells
protected

Associated action.

Definition at line 97 of file qFacets.h.

◆ m_doShowStereogram

QAction* qFacets::m_doShowStereogram
protected

Associated action.

Definition at line 107 of file qFacets.h.

◆ m_fastMarchingExtraction

QAction* qFacets::m_fastMarchingExtraction
protected

Associated action.

Definition at line 99 of file qFacets.h.


The documentation for this class was generated from the following files: