![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
A 3D cloud interface with associated features (color, normals, octree, etc.) More...
#include <ecvGenericPointCloud.h>


Public Types | |
| using | VisibilityTableType = std::vector< unsigned char > |
| Array of "visibility" information for each point. More... | |
Public Types inherited from ccHObject | |
| enum | DEPENDENCY_FLAGS { DP_NONE = 0 , DP_NOTIFY_OTHER_ON_DELETE = 1 , DP_NOTIFY_OTHER_ON_UPDATE , DP_DELETE_OTHER = 8 , DP_PARENT_OF_OTHER = 24 } |
| Dependency flags. More... | |
| enum | SelectionBehavior { SELECTION_AA_BBOX , SELECTION_FIT_BBOX , SELECTION_IGNORED } |
| Behavior when selected. More... | |
| using | Container = std::vector< ccHObject * > |
| Standard instances container (for children, etc.) More... | |
| using | Shared = QSharedPointer< ccHObject > |
| Shared pointer. More... | |
| using | SharedContainer = std::vector< Shared > |
| Shared instances container (for children, etc.) More... | |
| using | GlobalBoundingBox = cloudViewer::BoundingBoxTpl< double > |
| Global (non-shifted) bounding-box. More... | |
Public Types inherited from ccSerializableObject | |
| enum | DeserializationFlags { DF_POINT_COORDS_64_BITS , DF_SCALAR_VAL_32_BITS = 2 } |
| Deserialization flags (bit-field) More... | |
| typedef QMultiMap< unsigned, unsigned > | LoadedIDMap |
| Map of loaded unique IDs (old ID --> new ID) More... | |
Public Types inherited from cloudViewer::GenericCloud | |
| using | genericPointAction = std::function< void(const CCVector3 &, ScalarType &)> |
| Generic function applied to a point (used by foreach) More... | |
Public Member Functions | |
| ccGenericPointCloud (QString name=QString()) | |
| Default constructor. More... | |
| ccGenericPointCloud (const ccGenericPointCloud &cloud) | |
| Copy constructor. More... | |
| ~ccGenericPointCloud () override | |
| Default destructor. More... | |
| virtual ccGenericPointCloud * | clone (ccGenericPointCloud *destCloud=nullptr, bool ignoreChildren=false)=0 |
| Clones this entity. More... | |
| virtual void | clear () |
| Clears the entity from all its points and features. More... | |
| virtual ccOctree::Shared | computeOctree (cloudViewer::GenericProgressCallback *progressCb=nullptr, bool autoAddChild=true) |
| Computes the cloud octree. More... | |
| virtual ccOctree::Shared | getOctree () const |
| Returns the associated octree (if any) More... | |
| virtual void | setOctree (ccOctree::Shared octree, bool autoAddChild=true) |
| Sets the associated octree. More... | |
| virtual ccOctreeProxy * | getOctreeProxy () const |
| Returns the associated octree proxy (if any) More... | |
| virtual void | deleteOctree () |
| Erases the octree. More... | |
| virtual const ecvColor::Rgb * | getScalarValueColor (ScalarType d) const =0 |
| Returns color corresponding to a given scalar value. More... | |
| virtual const ecvColor::Rgb * | getPointScalarValueColor (unsigned pointIndex) const =0 |
| Returns color corresponding to a given point associated scalar value. More... | |
| virtual ScalarType | getPointDisplayedDistance (unsigned pointIndex) const =0 |
| Returns scalar value associated to a given point. More... | |
| virtual const ecvColor::Rgb & | getPointColor (unsigned pointIndex) const =0 |
| Returns color corresponding to a given point. More... | |
| virtual const CompressedNormType & | getPointNormalIndex (unsigned pointIndex) const =0 |
| Returns compressed normal corresponding to a given point. More... | |
| virtual const CCVector3 & | getPointNormal (unsigned pointIndex) const =0 |
| Returns normal corresponding to a given point. More... | |
| virtual VisibilityTableType & | getTheVisibilityArray () |
| Returns associated visibility array. More... | |
| virtual const VisibilityTableType & | getTheVisibilityArray () const |
| Returns associated visibility array (const version) More... | |
| virtual cloudViewer::ReferenceCloud * | getTheVisiblePoints (const VisibilityTableType *visTable=nullptr, bool silent=false, cloudViewer::ReferenceCloud *selection=nullptr) const |
| Returns a ReferenceCloud equivalent to the visibility array. More... | |
| virtual bool | isVisibilityTableInstantiated () const |
| Returns whether the visibility array is allocated or not. More... | |
| virtual bool | resetVisibilityArray () |
| Resets the associated visibility array. More... | |
| virtual void | invertVisibilityArray () |
| Inverts the visibility array. More... | |
| virtual void | unallocateVisibilityArray () |
| Erases the points visibility information. More... | |
| ccBBox | getOwnBB (bool withGLFeatures=false) override |
| Returns the entity's own bounding-box. More... | |
| virtual void | refreshBB ()=0 |
| Forces bounding-box update. More... | |
| virtual ccGenericPointCloud * | createNewCloudFromVisibilitySelection (bool removeSelectedPoints=false, VisibilityTableType *visTable=nullptr, std::vector< int > *newIndexesOfRemainingPoints=nullptr, bool silent=false, cloudViewer::ReferenceCloud *selection=nullptr)=0 |
| virtual bool | removeVisiblePoints (VisibilityTableType *visTable=nullptr, std::vector< int > *newIndexes=nullptr)=0 |
| Removes all the 'visible' points (as defined by the visibility array) More... | |
| virtual void | applyRigidTransformation (const ccGLMatrix &trans)=0 |
| Applies a rigid transformation (rotation + translation) More... | |
| virtual cloudViewer::ReferenceCloud * | crop (const ccBBox &box, bool inside=true)=0 |
| Crops the cloud inside (or outside) a bounding box. More... | |
| virtual cloudViewer::ReferenceCloud * | crop (const ecvOrientedBBox &box)=0 |
| virtual void | removePoints (size_t index)=0 |
| virtual void | scale (PointCoordinateType fx, PointCoordinateType fy, PointCoordinateType fz, CCVector3 center=CCVector3(0, 0, 0))=0 |
| Multiplies all coordinates by constant factors (one per dimension) More... | |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| void | setPointSize (unsigned size=0) |
| Sets point size. More... | |
| unsigned char | getPointSize () const |
| Returns current point size. More... | |
| void | importParametersFrom (const ccGenericPointCloud *cloud) |
| Imports the parameters from another cloud. More... | |
| bool | pointPicking (const CCVector2d &clickPos, const ccGLCameraParameters &camera, int &nearestPointIndex, double &nearestSquareDist, double pickWidth=2.0, double pickHeight=2.0, bool autoComputeOctree=false) |
| Point picking (brute force or octree-driven) More... | |
| std::tuple< Eigen::Vector3d, Eigen::Matrix3d > | computeMeanAndCovariance () const |
| cloudViewer::SquareMatrixd | computeCovariance () const |
Public Member Functions inherited from ccShiftedObject | |
| ccShiftedObject (QString name=QString()) | |
| Default constructor. More... | |
| ccShiftedObject (const ccShiftedObject &s) | |
| Copy constructor. More... | |
| void | copyGlobalShiftAndScale (const ccShiftedObject &s) |
| Copies the Global Shift and Scale from another entity. More... | |
| virtual void | setGlobalShift (double x, double y, double z) |
| Sets shift applied to original coordinates (information storage only) More... | |
| virtual void | setGlobalShift (const CCVector3d &shift) |
| Sets shift applied to original coordinates (information storage only) More... | |
| virtual const CCVector3d & | getGlobalShift () const |
| Returns the shift applied to original coordinates. More... | |
| virtual void | setGlobalScale (double scale) |
| virtual double | getGlobalScale () const |
| Returns the scale applied to original coordinates. More... | |
| bool | isShifted () const |
| Returns whether the cloud is shifted or not. More... | |
| template<typename T > | |
| CCVector3d | toGlobal3d (const Vector3Tpl< T > &Plocal) const |
| Returns the point back-projected into the original coordinates system. More... | |
| template<typename T > | |
| CCVector3d | toLocal3d (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. More... | |
| template<typename T > | |
| CCVector3 | toLocal3pc (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. More... | |
| bool | getOwnGlobalBB (CCVector3d &minCorner, CCVector3d &maxCorner) override |
| GlobalBoundingBox | getOwnGlobalBB (bool withGLFeatures=false) override |
Public Member Functions inherited from ccHObject | |
| ccHObject (QString name=QString()) | |
| Default constructor. More... | |
| ccHObject (const ccHObject &object) | |
| Copy constructor. More... | |
| virtual | ~ccHObject () override |
| Default destructor. More... | |
| virtual bool | IsEmpty () const |
| virtual Eigen::Vector3d | GetMinBound () const |
| Returns min bounds for geometry coordinates. More... | |
| virtual Eigen::Vector2d | GetMin2DBound () const |
| virtual Eigen::Vector3d | GetMaxBound () const |
| Returns max bounds for geometry coordinates. More... | |
| virtual Eigen::Vector2d | GetMax2DBound () const |
| virtual Eigen::Vector3d | GetCenter () const |
| Returns the center of the geometry coordinates. More... | |
| virtual ccBBox | GetAxisAlignedBoundingBox () const |
| Returns an axis-aligned bounding box of the geometry. More... | |
| virtual ecvOrientedBBox | GetOrientedBoundingBox () const |
| virtual ccHObject & | Transform (const Eigen::Matrix4d &transformation) |
| Apply transformation (4x4 matrix) to the geometry coordinates. More... | |
| virtual ccHObject & | Translate (const Eigen::Vector3d &translation, bool relative=true) |
| Apply translation to the geometry coordinates. More... | |
| virtual ccHObject & | Scale (const double s, const Eigen::Vector3d ¢er) |
Apply scaling to the geometry coordinates. Given a scaling factor , and center , a given point is transformed according to . More... | |
| virtual ccHObject & | Scale (const double s) |
| virtual ccHObject & | Rotate (const Eigen::Matrix3d &R, const Eigen::Vector3d ¢er) |
Apply rotation to the geometry coordinates and normals. Given a rotation matrix , and center , a given point is transformed according to . More... | |
| virtual ccHObject & | Rotate (const Eigen::Matrix3d &R) |
| QString | getViewId () const |
| CV_CLASS_ENUM | getClassID () const override |
| Returns class ID. More... | |
| bool | isGroup () const |
| Returns whether the instance is a group. More... | |
| ccHObject * | getParent () const |
| Returns parent object. More... | |
| virtual QIcon | getIcon () const |
| Returns the icon associated to this entity. More... | |
| void | addDependency (ccHObject *otherObject, int flags, bool additive=true) |
| Adds a new dependence (additive or not) More... | |
| int | getDependencyFlagsWith (const ccHObject *otherObject) |
| Returns the dependency flags with a given object. More... | |
| void | removeDependencyWith (ccHObject *otherObject) |
| Removes any dependency flags with a given object. More... | |
| void | removeDependencyFlag (ccHObject *otherObject, DEPENDENCY_FLAGS flag) |
| Removes a given dependency flag. More... | |
| virtual bool | addChild (ccHObject *child, int dependencyFlags=DP_PARENT_OF_OTHER, int insertIndex=-1) |
| Adds a child. More... | |
| unsigned | getChildrenNumber () const |
| Returns the number of children. More... | |
| unsigned int | getChildCountRecursive () const |
| Returns the total number of children under this object recursively. More... | |
| ccHObject * | getChild (unsigned childPos) const |
| Returns the ith child. More... | |
| ccHObject * | find (unsigned uniqueID) |
| Finds an entity in this object hierarchy. More... | |
| unsigned | filterChildren (Container &filteredChildren, bool recursive=false, CV_CLASS_ENUM filter=CV_TYPES::OBJECT, bool strict=false) const |
| Collects the children corresponding to a certain pattern. More... | |
| void | detachChild (ccHObject *child) |
| Detaches a specific child. More... | |
| void | detachAllChildren () |
| Removes a specific child. More... | |
| void | getTypeID_recursive (std::vector< removeInfo > &rmInfos, bool relative) |
| void | getTypeID_recursive (std::vector< hideInfo > &hdInfos, bool relative) |
| void | removeChild (ccHObject *child) |
| void | removeChild (int pos) |
| Removes a specific child given its index. More... | |
| void | removeAllChildren () |
| Removes all children. More... | |
| int | getChildIndex (const ccHObject *aChild) const |
| Returns child index. More... | |
| void | swapChildren (unsigned firstChildIndex, unsigned secondChildIndex) |
| Swaps two children. More... | |
| int | getIndex () const |
| Returns index relatively to its parent or -1 if no parent. More... | |
| void | transferChild (ccHObject *child, ccHObject &newParent) |
| Transfer a given child to another parent. More... | |
| void | transferChildren (ccHObject &newParent, bool forceFatherDependent=false) |
| Transfer all children to another parent. More... | |
| ccHObject * | getFirstChild () const |
| Shortcut: returns first child. More... | |
| ccHObject * | getLastChild () const |
| Shortcut: returns last child. More... | |
| bool | isAncestorOf (const ccHObject *anObject) const |
| Returns true if the current object is an ancestor of the specified one. More... | |
| void | removeFromRenderScreen (bool recursive=true) |
| void | hideObject_recursive (bool recursive) |
| void | hideBB (CC_DRAW_CONTEXT context) |
| void | showBB (CC_DRAW_CONTEXT context) |
| void | setRedrawFlagRecursive (bool redraw=false) |
| void | setForceRedrawRecursive (bool redraw=false) |
| void | setPointSizeRecursive (int pSize) |
| void | setLineWidthRecursive (PointCoordinateType width) |
| virtual ccBBox | getBB_recursive (bool withGLFeatures=false, bool onlyEnabledChildren=true) |
| Returns the bounding-box of this entity and it's children. More... | |
| virtual GlobalBoundingBox | getGlobalBB_recursive (bool withGLFeatures=false, bool onlyEnabledChildren=true) |
| Returns the global bounding-box of this entity and it's children. More... | |
| virtual ccBBox | getDisplayBB_recursive (bool relative) |
| Returns the bounding-box of this entity and it's children WHEN DISPLAYED. More... | |
| virtual ccBBox | getOwnFitBB (ccGLMatrix &trans) |
| Returns best-fit bounding-box (if available) More... | |
| virtual void | drawBB (CC_DRAW_CONTEXT &context, const ecvColor::Rgb &col) |
| Draws the entity (and its children) bounding-box. More... | |
| void | draw (CC_DRAW_CONTEXT &context) override |
| Draws entity and its children. More... | |
| void | updateNameIn3DRecursive () |
| void | setHideShowType (CC_DRAW_CONTEXT &context) |
| void | setRemoveType (CC_DRAW_CONTEXT &context) |
| ENTITY_TYPE | getEntityType () const |
| virtual void | redrawDisplay (bool forceRedraw=true, bool only2D=false) |
| Redraws associated display. More... | |
| bool | getAbsoluteGLTransformation (ccGLMatrix &trans) const |
| virtual bool | isDisplayed () const |
| Returns whether the object is actually displayed (visible) or not. More... | |
| virtual bool | isBranchEnabled () const |
| Returns whether the object and all its ancestors are enabled. More... | |
| virtual void | redrawDisplay_recursive (bool p) |
| virtual void | refreshDisplay_recursive (bool p) |
| virtual void | setSelected_recursive (bool p) |
| virtual void | toggleActivation_recursive () |
| virtual void | toggleVisibility_recursive () |
| virtual void | toggleColors_recursive () |
| virtual void | resetGLTransformationHistory_recursive () |
| virtual void | toggleNormals_recursive () |
| virtual void | toggleSF_recursive () |
| virtual void | toggleShowName_recursive () |
| unsigned | findMaxUniqueID_recursive () const |
| Returns the max 'unique ID' of this entity and its siblings. More... | |
| void | applyGLTransformation_recursive (const ccGLMatrix *trans=nullptr) |
| Applies the active OpenGL transformation to the entity (recursive) More... | |
| virtual void | notifyGeometryUpdate () |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| bool | toFile (QFile &out, short dataVersion) const override |
| Saves data to binary stream. More... | |
| bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Loads data from binary stream. More... | |
| short | minimumFileVersion () const override |
| Returns the minimum file version required to save this instance. More... | |
| bool | fromFileNoChildren (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) |
| Custom version of ccSerializableObject::fromFile. More... | |
| virtual bool | isShareable () const |
| Returns whether object is shareable or not. More... | |
| virtual void | setSelectionBehavior (SelectionBehavior mode) |
| Sets selection behavior (when displayed) More... | |
| virtual SelectionBehavior | getSelectionBehavior () const |
| Returns selection behavior. More... | |
| virtual unsigned | getUniqueIDForDisplay () const |
| Returns object unqiue ID used for display. More... | |
| virtual const ccGLMatrix & | getGLTransformationHistory () const |
| Returns the transformation 'history' matrix. More... | |
| virtual void | setGLTransformationHistory (const ccGLMatrix &mat) |
| Sets the transformation 'history' matrix (handle with care!) More... | |
| virtual void | resetGLTransformationHistory () |
| Resets the transformation 'history' matrix. More... | |
| bool | pushDisplayState () override |
| Pushes the current display state (overridden) More... | |
| void | popDisplayState (bool apply=true) override |
| Pops the last pushed display state (overridden) More... | |
Public Member Functions inherited from ccObject | |
| ccObject (QString name=QString()) | |
| Default constructor. More... | |
| ccObject (const ccObject &object) | |
| Copy constructor. More... | |
| virtual QString | getName () const |
| Returns object name. More... | |
| virtual void | setName (const QString &name) |
| Sets object name. More... | |
| virtual void | setRemoveFlag (bool removeFlag) |
| Sets removeFlag. More... | |
| virtual bool | getRemoveFlag () |
| Returns removeFlag. More... | |
| virtual unsigned | getUniqueID () const |
| Returns object unique ID. More... | |
| virtual void | setUniqueID (unsigned ID) |
| Changes unique ID. More... | |
| virtual bool | isEnabled () const |
| Returns whether the object is enabled or not. More... | |
| virtual void | setEnabled (bool state) |
| Sets the "enabled" property. More... | |
| virtual void | toggleActivation () |
| Toggles the "enabled" property. More... | |
| virtual bool | isLocked () const |
| Returns whether the object is locked or not. More... | |
| virtual void | setLocked (bool state) |
| Sets the "enabled" property. More... | |
| bool | isLeaf () const |
| bool | isCustom () const |
| bool | isHierarchy () const |
| bool | isKindOf (CV_CLASS_ENUM type) const |
| bool | isA (CV_CLASS_ENUM type) const |
| QVariant | getMetaData (const QString &key) const |
| Returns a given associated meta data. More... | |
| bool | removeMetaData (const QString &key) |
| Removes a given associated meta-data. More... | |
| void | setMetaData (const QString &key, const QVariant &data) |
| Sets a meta-data element. More... | |
| void | setMetaData (const QVariantMap &dataset, bool overwrite=false) |
| Sets several meta-data elements at a time. More... | |
| bool | hasMetaData (const QString &key) const |
| Returns whether a meta-data element with the given key exists or not. More... | |
| const QVariantMap & | metaData () const |
| Returns meta-data map (const only) More... | |
| void | setBaseName (const QString &baseName) |
| QString | getBaseName () const |
| void | setFullPath (const QString &fullPaht) |
| QString | getFullPath () const |
Public Member Functions inherited from ccSerializableObject | |
| virtual | ~ccSerializableObject ()=default |
| Destructor. More... | |
Public Member Functions inherited from ccDrawableObject | |
| ccDrawableObject () | |
| Default constructor. More... | |
| ccDrawableObject (const ccDrawableObject &object) | |
| Copy constructor. More... | |
| virtual | ~ccDrawableObject ()=default |
| virtual bool | isVisible () const |
| Returns whether entity is visible or not. More... | |
| virtual void | setVisible (bool state) |
| Sets entity visibility. More... | |
| virtual void | toggleVisibility () |
| Toggles visibility. More... | |
| virtual bool | isRedraw () const |
| Returns whether entity is to be redraw. More... | |
| virtual void | setRedraw (bool state) |
| Sets entity redraw mode. More... | |
| virtual void | setForceRedraw (bool state) |
| Sets force redraw. More... | |
| virtual void | setFixedId (bool state) |
| virtual bool | isFixedId () |
| virtual bool | isVisibilityLocked () const |
| Returns whether visibility is locked or not. More... | |
| virtual void | lockVisibility (bool state) |
| Locks/unlocks visibility. More... | |
| virtual bool | isSelected () const |
| Returns whether entity is selected or not. More... | |
| virtual void | setSelected (bool state) |
| Selects/Unselects entity. More... | |
| virtual void | getDrawingParameters (glDrawParams ¶ms) const |
| Returns main OpenGL parameters for this entity. More... | |
| virtual bool | hasColors () const |
| Returns whether colors are enabled or not. More... | |
| virtual bool | colorsShown () const |
| Returns whether colors are shown or not. More... | |
| virtual void | showColors (bool state) |
| Sets colors visibility. More... | |
| virtual void | toggleColors () |
| Toggles colors display state. More... | |
| virtual bool | hasNormals () const |
| Returns whether normals are enabled or not. More... | |
| virtual bool | normalsShown () const |
| Returns whether normals are shown or not. More... | |
| virtual void | showNormals (bool state) |
| Sets normals visibility. More... | |
| virtual void | toggleNormals () |
| Toggles normals display state. More... | |
| virtual bool | hasDisplayedScalarField () const |
| Returns whether an active scalar field is available or not. More... | |
| virtual bool | hasScalarFields () const |
| Returns whether one or more scalar fields are instantiated. More... | |
| virtual void | showSF (bool state) |
| Sets active scalarfield visibility. More... | |
| virtual void | toggleSF () |
| Toggles SF display state. More... | |
| virtual bool | sfShown () const |
| Returns whether active scalar field is visible. More... | |
| virtual void | toggleMaterials () |
| Toggles material display state. More... | |
| virtual void | showNameIn3D (bool state) |
| Sets whether name should be displayed in 3D. More... | |
| virtual bool | nameShownIn3D () const |
| Returns whether name is displayed in 3D or not. More... | |
| virtual void | toggleShowName () |
| Toggles name in 3D display state. More... | |
| virtual bool | isColorOverridden () const |
| virtual const ecvColor::Rgb & | getTempColor () const |
| Returns current temporary (unique) color. More... | |
| virtual void | setTempColor (const ecvColor::Rgb &col, bool autoActivate=true) |
| Sets current temporary (unique) More... | |
| virtual void | enableTempColor (bool state) |
| Set temporary color activation state. More... | |
| virtual float | getOpacity () const |
| virtual void | setOpacity (float opacity) |
| Set opacity activation state. More... | |
| virtual void | setGLTransformation (const ccGLMatrix &trans) |
| Associates entity with a GL transformation (rotation + translation) More... | |
| virtual void | enableGLTransformation (bool state) |
| Enables/disables associated GL transformation. More... | |
| virtual bool | isGLTransEnabled () const |
| Returns whether a GL transformation is enabled or not. More... | |
| virtual const ccGLMatrix & | getGLTransformation () const |
| Returns associated GL transformation. More... | |
| virtual void | resetGLTransformation () |
| Resets associated GL transformation. More... | |
| virtual void | rotateGL (const ccGLMatrix &rotMat) |
| Multiplies (left) current GL transformation by a rotation matrix. More... | |
| virtual void | translateGL (const CCVector3 &trans) |
| Translates current GL transformation by a rotation matrix. More... | |
| virtual void | removeAllClipPlanes () |
| Removes all clipping planes (if any) More... | |
| virtual bool | addClipPlanes (const ccClipPlane &plane) |
| Registers a new clipping plane. More... | |
| virtual void | toggleClipPlanes (CC_DRAW_CONTEXT &context, bool enable) |
| Enables or disables clipping planes (OpenGL) More... | |
| virtual void | applyDisplayState (const DisplayState &state) |
| Applies a display state. More... | |
Public Member Functions inherited from cloudViewer::GenericIndexedCloudPersist | |
| ~GenericIndexedCloudPersist () override=default | |
| Default destructor. More... | |
| virtual const CCVector3 * | getPointPersistentPtr (unsigned index)=0 |
| Returns the ith point as a persistent pointer. More... | |
Public Member Functions inherited from cloudViewer::GenericIndexedCloud | |
| ~GenericIndexedCloud () override=default | |
| Default destructor. More... | |
| virtual const CCVector3 * | getPoint (unsigned index) const =0 |
| Returns the ith point. More... | |
| virtual void | getPoint (unsigned index, CCVector3 &P) const =0 |
| Returns the ith point. More... | |
| virtual void | getPoint (unsigned index, double P[3]) const |
| virtual bool | normalsAvailable () const |
| Returns whether normals are available. More... | |
| virtual const CCVector3 * | getNormal (unsigned index) const |
| If per-point normals are available, returns the one at a specific index. More... | |
Public Member Functions inherited from cloudViewer::GenericCloud | |
| GenericCloud ()=default | |
| Default constructor. More... | |
| virtual | ~GenericCloud ()=default |
| Default destructor. More... | |
| virtual unsigned | size () const =0 |
| Returns the number of points. More... | |
| virtual bool | hasPoints () const |
| virtual void | forEach (genericPointAction action)=0 |
| Fast iteration mechanism. More... | |
| virtual void | getBoundingBox (CCVector3 &bbMin, CCVector3 &bbMax)=0 |
| Returns the cloud bounding box. More... | |
| virtual unsigned char | testVisibility (const CCVector3 &P) const |
| virtual void | placeIteratorAtBeginning ()=0 |
| Sets the cloud iterator at the beginning. More... | |
| virtual const CCVector3 * | getNextPoint ()=0 |
| Returns the next point (relatively to the global iterator position) More... | |
| virtual bool | enableScalarField ()=0 |
| Enables the scalar field associated to the cloud. More... | |
| virtual bool | isScalarFieldEnabled () const =0 |
| Returns true if the scalar field is enabled, false otherwise. More... | |
| virtual void | setPointScalarValue (unsigned pointIndex, ScalarType value)=0 |
| Sets the ith point associated scalar value. More... | |
| virtual ScalarType | getPointScalarValue (unsigned pointIndex) const =0 |
| Returns the ith point associated scalar value. More... | |
Protected Member Functions | |
| bool | toFile_MeOnly (QFile &out, short dataVersion) const override |
| Save own object data. More... | |
| short | minimumFileVersion_MeOnly () const override |
| bool | fromFile_MeOnly (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Loads own object data. More... | |
Protected Member Functions inherited from ccShiftedObject | |
| bool | saveShiftInfoToFile (QFile &out) const |
| Serialization helper (output) More... | |
| bool | loadShiftInfoFromFile (QFile &in) |
| Serialization helper (input) More... | |
Protected Member Functions inherited from ccHObject | |
| virtual void | setParent (ccHObject *anObject) |
| Sets parent object. More... | |
| virtual void | drawMeOnly (CC_DRAW_CONTEXT &context) |
| Draws the entity only (not its children) More... | |
| virtual void | applyGLTransformation (const ccGLMatrix &trans) |
| Applies a GL transformation to the entity. More... | |
| virtual void | drawNameIn3D () |
| Draws the entity name in 3D. More... | |
| virtual void | onDeletionOf (const ccHObject *obj) |
| This method is called when another object is deleted. More... | |
| virtual void | onUpdateOf (ccHObject *obj) |
| This method is called when another object (geometry) is updated. More... | |
Protected Member Functions inherited from ccObject | |
| virtual bool | getFlagState (CV_OBJECT_FLAG flag) const |
| Returns flag state. More... | |
| virtual void | setFlagState (CV_OBJECT_FLAG flag, bool state) |
| Sets flag state. More... | |
| bool | toFile (QFile &out, short dataVersion) const override |
| Saves data to binary stream. More... | |
| short | minimumFileVersion () const override |
| Returns the minimum file version required to save this instance. More... | |
| bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Reimplemented from ccSerializableObject::fromFile. More... | |
Protected Attributes | |
| VisibilityTableType | m_pointsVisibility |
| Per-point visibility table. More... | |
| unsigned char | m_pointSize |
| Point size (won't be applied if 0) More... | |
Protected Attributes inherited from ccShiftedObject | |
| CCVector3d | m_globalShift |
| Global shift (typically applied at loading time) More... | |
| double | m_globalScale |
| Global scale (typically applied at loading time) More... | |
Protected Attributes inherited from ccHObject | |
| ccHObject * | m_parent |
| Parent. More... | |
| Container | m_children |
| Children. More... | |
| SelectionBehavior | m_selectionBehavior |
| Selection behavior. More... | |
| std::map< ccHObject *, int > | m_dependencies |
| Dependencies map. More... | |
| ccGLMatrix | m_glTransHistory |
| Cumulative GL transformation. More... | |
| bool | m_isDeleting |
| Flag to safely handle dependencies when the object is being deleted. More... | |
Protected Attributes inherited from ccObject | |
| QString | m_name |
| Object name. More... | |
| QString | m_baseName |
| QString | m_filePath |
| bool | m_removeFlag |
| unsigned | m_flags |
| Object flags. More... | |
| QVariantMap | m_metaData |
| Associated meta-data. More... | |
Protected Attributes inherited from ccDrawableObject | |
| bool | m_fixedId |
| bool | m_modelRedraw |
| bool | m_forceRedraw |
| float | m_opacity |
| bool | m_visible |
| Specifies whether the object is visible or not. More... | |
| bool | m_selected |
| Specifies whether the object is selected or not. More... | |
| bool | m_lockedVisibility |
| Specifies whether the visibility can be changed by user or not. More... | |
| bool | m_colorsDisplayed |
| Specifies whether colors should be displayed. More... | |
| bool | m_normalsDisplayed |
| Specifies whether normals should be displayed. More... | |
| bool | m_sfDisplayed |
| Specifies whether scalar field should be displayed. More... | |
| ecvColor::Rgb | m_tempColor |
| Temporary (unique) color. More... | |
| bool | m_colorIsOverridden |
| Temporary (unique) color activation state. More... | |
| ccGLMatrix | m_glTrans |
| Current GL transformation. More... | |
| bool | m_glTransEnabled |
| Current GL transformation activation state. More... | |
| bool | m_showNameIn3D |
| Whether name is displayed in 3D or not. More... | |
| CCVector3d | m_nameIn3DPos |
| Last 2D position of the '3D' name. More... | |
| ccClipPlaneSet | m_clipPlanes |
| Active clipping planes (used for display only) More... | |
| std::vector< DisplayState::Shared > | m_displayStateStack |
| The stack of pushed display states. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ccHObject | |
| static ccHObject * | New (CV_CLASS_ENUM objectType, const char *name=nullptr) |
| Static factory. More... | |
| static ccHObject * | New (const QString &pluginId, const QString &classId, const char *name=nullptr) |
| Static factory (version to be used by external plugin factories) More... | |
| static Eigen::Vector3d | ComputeMinBound (const std::vector< Eigen::Vector3d > &points) |
| Compute min bound of a list points. More... | |
| static Eigen::Vector3d | ComputeMaxBound (const std::vector< Eigen::Vector3d > &points) |
| Compute max bound of a list points. More... | |
| static Eigen::Vector3d | ComputeCenter (const std::vector< Eigen::Vector3d > &points) |
| Computer center of a list of points. More... | |
| static void | ResizeAndPaintUniformColor (std::vector< Eigen::Vector3d > &colors, std::size_t size, const Eigen::Vector3d &color) |
| Resizes the colors vector and paints a uniform color. More... | |
| static void | TransformPoints (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &points) |
| Transforms all points with the transformation matrix. More... | |
| static void | TransformNormals (const Eigen::Matrix4d &transformation, std::vector< Eigen::Vector3d > &normals) |
| Transforms the normals with the transformation matrix. More... | |
| static void | TransformCovariances (const Eigen::Matrix4d &transformation, std::vector< Eigen::Matrix3d > &covariances) |
| Transforms all covariance matrices with the transformation. More... | |
| static void | TranslatePoints (const Eigen::Vector3d &translation, std::vector< Eigen::Vector3d > &points, bool relative) |
| Apply translation to the geometry coordinates. More... | |
| static void | ScalePoints (const double scale, std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d ¢er) |
Scale the coordinates of all points by the scaling factor scale. More... | |
| static void | RotatePoints (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d ¢er) |
Rotate all points with the rotation matrix R. More... | |
| static void | RotateNormals (const Eigen::Matrix3d &R, std::vector< Eigen::Vector3d > &normals) |
Rotate all normals with the rotation matrix R. More... | |
| static void | RotateCovariances (const Eigen::Matrix3d &R, std::vector< Eigen::Matrix3d > &covariances) |
Rotate all covariance matrices with the rotation matrix R. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromXYZ (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from XYZ RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromYZX (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from YZX RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromZXY (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from ZXY RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromXZY (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from XZY RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromZYX (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from ZYX RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromYXZ (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from YXZ RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromAxisAngle (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from AxisAngle RotationType. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromQuaternion (const Eigen::Vector4d &rotation) |
| Get Rotation Matrix from Quaternion. More... | |
| static Eigen::Matrix3d | GetRotationMatrixFromEulerAngle (const Eigen::Vector3d &rotation) |
| Get Rotation Matrix from Euler angle. More... | |
Static Public Member Functions inherited from ccObject | |
| static unsigned | GetCurrentDBVersion () |
| Returns current database version. More... | |
| static void | SetUniqueIDGenerator (ccUniqueIDGenerator::Shared generator) |
| Sets the unique ID generator. More... | |
| static ccUniqueIDGenerator::Shared | GetUniqueIDGenerator () |
| Returns the unique ID generator. More... | |
| static unsigned | GetNextUniqueID () |
| Returns a new unassigned unique ID. More... | |
| static unsigned | GetLastUniqueID () |
| Returns last assigned unique ID. More... | |
| static CV_CLASS_ENUM | ReadClassIDFromFile (QFile &in, short dataVersion) |
| Helper: reads out class ID from a binary stream. More... | |
Static Public Member Functions inherited from ccSerializableObject | |
| static bool | WriteError () |
| Sends a custom error message (write error) and returns 'false'. More... | |
| static bool | ReadError () |
| Sends a custom error message (read error) and returns 'false'. More... | |
| static bool | MemoryError () |
| Sends a custom error message (not enough memory) and returns 'false'. More... | |
| static bool | CorruptError () |
| Sends a custom error message (corrupted file) and returns 'false'. More... | |
A 3D cloud interface with associated features (color, normals, octree, etc.)
A generic point cloud can have multiples features:
Definition at line 45 of file ecvGenericPointCloud.h.
| using ccGenericPointCloud::VisibilityTableType = std::vector<unsigned char> |
Array of "visibility" information for each point.
See <CCConst.h>
Definition at line 165 of file ecvGenericPointCloud.h.
| ccGenericPointCloud::ccGenericPointCloud | ( | QString | name = QString() | ) |
Default constructor.
Definition at line 28 of file ecvGenericPointCloud.cpp.
References ccDrawableObject::lockVisibility(), and ccDrawableObject::setVisible().
| ccGenericPointCloud::ccGenericPointCloud | ( | const ccGenericPointCloud & | cloud | ) |
Copy constructor.
Definition at line 34 of file ecvGenericPointCloud.cpp.
|
override |
|
pure virtual |
Applies a rigid transformation (rotation + translation)
Implemented in ccPointCloud.
|
virtual |
Clears the entity from all its points and features.
Display parameters are also reseted to their default values.
Reimplemented in ccSymbolCloud, and ccPointCloud.
Definition at line 41 of file ecvGenericPointCloud.cpp.
References deleteOctree(), ccDrawableObject::enableTempColor(), and unallocateVisibilityArray().
Referenced by define_ccGenericPointCloud(), ccPointCloud::unalloactePoints(), and ~ccGenericPointCloud().
|
pure virtual |
Clones this entity.
All the main features of the entity are cloned, except from the octree and the points visibility information.
| destCloud | destination cloud can be provided here (must be of the exact same type as the cloned cloud!) |
| ignoreChildren | [optional] whether to ignore the cloud's children or not (in which case they will be cloned as well) |
Implemented in ccPointCloud.
Referenced by ccMesh::cloneMesh(), define_ccGenericPointCloud(), ccGenericPrimitive::finishCloneJob(), and ccMesh::partialClone().
| cloudViewer::SquareMatrixd ccGenericPointCloud::computeCovariance | ( | ) | const |
Definition at line 409 of file ecvGenericPointCloud.cpp.
References cloudViewer::GeometricalAnalysisTools::ComputeCovarianceMatrix(), cloudViewer::GeometricalAnalysisTools::ComputeGravityCenter(), and Tuple3Tpl< Type >::u.
| std::tuple< Eigen::Vector3d, Eigen::Matrix3d > ccGenericPointCloud::computeMeanAndCovariance | ( | ) | const |
Definition at line 398 of file ecvGenericPointCloud.cpp.
References cloudViewer::GeometricalAnalysisTools::ComputeCovarianceMatrix(), cloudViewer::GeometricalAnalysisTools::ComputeGravityCenter(), Vector3Tpl< double >::fromArray(), cloudViewer::SquareMatrixTpl< Scalar >::toArray(), and Tuple3Tpl< Type >::u.
Referenced by ecvOrientedBBox::CreateFromPoints().
|
virtual |
Computes the cloud octree.
The octree bounding-box is automatically defined as the smallest 3D cube that totally encloses the cloud. WARNING: any previously attached octree will be deleted, even if the new octree computation failed.
| progressCb | the caller can get some notification of the process progress through this callback mechanism (see cloudViewer documentation) |
| autoAddChild | whether to automatically add the computed octree as child of this cloud or not |
Definition at line 124 of file ecvGenericPointCloud.cpp.
References cloudViewer::DgmOctree::build(), cloudViewer::DgmOctree::clear(), deleteOctree(), octree, and setOctree().
Referenced by ccLibAlgorithms::ApplyCCLibAlgorithm(), ccPointCloud::applyFilterToRGB(), ccNormalComputationDlg::autoEstimateRadius(), ccTrace::buildCurvatureCost(), ccTrace::buildGradientCost(), ccTrace::calculateOptimumSearchRadius(), ccAlignDlg::changeSamplingMethod(), qCanupoProcess::Classify(), qM3C2Process::Compute(), ccLibAlgorithms::ComputeGeomCharacteristic(), ComputeMathOpWithNearestNeighbor(), ccPointCloud::computeNormalsWithOctree(), ccCompass::estimateP21(), ccSubsamplingDlg::getSampledCloud(), qM3C2Tools::GuessBestParams(), ccOctree::GuessBestRadiusAutoComputeOctree(), ccTrace::optimizeSegment(), ccMinimumSpanningTreeForNormsDirection::OrientNormals(), ccFastMarchingForNormsDirection::OrientNormals(), ccFitPlaneTool::pointPicked(), pointPicking(), masc::CorePoints::prepare(), masc::ContextBasedFeature::prepare(), masc::Tools::PrepareFeatures(), CommandOctreeNormal::process(), CommandStatTest::process(), ccEntityAction::rgbGaussianFilter(), ccEntityAction::sfGaussianFilter(), ccEntityAction::statisticalTest(), and qCanupoTools::TrainClassifier().
|
pure virtual |
Creates a new point cloud with only the 'visible' points (as defined by the visibility array)
| [in] | removeSelectedPoints | if true, 'visible' points are also removed from the current point cloud |
| [in] | visTable | visibility table (optional, otherwise the cloud's default one will be used) |
| [out] | newIndexesOfRemainingPoints | the new indexes of the remaining points (if removeSelectedPoints is true - optional). Must be initially empty or have the same size as the original cloud. |
| [in] | silent | don't issue a warning message if there's no point to keep |
| [out] | selection | the corresponding point selection |
Implemented in ccPointCloud.
Referenced by ccGraphicalSegmentationTool::applySegmentation(), and ccMesh::createNewMeshFromSelection().
|
pure virtual |
Crops the cloud inside (or outside) a bounding box.
| box | cropping box |
| inside | whether selected points are inside or outside the box |
Implemented in ccPointCloud.
Referenced by ccPointPairRegistrationDlg::convertToSphereCenter().
|
pure virtual |
Implemented in ccPointCloud.
|
virtual |
Erases the octree.
Definition at line 80 of file ecvGenericPointCloud.cpp.
References getOctreeProxy(), and ccHObject::removeChild().
Referenced by ccPointCloud::append(), ccPointCloud::applyRigidTransformation(), clear(), computeOctree(), DistanceMapGenerationTool::ConvertCloudToConical(), DistanceMapGenerationTool::ConvertCloudToCylindrical(), ccPointCloud::removeVisiblePoints(), ccPointCloud::scale(), and setOctree().
|
overrideprotectedvirtual |
Loads own object data.
Called by 'fromFile' (recursive scheme) To be overloaded (but still called ;) by subclass.
| in | input file |
| dataVersion | file version |
| flags | deserialization flags (see ccSerializableObject::DeserializationFlags) |
| oldToNewIDMap | map to link old IDs with new IDs |
Reimplemented from ccHObject.
Reimplemented in ccPointCloud.
Definition at line 184 of file ecvGenericPointCloud.cpp.
|
virtual |
Returns the associated octree (if any)
Definition at line 97 of file ecvGenericPointCloud.cpp.
References ccOctreeProxy::getOctree(), and getOctreeProxy().
Referenced by ccLibAlgorithms::ApplyCCLibAlgorithm(), ccPointCloud::applyFilterToRGB(), ccNormalComputationDlg::autoEstimateRadius(), ccTrace::buildCurvatureCost(), ccTrace::buildGradientCost(), ccTrace::calculateOptimumSearchRadius(), ccAlignDlg::changeSamplingMethod(), qCanupoProcess::Classify(), qM3C2Process::Compute(), ccLibAlgorithms::ComputeGeomCharacteristic(), ComputeMathOpWithNearestNeighbor(), ccPointCloud::computeNormalsWithOctree(), DistanceMapGenerationTool::ConvertCloudToConical(), DistanceMapGenerationTool::ConvertCloudToCylindrical(), qFacets::extractFacets(), ccSubsamplingDlg::getSampledCloud(), ccAlignDlg::getSampledData(), ccAlignDlg::getSampledModel(), ccDBRoot::getSelectedEntities(), qM3C2Tools::GuessBestParams(), ccOctree::GuessBestRadiusAutoComputeOctree(), ccTrace::optimizeSegment(), ccMinimumSpanningTreeForNormsDirection::OrientNormals(), ccFastMarchingForNormsDirection::OrientNormals(), ccFitPlaneTool::pointPicked(), pointPicking(), masc::CorePoints::prepare(), ccComparisonDlg::prepareEntitiesForComparison(), masc::Tools::PrepareFeatures(), CommandOctreeNormal::process(), CommandStatTest::process(), ccEntityAction::rgbGaussianFilter(), ccPointCloudLODThread::run(), ccPointCloud::scale(), ccOctreeSpinBox::setCloud(), ccEntityAction::sfGaussianFilter(), ecvDisplayTools::StartCPUBasedPointPicking(), ccEntityAction::statisticalTest(), qCanupoTools::TrainClassifier(), and ccPointCloud::Translate().
|
virtual |
Returns the associated octree proxy (if any)
Definition at line 87 of file ecvGenericPointCloud.cpp.
References ccHObject::m_children, and CV_TYPES::POINT_OCTREE.
Referenced by qCanupoProcess::Classify(), qM3C2Process::Compute(), deleteOctree(), getOctree(), and qM3C2Tools::GuessBestParams().
|
overridevirtual |
Returns the entity's own bounding-box.
Children bboxes are ignored.
| withGLFeatures | whether to take into account display-only elements (if any) |
Reimplemented from ccHObject.
Definition at line 139 of file ecvGenericPointCloud.cpp.
References cloudViewer::GenericCloud::getBoundingBox(), cloudViewer::BoundingBoxTpl< T >::maxCorner(), cloudViewer::BoundingBoxTpl< T >::minCorner(), cloudViewer::BoundingBoxTpl< T >::setValidity(), and cloudViewer::GenericCloud::size().
Referenced by ecvPoissonReconDlg::adjustParams(), ccLibAlgorithms::ApplyScaleMatchingAlgorithm(), ccRasterizeTool::ccRasterizeTool(), ccVolumeCalcTool::ccVolumeCalcTool(), PCLDisplayTools::checkEntityNeedUpdate(), ccEntityAction::computeOctree(), DistanceMapGenerationDlg::DistanceMapGenerationDlg(), qPoissonRecon::doAction(), ccKdTree::drawMeOnly(), ccContourExtractor::ExtractConcaveHull2D(), qFacets::extractFacets(), ccQuadric::Fit(), ccLibAlgorithms::GetDefaultCloudKernelSize(), ccCameraSensor::getOwnBB(), ccGBLSensor::getOwnBB(), ccKdTree::getOwnBB(), qM3C2Tools::GuessBestParams(), ccNormalVectors::GuessNaiveRadius(), ccOctree::GuessNaiveRadius(), ccInnerRect2DFinder::init(), ccPointCloud::interpolateColorsFrom(), ccPointCloudInterpolator::InterpolateScalarFieldsFrom(), ccEntityAction::interpolateSFs(), PcdFilter::loadFile(), LoadScan(), NormalEstimation::openInputDialog(), GreedyTriangulation::openInputDialog(), MarchingCubeReconstruction::openInputDialog(), PoissonReconstruction::openInputDialog(), CommandVolume25D::process(), ccInnerRect2DFinder::process(), ccOctreeSpinBox::setCloud(), ccPointCloud::setRGBColorByHeight(), qCanupo2DViewDialog::trainClassifier(), and qCanupoTools::TrainClassifier().
|
pure virtual |
Returns color corresponding to a given point.
WARNING: color array must be enabled! (see ccDrawableObject::hasColors)
Implemented in ccPointCloud.
Referenced by CCCloudToDraco(), ccRasterGrid::fillWith(), ccPointCloud::From(), cc2DLabel::getLabelInfo1(), ccMesh::getVertexColorFromMaterial(), ccMesh::interpolateColors(), ccPointCloud::interpolateColorsFrom(), ccColorLevelsDlg::onApply(), HSVDialog::onItemPicked(), RgbDialog::onItemPicked(), ccGenericPrimitive::operator+=(), AsciiFilter::saveToFile(), VTKFilter::saveToFile(), LASFilter::saveToFile(), ToFbxMesh(), and ccColorLevelsDlg::updateHistogram().
|
pure virtual |
Returns scalar value associated to a given point.
The returned value is taken from the current displayed scalar field WARNING: scalar field must be enabled! (see ccDrawableObject::hasDisplayedScalarField)
Implemented in ccPointCloud.
Referenced by VTKFilter::saveToFile().
|
pure virtual |
Returns normal corresponding to a given point.
WARNING: normals array must be enabled! (see ccDrawableObject::hasNormals)
Implemented in ccPointCloud.
Referenced by CCCloudToDraco(), ccOctree::ComputeAverageNorm(), ComputeRobustAverageNorm(), qPCV::doAction(), cc2DLabel::getLabelInfo1(), ccMesh::interpolateNormals(), AsciiFilter::saveToFile(), ObjFilter::saveToFile(), VTKFilter::saveToFile(), ToFbxMesh(), and ccNormalVectors::UpdateNormalOrientations().
|
pure virtual |
Returns compressed normal corresponding to a given point.
WARNING: normals array must be enabled! (see ccDrawableObject::hasNormals)
Implemented in ccPointCloud.
Referenced by ccPointCloud::From(), and ccGenericPrimitive::operator+=().
|
pure virtual |
Returns color corresponding to a given point associated scalar value.
The returned value depends on the current scalar field display parameters. It may even be 0 if the value shouldn't be displayed. WARNING: scalar field must be enabled! (see ccDrawableObject::hasDisplayedScalarField)
Implemented in ccPointCloud.
|
inline |
Returns current point size.
0 means that the cloud will use current OpenGL value (see glPointSize).
Definition at line 283 of file ecvGenericPointCloud.h.
Referenced by ccPointCloud::drawMeOnly(), importParametersFrom(), ccPropertiesTreeDelegate::setEditorData(), and ccHObject::setPointSizeRecursive().
|
pure virtual |
Returns color corresponding to a given scalar value.
The returned value depends on the current scalar field display parameters. It may even be 0 if the value shouldn't be displayed. WARNING: scalar field must be enabled! (see ccDrawableObject::hasDisplayedScalarField)
Implemented in ccPointCloud.
Referenced by ccOctree::DrawCellAsAPoint(), and ccOctree::DrawCellAsAPrimitive().
|
inlinevirtual |
Returns associated visibility array.
Definition at line 168 of file ecvGenericPointCloud.h.
Referenced by cc2smReader::cc2smReader(), ccMesh::createNewMeshFromSelection(), ccPolyline::createNewPolylinesFromSelection(), ccSubMesh::createNewSubMeshFromSelection(), ccGenericMesh::drawMeOnly(), ccMesh::drawMeOnly(), cc2smReader::getColors(), cc2smReader::getFloatScalarField(), cc2smReader::getNormals(), cc2smReader::getOneOf(), cc2smReader::getPclCloud2(), cc2smReader::getPclMesh(), cc2smReader::getPclTextureMesh(), cc2smReader::getVtkPolyDataFromMeshCloud(), cc2smReader::getVtkPolyDataWithTextures(), cc2smReader::getvtkScalars(), cc2smReader::getXYZ2(), pointPicking(), ccOctree::pointPicking(), ccGraphicalSegmentationTool::segment(), VtkUtils::TableModel::updateData(), and StereogramDialog::updateFacetsFilter().
|
inlinevirtual |
Returns associated visibility array (const version)
Definition at line 173 of file ecvGenericPointCloud.h.
|
virtual |
Returns a ReferenceCloud equivalent to the visibility array.
| visTable | visibility table (optional, otherwise the cloud's default one will be used) |
| silent | don't issue warnings if no visible point is present |
| selection | input reference cloud to be used (optional) |
Definition at line 416 of file ecvGenericPointCloud.cpp.
References cloudViewer::ReferenceCloud::addPointIndex(), cloudViewer::ReferenceCloud::clear(), count, cloudViewer::ReferenceCloud::getAssociatedCloud(), m_pointsVisibility, POINT_VISIBLE, cloudViewer::ReferenceCloud::reserve(), cloudViewer::GenericCloud::size(), cloudViewer::ReferenceCloud::size(), and CVLog::Warning().
Referenced by ccPointCloud::createNewCloudFromVisibilitySelection().
| void ccGenericPointCloud::importParametersFrom | ( | const ccGenericPointCloud * | cloud | ) |
Imports the parameters from another cloud.
Only the specific parameters are imported.
Definition at line 228 of file ecvGenericPointCloud.cpp.
References ccShiftedObject::getGlobalScale(), ccShiftedObject::getGlobalShift(), ccHObject::getGLTransformationHistory(), getPointSize(), ccObject::metaData(), ccShiftedObject::setGlobalScale(), ccShiftedObject::setGlobalShift(), ccHObject::setGLTransformationHistory(), ccObject::setMetaData(), and setPointSize().
Referenced by qM3C2Process::Compute(), ccCropTool::Crop(), ccPointCloud::From(), and ccPointCloud::operator=().
|
virtual |
Inverts the visibility array.
Definition at line 61 of file ecvGenericPointCloud.cpp.
References m_pointsVisibility, POINT_HIDDEN, and POINT_VISIBLE.
Referenced by ecvFilterByLabelDlg::apply().
|
inlineoverridevirtual |
Returns whether object is serializable of not.
Reimplemented from ccSerializableObject.
Definition at line 269 of file ecvGenericPointCloud.h.
|
virtual |
Returns whether the visibility array is allocated or not.
Definition at line 76 of file ecvGenericPointCloud.cpp.
References m_pointsVisibility.
Referenced by cc2smReader::cc2smReader(), ccPointCloud::createNewCloudFromVisibilitySelection(), ccSNECloud::drawMeOnly(), StereogramDialog::exportCurrentSelection(), pointPicking(), ccOctree::pointPicking(), and ccPointCloud::removeVisiblePoints().
|
overrideprotectedvirtual |
Returns the minimum file version required to save this instance's own data To be overloaded (but still called ;) by subclass. Used internally by minimumFileVersion() to compute the overall minimum.
Reimplemented from ccHObject.
Reimplemented in ccPointCloud.
Definition at line 179 of file ecvGenericPointCloud.cpp.
References ccHObject::minimumFileVersion_MeOnly().
Referenced by ccPointCloud::minimumFileVersion_MeOnly().
| bool ccGenericPointCloud::pointPicking | ( | const CCVector2d & | clickPos, |
| const ccGLCameraParameters & | camera, | ||
| int & | nearestPointIndex, | ||
| double & | nearestSquareDist, | ||
| double | pickWidth = 2.0, |
||
| double | pickHeight = 2.0, |
||
| bool | autoComputeOctree = false |
||
| ) |
Point picking (brute force or octree-driven)
Definition at line 253 of file ecvGenericPointCloud.cpp.
References ccPointCloud::addScalarField(), ccGLMatrixTpl< T >::apply(), cloudViewer::ScalarField::computeMinAndMax(), computeOctree(), ccHObject::getAbsoluteGLTransformation(), ccHObject::getClassID(), ccScalarField::getColor(), ccScalarField::getColorScale(), ccPointCloud::getCurrentDisplayedScalarField(), ecvDisplayTools::GetMainWindow(), getOctree(), cloudViewer::GenericIndexedCloud::getPoint(), cloudViewer::PointCloudTpl< T >::getScalarField(), cloudViewer::PointCloudTpl< T >::getScalarFieldIndexByName(), getTheVisibilityArray(), cloudViewer::ScalarField::getValue(), ccObject::isA(), isVisibilityTableInstantiated(), ccScalarField::mayHaveHiddenValues(), Vector3Tpl< Type >::norm2d(), octree, cloudViewer::DgmOctree::PointDescriptor::point, CV_TYPES::POINT_CLOUD, POINT_VISIBLE, cloudViewer::DgmOctree::PointDescriptor::pointIndex, ccGLCameraParameters::project(), ccPointCloud::setCurrentDisplayedScalarField(), cloudViewer::PointCloudTpl< T >::setCurrentScalarField(), ccDrawableObject::sfShown(), ccDrawableObject::showSF(), cloudViewer::GenericCloud::size(), cloudViewer::DgmOctree::PointDescriptor::squareDistd, ccGLCameraParameters::unproject(), CVLog::Warning(), Vector2Tpl< Type >::x, Tuple3Tpl< Type >::x, X, Vector2Tpl< Type >::y, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.
Referenced by ccTracePolylineTool::polylineOverSampling(), and ecvDisplayTools::StartCPUBasedPointPicking().
|
pure virtual |
|
pure virtual |
Implemented in ccPointCloud.
|
pure virtual |
Removes all the 'visible' points (as defined by the visibility array)
| visTable | visibility table (optional, otherwise the cloud's default one will be used) |
| newIndexes | optional: stores the new indexes of the points (either an index >= 0 if kept, or -1 if not). Must be initially empty or have the same size as the original cloud. |
Implemented in ccPointCloud.
Referenced by ccMesh::createNewMeshFromSelection().
|
virtual |
Resets the associated visibility array.
Warning: allocates the array if it was not done yet!
Definition at line 47 of file ecvGenericPointCloud.cpp.
References m_pointsVisibility, POINT_VISIBLE, cloudViewer::GenericCloud::size(), and unallocateVisibilityArray().
Referenced by ccPointCloud::hidePointsByScalarValue(), ccGraphicalSegmentationTool::reset(), and StereogramDialog::updateFacetsFilter().
|
pure virtual |
Multiplies all coordinates by constant factors (one per dimension)
WARNING: attached octree may be deleted.
| fx | multiplication factor along the X dimension |
| fy | multiplication factor along the Y dimension |
| fz | multiplication factor along the Z dimension |
| center | scaling center (0,0,0) by default |
Implemented in ccPointCloud.
Referenced by ccLibAlgorithms::ApplyScaleMatchingAlgorithm().
|
virtual |
Sets the associated octree.
Definition at line 106 of file ecvGenericPointCloud.cpp.
References ccHObject::addChild(), deleteOctree(), cloudViewer::DgmOctree::getNumberOfProjectedPoints(), octree, ccObject::setEnabled(), and ccDrawableObject::setVisible().
Referenced by computeOctree(), and ccPointCloudLODThread::run().
|
inline |
Sets point size.
Overrides default value one if superior than 0 (see glPointSize).
Definition at line 275 of file ecvGenericPointCloud.h.
References size.
Referenced by cloudViewer::ModelViewerWidget::ChangePointSize(), ExtractSIFT::compute(), ccRasterGrid::convertToCloud(), vtk2cc::ConvertToMultiPolylines(), define_ccPointCloud(), GrainsAsEllipsoids::exportResultsAsCloud(), ccContourExtractor::ExtractConcaveHull2D(), getMortarMaps(), ecvTools::GetPolylines(), importParametersFrom(), cloudViewer::ModelViewerWidget::SetPointSize(), and ccHObject::setPointSizeRecursive().
|
overrideprotectedvirtual |
Save own object data.
Called by 'toFile' (recursive scheme) To be overloaded (but still called ;) by subclass.
| out | output file |
| dataVersion | target file version for compatibility control |
Reimplemented from ccHObject.
Reimplemented in ccPointCloud.
Definition at line 150 of file ecvGenericPointCloud.cpp.
|
virtual |
Erases the points visibility information.
Definition at line 72 of file ecvGenericPointCloud.cpp.
References m_pointsVisibility.
Referenced by ccPointCloud::append(), ecvFilterByLabelDlg::apply(), clear(), ccMesh::createNewMeshFromSelection(), ccGraphicalSegmentationTool::prepareEntityForRemoval(), resetVisibilityArray(), and StereogramDialog::updateFacetsFilter().
|
protected |
Point size (won't be applied if 0)
Definition at line 321 of file ecvGenericPointCloud.h.
|
protected |
Per-point visibility table.
If this table is allocated, only values set to POINT_VISIBLE will be considered as visible/selected.
Definition at line 318 of file ecvGenericPointCloud.h.
Referenced by ccPointCloud::createNewCloudFromVisibilitySelection(), ccSNECloud::drawMeOnly(), getTheVisiblePoints(), ccPointCloud::hidePointsByScalarValue(), invertVisibilityArray(), isVisibilityTableInstantiated(), ccPointCloud::removeVisiblePoints(), resetVisibilityArray(), and unallocateVisibilityArray().