![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Ground-based Laser sensor. More...
#include <ecvGBLSensor.h>


Public Types | |
| enum | ROTATION_ORDER { YAW_THEN_PITCH = 0 , PITCH_THEN_YAW = 1 } |
| The order of inner-rotations of the sensor (body/mirrors) More... | |
| using | NormalGrid = std::vector< CCVector3 > |
| 2D grid of normals More... | |
| using | ColorGrid = std::vector< ecvColor::Rgb > |
| 2D grid of colors 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 Member Functions | |
| ccGBLSensor (ROTATION_ORDER rotOrder=YAW_THEN_PITCH) | |
| Default constructor. More... | |
| ccGBLSensor (const ccGBLSensor &sensor) | |
| Copy constructor. More... | |
| ~ccGBLSensor () override=default | |
| Destructor. More... | |
| CV_CLASS_ENUM | getClassID () const override |
| Returns class ID. More... | |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| ccBBox | getOwnBB (bool withGLFeatures=false) override |
| Returns the entity's own bounding-box. More... | |
| ccBBox | getOwnFitBB (ccGLMatrix &trans) override |
| Returns best-fit bounding-box (if available) More... | |
| virtual void | clearDrawings () override |
| virtual void | hideShowDrawings (CC_DRAW_CONTEXT &context) override |
| bool | applyViewport () override |
| Apply sensor 'viewport' to a 3D view. More... | |
| unsigned char | checkVisibility (const CCVector3 &P) const override |
| bool | computeAutoParameters (cloudViewer::GenericCloud *theCloud) |
| Computes angular parameters automatically (all but the angular steps!) More... | |
| void | setPitchRange (PointCoordinateType minPhi, PointCoordinateType maxPhi) |
| Sets the pitch scanning limits. More... | |
| PointCoordinateType | getMinPitch () const |
| Returns the minimal pitch limit (in radians) More... | |
| PointCoordinateType | getMaxPitch () const |
| Returns the maximal pitch limit (in radians) More... | |
| void | setPitchStep (PointCoordinateType dPhi) |
| Sets the pitch step. More... | |
| PointCoordinateType | getPitchStep () const |
| Returns the lateral pitch step (in radians) More... | |
| bool | pitchIsShifted () const |
| void | setYawRange (PointCoordinateType minTheta, PointCoordinateType maxTheta) |
| Sets the yaw scanning limits. More... | |
| PointCoordinateType | getMinYaw () const |
| Returns the minimal yaw limit (in radians) More... | |
| PointCoordinateType | getMaxYaw () const |
| Returns the maximal yaw limit (in radians) More... | |
| void | setYawStep (PointCoordinateType dTheta) |
| Sets the yaw step. More... | |
| PointCoordinateType | getYawStep () const |
| Returns the yaw step (in radians) More... | |
| bool | yawIsShifted () const |
| PointCoordinateType | getSensorRange () const |
| Returns the sensor max. range. More... | |
| void | setSensorRange (PointCoordinateType range) |
| Sets the sensor max. range. More... | |
| PointCoordinateType | getUncertainty () const |
| Returns the Z-buffer uncertainty on depth values. More... | |
| void | setUncertainty (PointCoordinateType u) |
| Sets the Z-buffer uncertainty on depth values. More... | |
| ROTATION_ORDER | getRotationOrder () const |
| Returns the sensor internal rotations order. More... | |
| void | setRotationOrder (ROTATION_ORDER rotOrder) |
| Sets the sensor internal rotations order. More... | |
| void | projectPoint (const CCVector3 &sourcePoint, CCVector2 &destPoint, PointCoordinateType &depth, double posIndex=0) const |
| Projects a point in the sensor world. More... | |
| NormalGrid * | projectNormals (cloudViewer::GenericCloud *cloud, const NormalGrid &norms, double posIndex=0) const |
| Projects a set of point cloud normals in the sensor world. More... | |
| ColorGrid * | projectColors (cloudViewer::GenericCloud *cloud, const ColorGrid &rgbColors) const |
| bool | computeDepthBuffer (cloudViewer::GenericCloud *cloud, int &errorCode, ccPointCloud *projectedCloud=nullptr) |
| const ccDepthBuffer & | getDepthBuffer () const |
| Returns the associated depth buffer. More... | |
| void | clearDepthBuffer () |
| Removes the associated depth buffer. More... | |
| const cloudViewer::geometry::LineSet & | getSensorLegLines () const |
| const cloudViewer::geometry::LineSet & | getSensorAxis () const |
| const ecvOrientedBBox & | getSensorHead () const |
Public Member Functions inherited from ccSensor | |
| ccSensor (QString name) | |
| Default constructor. More... | |
| ccSensor (const ccSensor &sensor) | |
| Copy constructor. More... | |
| virtual CC_SENSOR_TYPE | getType () const |
| Returns the sensor type. More... | |
| ccIndexedTransformationBuffer * | getPositions () |
| Returns associated positions. More... | |
| void | setPositions (ccIndexedTransformationBuffer *positions) |
| Sets associated positions. More... | |
| bool | addPosition (ccGLMatrix &trans, double index) |
| Adds a new position (shortcut) More... | |
| bool | getAbsoluteTransformation (ccIndexedTransformation &trans, double index) const |
| bool | getActiveAbsoluteTransformation (ccIndexedTransformation &trans) const |
| Gets currently active absolute transformation. More... | |
| bool | getActiveAbsoluteCenter (CCVector3 &vec) const |
| Gets currently active absolute position. More... | |
| bool | getActiveAbsoluteRotation (ccGLMatrix &rotation) const |
| Gets currently active rotation matrix (without translation) More... | |
| virtual void | setRigidTransformation (const ccGLMatrix &mat) |
| virtual ccGLMatrix & | getRigidTransformation () |
| virtual const ccGLMatrix & | getRigidTransformation () const |
| void | getIndexBounds (double &minIndex, double &maxIndex) const |
| Gets index boundaries (shortcut) More... | |
| double | getActiveIndex () const |
| Sets currently active index (displayed position, etc.) More... | |
| void | setActiveIndex (double index) |
| Sets currently active index (displayed position, etc.) More... | |
| void | setGraphicScale (PointCoordinateType scale) |
| Sets the sensor graphic representation scale. More... | |
| PointCoordinateType | getGraphicScale () const |
| Returns the sensor graphic representation scale. More... | |
| void | setFrameColor (ecvColor::Rgb color) |
| const ecvColor::Rgb & | getFrameColor () const |
| virtual void | applyGLTransformation (const ccGLMatrix &trans) override |
| Applies a GL transformation to the entity. More... | |
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 |
| 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 | getOwnGlobalBB (bool withGLFeatures=false) |
| virtual bool | getOwnGlobalBB (CCVector3d &minCorner, CCVector3d &maxCorner) |
| 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 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 | 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... | |
Static Public Member Functions | |
| static QString | GetErrorString (int errorCode) |
| Returns the error string corresponding to an error code. More... | |
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... | |
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... | |
| void | drawMeOnly (CC_DRAW_CONTEXT &context) override |
| Draws the entity only (not its children) More... | |
| bool | convertToDepthMapCoords (PointCoordinateType yaw, PointCoordinateType pitch, unsigned &i, unsigned &j) const |
Protected Member Functions inherited from ccSensor | |
| 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 ccHObject | |
| virtual void | setParent (ccHObject *anObject) |
| Sets parent object. 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 | |
| PointCoordinateType | m_phiMin |
| Minimal pitch limit (in radians) More... | |
| PointCoordinateType | m_phiMax |
| Maximal pitch limit (in radians) More... | |
| PointCoordinateType | m_deltaPhi |
| Pitch step (in radians) More... | |
| bool | m_pitchAnglesAreShifted |
| PointCoordinateType | m_thetaMin |
| Minimal yaw limit (in radians) More... | |
| PointCoordinateType | m_thetaMax |
| Maximal yaw limit (in radians) More... | |
| PointCoordinateType | m_deltaTheta |
| Yaw step (in radians) More... | |
| bool | m_yawAnglesAreShifted |
| ROTATION_ORDER | m_rotationOrder |
| Mirrors rotation order. More... | |
| PointCoordinateType | m_sensorRange |
| Sensor max range. More... | |
| PointCoordinateType | m_uncertainty |
| Z-buffer uncertainty. More... | |
| ccDepthBuffer | m_depthBuffer |
| Associated Z-buffer. More... | |
| ecvOrientedBBox | m_obbHead |
| cloudViewer::geometry::LineSet | m_leg |
| cloudViewer::geometry::LineSet | m_axis |
Protected Attributes inherited from ccSensor | |
| ccIndexedTransformationBuffer * | m_posBuffer |
| Positions buffer (optional) More... | |
| ccGLMatrix | m_rigidTransformation |
| Rigid transformation between this sensor and its associated positions. More... | |
| double | m_activeIndex |
| Active index (for displayed position, etc.) More... | |
| ecvColor::Rgb | m_color |
| Color of the sensor. More... | |
| PointCoordinateType | m_scale |
| Sensor graphic representation scale. 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... | |
Ground-based Laser sensor.
An implementation of the ccSensor interface that can be used to represent a depth sensor relying on 2 rotations relatively to two perpendicular axes, such as ground based laser scanners typically.
Definition at line 26 of file ecvGBLSensor.h.
| using ccGBLSensor::ColorGrid = std::vector<ecvColor::Rgb> |
2D grid of colors
Definition at line 195 of file ecvGBLSensor.h.
| using ccGBLSensor::NormalGrid = std::vector<CCVector3> |
2D grid of normals
Definition at line 180 of file ecvGBLSensor.h.
The order of inner-rotations of the sensor (body/mirrors)
Either the first rotation is made around the Z axis (yaw) then around the lateral axis (pitch) as most scanners do today (Leica, Riegl, Faro, etc.). Othewise the opposite order is used (as the very old Mensi Soisic).
| Enumerator | |
|---|---|
| YAW_THEN_PITCH | |
| PITCH_THEN_YAW | |
Definition at line 33 of file ecvGBLSensor.h.
|
explicit |
Default constructor.
| rotOrder | inner rotations order |
| ccGBLSensor::ccGBLSensor | ( | const ccGBLSensor & | sensor | ) |
Copy constructor.
| sensor | sensor structure to copy |
|
overridedefault |
Destructor.
|
overridevirtual |
Apply sensor 'viewport' to a 3D view.
| win | 3D view to which to apply the sensor viewport (or the associated 'display' if 0) |
Reimplemented from ccSensor.
|
overridevirtual |
Determines a 3D point "visibility" relatively to the sensor field of view Relies on the sensor associated depth map (see ccGBLSensor::computeDepthBuffer). The depth map is used to determine the "visiblity" of a 3D point relatively to the laser scanner field of view. This can be useful for filtering out points that shouldn't be compared while computing the distances between two point clouds for instance (for more information on this particular topic, refer to Daniel Girardeau-Montaut's PhD manuscript - Chapter 2, section 2.3.3).
| P | the point to test |
Reimplemented from ccSensor.
| void ccGBLSensor::clearDepthBuffer | ( | ) |
Removes the associated depth buffer.
Referenced by ccGraphicalSegmentationTool::applySegmentation().
|
overridevirtual |
Reimplemented from ccSensor.
| bool ccGBLSensor::computeAutoParameters | ( | cloudViewer::GenericCloud * | theCloud | ) |
Computes angular parameters automatically (all but the angular steps!)
WARNING: this method uses the cloud global iterator.
Referenced by define_ccGBLSensor(), PcdFilter::loadFile(), and PovFilter::loadFile().
| bool ccGBLSensor::computeDepthBuffer | ( | cloudViewer::GenericCloud * | cloud, |
| int & | errorCode, | ||
| ccPointCloud * | projectedCloud = nullptr |
||
| ) |
Projects a point cloud along the sensor point of view defined by this instance WARNING: this method uses the cloud global iterator
| cloud | a point cloud |
| errorCode | error code in case the returned cloud is 0 |
| projectedCloud | optional (empty) cloud to store the projected points |
Referenced by ccComparisonDlg::computeDistances().
|
protected |
Converts 2D angular coordinates (yaw,pitch) in integer depth buffer coordinates
|
overrideprotectedvirtual |
Draws the entity only (not its children)
Reimplemented from ccHObject.
|
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.
|
inlineoverridevirtual |
Returns class ID.
Reimplemented from ccSensor.
Definition at line 50 of file ecvGBLSensor.h.
References CV_TYPES::GBL_SENSOR.
|
inline |
Returns the associated depth buffer.
Call ccGBLSensor::computeDepthBuffer first otherwise the returned buffer will be 0.
Definition at line 225 of file ecvGBLSensor.h.
Referenced by ccComparisonDlg::computeDistances().
|
static |
Returns the error string corresponding to an error code.
Errors codes are returned by ccGBLSensor::computeDepthBuffer or ccDepthBuffer::fillHoles for instance.
Referenced by ccComparisonDlg::computeDistances(), and define_ccGBLSensor().
|
inline |
Returns the maximal pitch limit (in radians)
Definition at line 97 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccPropertiesTreeDelegate::fillWithGBLSensor().
|
inline |
Returns the maximal yaw limit (in radians)
Definition at line 122 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccPropertiesTreeDelegate::fillWithGBLSensor().
|
inline |
Returns the minimal pitch limit (in radians)
Definition at line 94 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccPropertiesTreeDelegate::fillWithGBLSensor().
|
inline |
Returns the minimal yaw limit (in radians)
Definition at line 119 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccPropertiesTreeDelegate::fillWithGBLSensor().
|
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.
|
overridevirtual |
Returns best-fit bounding-box (if available)
| [out] | trans | associated transformation (so that the bounding-box can be displayed in the right position!) |
Reimplemented from ccHObject.
|
inline |
Returns the lateral pitch step (in radians)
Definition at line 105 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), ccPropertiesTreeDelegate::fillWithGBLSensor(), ccGBLSensorProjectionDlg::initWithGBLSensor(), and PovFilter::saveToFile().
|
inline |
Returns the sensor internal rotations order.
Definition at line 156 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), ccGBLSensorProjectionDlg::initWithGBLSensor(), and PovFilter::saveToFile().
|
inline |
Definition at line 233 of file ecvGBLSensor.h.
|
inline |
Definition at line 236 of file ecvGBLSensor.h.
|
inline |
Definition at line 230 of file ecvGBLSensor.h.
|
inline |
Returns the sensor max. range.
Definition at line 137 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccGBLSensorProjectionDlg::initWithGBLSensor().
|
inline |
Returns the Z-buffer uncertainty on depth values.
Definition at line 147 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), ccGBLSensorProjectionDlg::initWithGBLSensor(), and ccPropertiesTreeDelegate::setEditorData().
|
inline |
Returns the yaw step (in radians)
Definition at line 130 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), ccPropertiesTreeDelegate::fillWithGBLSensor(), ccGBLSensorProjectionDlg::initWithGBLSensor(), and PovFilter::saveToFile().
|
overridevirtual |
Reimplemented from ccSensor.
|
inlineoverridevirtual |
Returns whether object is serializable of not.
Reimplemented from ccSensor.
Definition at line 51 of file ecvGBLSensor.h.
|
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.
|
inline |
Returns whether the pitch angles are shifted (i.e. between [0 ; 2pi] instead of [-pi ; pi])
Definition at line 109 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor().
| ColorGrid* ccGBLSensor::projectColors | ( | cloudViewer::GenericCloud * | cloud, |
| const ColorGrid & | rgbColors | ||
| ) | const |
Projects a set of point cloud colors in the sensor frame defined by this instance WARNING: this method uses the cloud global iterator
| cloud | a point cloud |
| rgbColors | the RGB colors (should have the same size and order as the point cloud) |
| NormalGrid* ccGBLSensor::projectNormals | ( | cloudViewer::GenericCloud * | cloud, |
| const NormalGrid & | norms, | ||
| double | posIndex = 0 |
||
| ) | const |
Projects a set of point cloud normals in the sensor world.
WARNING: this method uses the cloud global iterator
| cloud | a point cloud |
| norms | the normals vectors (should have the same size and order as the point cloud) |
| posIndex | (optional) sensor position index (see ccIndexedTransformationBuffer) |
| void ccGBLSensor::projectPoint | ( | const CCVector3 & | sourcePoint, |
| CCVector2 & | destPoint, | ||
| PointCoordinateType & | depth, | ||
| double | posIndex = 0 |
||
| ) | const |
Projects a point in the sensor world.
| [in] | sourcePoint | 3D point to project |
| [out] | destPoint | projected point in polar coordinates: (theta,phi) = (yaw,pitch) (angles between [-pi,+pi] or [0 ; 2pi] if the corresponding angle is 'shifted') |
| [out] | depth | distance between the sensor optical center and the 3D point |
| [in] | posIndex | (optional) sensor position index (see ccIndexedTransformationBuffer) |
| void ccGBLSensor::setPitchRange | ( | PointCoordinateType | minPhi, |
| PointCoordinateType | maxPhi | ||
| ) |
Sets the pitch scanning limits.
| minPhi | min pitch angle (in radians) |
| maxPhi | max pitch angle (in radians) |
Referenced by define_ccGBLSensor().
| void ccGBLSensor::setPitchStep | ( | PointCoordinateType | dPhi | ) |
Sets the pitch step.
| dPhi | pitch step (in radians) |
Referenced by define_ccGBLSensor(), PcdFilter::loadFile(), PovFilter::loadFile(), and ccGBLSensorProjectionDlg::updateGBLSensor().
|
inline |
Sets the sensor internal rotations order.
| rotOrder | internal rotations order |
Definition at line 161 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccGBLSensorProjectionDlg::updateGBLSensor().
|
inline |
Sets the sensor max. range.
| range | max. range of the sensor |
Definition at line 142 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), and ccGBLSensorProjectionDlg::updateGBLSensor().
|
inline |
Sets the Z-buffer uncertainty on depth values.
The uncertainty is used to handle numerical inaccuracies
| u | the Z-buffer uncertainty |
Definition at line 153 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor(), PcdFilter::loadFile(), and ccGBLSensorProjectionDlg::updateGBLSensor().
| void ccGBLSensor::setYawRange | ( | PointCoordinateType | minTheta, |
| PointCoordinateType | maxTheta | ||
| ) |
Sets the yaw scanning limits.
| minTheta | min yaw angle (in radians) |
| maxTheta | max yaw angle (in radians) |
Referenced by define_ccGBLSensor().
| void ccGBLSensor::setYawStep | ( | PointCoordinateType | dTheta | ) |
Sets the yaw step.
| dTheta | yaw step (in radians) |
Referenced by define_ccGBLSensor(), PcdFilter::loadFile(), PovFilter::loadFile(), and ccGBLSensorProjectionDlg::updateGBLSensor().
|
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.
|
inline |
Returns whether the yaw angles are shifted (i.e. between [0 ; 2pi] instead of [-pi ; pi])
Definition at line 134 of file ecvGBLSensor.h.
Referenced by define_ccGBLSensor().
|
protected |
Definition at line 292 of file ecvGBLSensor.h.
|
protected |
Pitch step (in radians)
Definition at line 262 of file ecvGBLSensor.h.
|
protected |
Yaw step (in radians)
Definition at line 274 of file ecvGBLSensor.h.
|
protected |
Associated Z-buffer.
Definition at line 288 of file ecvGBLSensor.h.
|
protected |
Definition at line 291 of file ecvGBLSensor.h.
|
protected |
Definition at line 290 of file ecvGBLSensor.h.
|
protected |
Maximal pitch limit (in radians)
Phi = 0 corresponds to the scanner vertical direction (upward)
Definition at line 260 of file ecvGBLSensor.h.
|
protected |
Minimal pitch limit (in radians)
Phi = 0 corresponds to the scanner vertical direction (upward)
Definition at line 257 of file ecvGBLSensor.h.
|
protected |
Whether the pitch angular range is shifted (i.e in [0 ; 2pi] instead of [-pi ; pi])
Definition at line 265 of file ecvGBLSensor.h.
|
protected |
Mirrors rotation order.
Definition at line 280 of file ecvGBLSensor.h.
|
protected |
Sensor max range.
Definition at line 283 of file ecvGBLSensor.h.
|
protected |
Maximal yaw limit (in radians)
Theta = 0 corresponds to the scanner X direction
Definition at line 272 of file ecvGBLSensor.h.
|
protected |
Minimal yaw limit (in radians)
Theta = 0 corresponds to the scanner X direction
Definition at line 269 of file ecvGBLSensor.h.
|
protected |
Z-buffer uncertainty.
Definition at line 285 of file ecvGBLSensor.h.
|
protected |
Whether the yaw range is shifted (i.e in [0 ; 2pi] instead of [-pi ; pi]))
Definition at line 277 of file ecvGBLSensor.h.