qCC version 2.13.alpha (Qt) - 31 May 2022
Main CloudCompare application (GUI & command line)
Classes | Public Member Functions | Protected Types | Protected Member Functions | List of all members
ccSectionExtractionTool Class Reference

Section extraction tool. More...

#include <ccSectionExtractionTool.h>

Inheritance diagram for ccSectionExtractionTool:
Inheritance graph
[legend]
Collaboration diagram for ccSectionExtractionTool:
Collaboration graph
[legend]

Classes

struct  ImportedEntity
 Imported entity. More...
 

Public Member Functions

 ccSectionExtractionTool (QWidget *parent)
 Default constructor.
 
 ~ccSectionExtractionTool () override
 Destructor.
 
bool addCloud (ccGenericPointCloud *cloud, bool alreadyInDB=true)
 Adds a cloud to the 'clouds' pool.
 
bool addPolyline (ccPolyline *poly, bool alreadyInDB=true)
 Adds a polyline to the 'sections' pool. More...
 
void removeAllEntities ()
 Removes all registered entities (clouds & polylines)
 
bool linkWith (ccGLWindow *win) override
 
bool start () override
 
void stop (bool accepted) override
 

Protected Types

enum  ProcessStates { PAUSED = 32 , STARTED = 64 , RUNNING = 128 }
 Process states.
 
using Section = ImportedEntity< ccPolyline >
 Section.
 
using Cloud = ImportedEntity< ccGenericPointCloud >
 Cloud.
 
using SectionPool = QList< Section >
 Type of the pool of active sections.
 
using CloudPool = QList< Cloud >
 Type of the pool of clouds.
 

Protected Member Functions

void undo ()
 
bool reset (bool askForConfirmation=true)
 
void apply ()
 
void cancel ()
 
void addPointToPolyline (int x, int y)
 
void closePolyLine (int x=0, int y=0)
 
void updatePolyLine (int x, int y, Qt::MouseButtons buttons)
 
void enableSectionEditingMode (bool)
 
void doImportPolylinesFromDB ()
 
void setVertDimension (int)
 
void entitySelected (ccHObject *)
 
void generateOrthoSections ()
 
void extractPoints ()
 
void unfoldPoints ()
 
void exportSections ()
 
void onShortcutTriggered (int)
 To capture overridden shortcuts (pause button, etc.)
 
void cancelCurrentPolyline ()
 Projects a 2D (screen) point to 3D. More...
 
void deleteSelectedPolyline ()
 Deletes currently selected polyline.
 
void addUndoStep ()
 Adds a 'step' on the undo stack.
 
bool extractSectionCloud (const std::vector< CCCoreLib::ReferenceCloud * > &refClouds, unsigned sectionIndex, bool &cloudGenerated)
 Convert one or several ReferenceCloud instances to a single cloud and add it to the main DB.
 
bool extractSectionEnvelope (const ccPolyline *originalSection, const ccPointCloud *originalSectionCloud, ccPointCloud *unrolledSectionCloud, unsigned sectionIndex, ccEnvelopeExtractor::EnvelopeType type, PointCoordinateType maxEdgeLength, bool multiPass, bool splitEnvelope, bool &envelopeGenerated, bool visualDebugMode=false)
 Extract the envelope from a set of 2D points and add it to the main DB.
 
ccHObject * getExportGroup (unsigned &defaultGroupID, const QString &defaultName)
 Creates (if necessary) and returns a group to store entities in the main DB.
 
void releasePolyline (Section *section)
 Releases a polyline. More...
 
void selectPolyline (Section *poly, bool autoRefreshDisplay=true)
 Deselects the currently selected polyline.
 
void updateCloudsBox ()
 Updates the global clouds bounding-box.
 

Detailed Description

Section extraction tool.

Member Function Documentation

◆ addPolyline()

bool ccSectionExtractionTool::addPolyline ( ccPolyline *  poly,
bool  alreadyInDB = true 
)

Adds a polyline to the 'sections' pool.

Warning
: if this method returns true, the class takes the ownership of the cloud!

◆ cancelCurrentPolyline()

void ccSectionExtractionTool::cancelCurrentPolyline ( )
protected

Projects a 2D (screen) point to 3D.

Cancels currently edited polyline

◆ extractPoints()

void ccSectionExtractionTool::extractPoints ( )
protected

error &&

◆ releasePolyline()

void ccSectionExtractionTool::releasePolyline ( Section section)
protected

Releases a polyline.

The polyline is removed from display. Then it is deleted if the polyline is not already in DB.


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