![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Facet detection plugin (BRGM) More...
#include <qFacets.h>


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... | |
| ccHObject * | createFacets (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 | |
| ecvMainAppInterface * | m_app |
| Main application interface. More... | |
Additional Inherited Members | |
Public Types inherited from ccPluginInterface | |
| typedef QList< Contact > | ContactList |
| 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 ecvMainAppInterface * | getMainAppInterface () |
| 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 ccExternalFactory * | getCustomObjectsFactory () 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... | |
Facet detection plugin (BRGM)
BRGM: BUREAU DE RECHERCHES GEOLOGIQUES ET MINIERES - http://www.brgm.fr/
|
protected |
|
protectedslot |
Classifies facets by orientation.
Definition at line 976 of file qFacets.cpp.
References ecvMainAppInterface::dispToConsole(), ecvMainAppInterface::getMainWindow(), ecvMainAppInterface::getSelectedEntities(), ecvMainAppInterface::haveOneSelection(), CV_TYPES::HIERARCHY_OBJECT, ccStdPluginInterface::m_app, s_classifAngleStep, s_classifMaxDist, s_stereogramAngleStep, and ShowDisclaimer().
|
protected |
Classifies facets by orientation.
Definition at line 1006 of file qFacets.cpp.
References ecvMainAppInterface::addToDB(), FacetsClassifier::ByOrientation(), ecvMainAppInterface::dispToConsole(), ecvMainAppInterface::ERR_CONSOLE_MESSAGE, ccHObject::getParent(), CV_TYPES::HIERARCHY_OBJECT, ccObject::isA(), ccStdPluginInterface::m_app, and ecvMainAppInterface::removeFromDB().
|
protected |
Creates facets from components.
Definition at line 435 of file qFacets.cpp.
References ccHObject::addChild(), ecvColor::RgbTpl< Type >::b, c_darkColorRatio, ccOctree::ComputeAverageNorm(), ccNormalVectors::ConvertNormalToDipAndDipDir(), ccFacet::Create(), Vector3Tpl< Type >::dot(), ccGenericMesh::enableStippling(), error(), ecvColor::RgbTpl< Type >::g, FacetsClassifier::GenerateSubfamilyColor(), ccHObject::getChildrenNumber(), ccFacet::getContour(), ccShiftedObject::getGlobalScale(), ccShiftedObject::getGlobalShift(), ecvMainAppInterface::getMainWindow(), ccObject::getName(), ccFacet::getNormal(), ccFacet::getPolygon(), ccFacet::getRMS(), ccPointCloud::hasNormals(), ccFacet::invertNormal(), ccStdPluginInterface::m_app, ccPointCloud::partialClone(), ecvColor::RgbTpl< Type >::r, ecvColor::Generator::Random(), ccPolyline::setColor(), ccFacet::setColor(), ccPolyline::setGlobalScale(), ccPolyline::setGlobalShift(), ecvProgressDialog::setInfo(), ecvProgressDialog::setMethodTitle(), ccObject::setName(), ccDrawableObject::setVisible(), ccPolyline::setWidth(), ccGenericMesh::showNormals(), ccPlanarEntityInterface::showNormalVector(), and cloudViewer::ReferenceCloud::size().
Referenced by extractFacets().
|
protectedslot |
Exports facets (as shapefiles)
Definition at line 682 of file qFacets.cpp.
References ccHObject::addChild(), ccHObject::applyGLTransformation_recursive(), CC_FERR_NO_ERROR, FacetMetaData::center, ComputeFacetExtensions(), Vector3Tpl< Type >::cross(), ecvFileUtils::defaultDocPath(), FacetMetaData::dip_deg, FacetMetaData::dipDir_deg, ecvMainAppInterface::dispToConsole(), ccHObject::DP_NONE, ccHObject::DP_PARENT_OF_OTHER, ecvMainAppInterface::ERR_CONSOLE_MESSAGE, FacetMetaData::facetIndex, FacetMetaData::familyIndex, fields, filename, cloudViewer::ReferenceCloud::getAssociatedCloud(), ccHObject::getChildrenNumber(), ccGLMatrixTpl< T >::getColumn(), ccFacet::getContour(), GetFacetMetaData(), getFacetsInCurrentSelection(), ecvMainAppInterface::getMainWindow(), ccObject::getName(), ccGLMatrixTpl< T >::getTranslationAsVec3D(), cloudViewer::GreaterThanEpsilon(), ccGLMatrixTpl< T >::invert(), ccStdPluginInterface::m_app, Vector3Tpl< Type >::norm2(), FacetMetaData::normal, Vector3Tpl< Type >::normalize(), params, FacetMetaData::rms, ccPolyline::set2DMode(), ccGLMatrixTpl< T >::setTranslation(), FacetsExportDlg::SHAPE_FILE_IO, ShowDisclaimer(), cloudViewer::GenericCloud::size(), ecvMainAppInterface::STD_CONSOLE_MESSAGE, FacetMetaData::subfamilyIndex, FacetMetaData::surface, ccGLMatrixTpl< T >::toIdentity(), ecvMainAppInterface::WRN_CONSOLE_MESSAGE, Tuple3Tpl< Type >::x, X, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
|
protectedslot |
Exports statistics on a set of facets.
Definition at line 1034 of file qFacets.cpp.
References FacetsExportDlg::ASCII_FILE_IO, FacetMetaData::center, ComputeFacetExtensions(), ecvFileUtils::defaultDocPath(), FacetMetaData::dip_deg, FacetMetaData::dipDir_deg, ecvMainAppInterface::dispToConsole(), ecvMainAppInterface::ERR_CONSOLE_MESSAGE, FacetMetaData::facetIndex, FacetMetaData::familyIndex, filename, ccFacet::getContour(), GetFacetMetaData(), getFacetsInCurrentSelection(), ecvMainAppInterface::getMainWindow(), ccStdPluginInterface::m_app, FacetMetaData::normal, FacetMetaData::rms, ShowDisclaimer(), ecvMainAppInterface::STD_CONSOLE_MESSAGE, FacetMetaData::subfamilyIndex, FacetMetaData::surface, Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
|
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().
|
protectedslot |
Uses Fast Marching to detect planar facets.
Definition at line 196 of file qFacets.cpp.
References CellsFusionDlg::ALGO_FAST_MARCHING, and extractFacets().
|
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().
|
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().
|
protectedslot |
Displays the selected entity stereogram.
Definition at line 942 of file qFacets.cpp.
References ecvMainAppInterface::dispToConsole(), ecvMainAppInterface::getMainWindow(), ecvMainAppInterface::getSelectedEntities(), ecvMainAppInterface::haveOneSelection(), CV_TYPES::HIERARCHY_OBJECT, StereogramDialog::init(), ccStdPluginInterface::m_app, CV_TYPES::POINT_CLOUD, s_fcDlg, s_stereogramAngleStep, s_stereogramResolution_deg, and ShowDisclaimer().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |