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

Dialog for managing a clipping box. More...

#include <ccClippingBoxTool.h>

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

Public Member Functions

 ccClippingBoxTool (QWidget *parent)
 Default constructor.
 
virtual ~ccClippingBoxTool ()
 Default destructor.
 
virtual bool linkWith (ccGLWindow *win) override
 
virtual bool start () override
 
virtual void stop (bool state) override
 
const ccClipBox * box () const
 Returns box.
 
bool addAssociatedEntity (ccHObject *anObject)
 Adds an entity. More...
 
unsigned getNumberOfAssociatedEntity () const
 Returns the current number of associated entities.
 

Static Public Member Functions

static bool ExtractSlicesAndContours (const std::vector< ccGenericPointCloud * > &clouds, const std::vector< ccGenericMesh * > &meshes, ccClipBox &clipBox, bool singleSliceMode, bool processDimensions[3], std::vector< ccHObject * > &outputSlices, bool extractEnvelopes, PointCoordinateType maxEdgeLength, ccEnvelopeExtractor::EnvelopeType envelopeType, std::vector< ccPolyline * > &outputEnvelopes, bool extractLevelSet, double levelSetGridStep, int levelSetMinVertCount, std::vector< ccPolyline * > &levelSet, PointCoordinateType gap=0, bool multiPass=false, bool splitEnvelopes=false, bool projectOnBestFitPlane=false, bool visualDebugMode=false, bool generateRandomColors=false, ccProgressDialog *progressDialog=0)
 Extract slices and optionally envelopes from various clouds and/or clouds. More...
 

Protected Member Functions

void toggleInteractors (bool)
 
void toggleBox (bool)
 
void editBox ()
 
void restoreLastBox ()
 
void reset ()
 
void closeDialog ()
 
void extractContour ()
 
void removeLastContour ()
 
void exportSlice ()
 
void exportMultSlices ()
 
void onBoxModified (const ccBBox *box)
 
void thicknessChanged (double)
 
void shiftXMinus ()
 
void shiftXPlus ()
 
void shiftYMinus ()
 
void shiftYPlus ()
 
void shiftZMinus ()
 
void shiftZPlus ()
 
void setFrontView ()
 
void setBottomView ()
 
void setTopView ()
 
void setBackView ()
 
void setLeftView ()
 
void setRightView ()
 
void extractSlicesAndContours (bool singleSliceMode)
 Extracts slices and/or contours.
 
void shiftBox (unsigned char dim, bool minus)
 Shift box.
 
void setView (CC_VIEW_ORIENTATION orientation)
 Sets predefined view.
 

Protected Attributes

ccClipBox * m_clipBox
 Clipping box.
 

Detailed Description

Dialog for managing a clipping box.

Member Function Documentation

◆ addAssociatedEntity()

bool ccClippingBoxTool::addAssociatedEntity ( ccHObject *  anObject)

Adds an entity.

Returns
success, if the entity is eligible for clipping

◆ ExtractSlicesAndContours()

bool ccClippingBoxTool::ExtractSlicesAndContours ( const std::vector< ccGenericPointCloud * > &  clouds,
const std::vector< ccGenericMesh * > &  meshes,
ccClipBox &  clipBox,
bool  singleSliceMode,
bool  processDimensions[3],
std::vector< ccHObject * > &  outputSlices,
bool  extractEnvelopes,
PointCoordinateType  maxEdgeLength,
ccEnvelopeExtractor::EnvelopeType  envelopeType,
std::vector< ccPolyline * > &  outputEnvelopes,
bool  extractLevelSet,
double  levelSetGridStep,
int  levelSetMinVertCount,
std::vector< ccPolyline * > &  levelSet,
PointCoordinateType  gap = 0,
bool  multiPass = false,
bool  splitEnvelopes = false,
bool  projectOnBestFitPlane = false,
bool  visualDebugMode = false,
bool  generateRandomColors = false,
ccProgressDialog *  progressDialog = 0 
)
static

Extract slices and optionally envelopes from various clouds and/or clouds.

Parameters
cloudsinput clouds (may be empty if meshes are defined)
meshesinput meshes (may be empty if clouds are defined)
clipBoxclipping box
singleSliceModeif true, a single cut is made (the process is not repeated) and only the envelope is extracted (not the slice)
processDimensionsIf singleSliceMode is true: the dimension normal to the slice should be true (and the others false). Otherwise: the dimensions along which to repeat the cuting process should be true.
outputSlicesoutput slices (if successful)
extractEnvelopeswhether to extract envelopes or not
maxEdgeLengthmax envelope edge length (the smaller, the tighter the envelope will be)
envelopeTypeenvelope type
outputEnvelopesoutput envelopes (if successful)
extractLevelSetwhether to extract the level set or not
levelSetGridStepthe step of the grid from which the level set will be extraced
levelSetMinVertCountminimum number of vertex count per contour
levelSetlevel set (contour) lines (if any)
gapoptional gap between each slice
multiPassmulti-pass envelope extraction
splitEnvelopeswhether to split the envelope(s) when the segment can't be smaller than the specified 'maxEdgeLength'
projectOnBestFitPlaneto project the points on the slice best fitting plane (otherwise the plane normal to the
visualDebugModedisplays a 'debugging' window during the envelope extraction process
generateRandomColorsrandomly colors the extracted slices
progressDialogoptional progress dialog

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