|
qCC_db version 2.13.alpha (Qt) - 31 May 2022
CloudCompare 3D entities
|
Generic mesh interface. More...
#include <ccGenericMesh.h>


Public Member Functions | |
| ccGenericMesh (QString name=QString(), unsigned uniqueID=ccUniqueIDGenerator::InvalidUniqueID) | |
| Default constructor. More... | |
| ~ccGenericMesh () override=default | |
| Destructor. | |
| void | showNormals (bool state) override |
| Sets normals visibility. More... | |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| virtual ccGenericPointCloud * | getAssociatedCloud () const =0 |
| Returns the vertices cloud. More... | |
| virtual void | refreshBB ()=0 |
| Forces bounding-box update. More... | |
| virtual unsigned | capacity () const =0 |
| Returns max capacity. More... | |
| virtual bool | hasMaterials () const =0 |
| Returns whether the mesh has materials/textures. More... | |
| virtual const ccMaterialSet * | getMaterialSet () const =0 |
| Returns associated material set. More... | |
| virtual int | getTriangleMtlIndex (unsigned triangleIndex) const =0 |
| Returns a given triangle material indexes. More... | |
| virtual bool | hasTextures () const =0 |
| Returns whether textures are available for this mesh. More... | |
| virtual TextureCoordsContainer * | getTexCoordinatesTable () const =0 |
| Returns per-triangle texture coordinates array. More... | |
| virtual void | getTriangleTexCoordinates (unsigned triIndex, TexCoords2D *&tx1, TexCoords2D *&tx2, TexCoords2D *&tx3) const =0 |
| Returns per-triangle texture coordinates (pointer to) More... | |
| virtual bool | hasPerTriangleTexCoordIndexes () const =0 |
| Returns whether this mesh as per-triangle triplets of tex coords indexes. More... | |
| virtual void | getTriangleTexCoordinatesIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const =0 |
| Returns the triplet of tex coords indexes for a given triangle. More... | |
| virtual bool | hasTriNormals () const =0 |
| Returns whether the mesh has per-triangle normals. More... | |
| virtual void | getTriangleNormalIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const =0 |
| Returns a triplet of normal indexes for a given triangle (if any) More... | |
| virtual bool | getTriangleNormals (unsigned triangleIndex, CCVector3 &Na, CCVector3 &Nb, CCVector3 &Nc) const =0 |
| Returns a given triangle normal. More... | |
| virtual NormsIndexesTableType * | getTriNormsTable () const =0 |
| Returns per-triangle normals shared array. More... | |
| virtual void | computeInterpolationWeights (unsigned triIndex, const CCVector3 &P, CCVector3d &weights) const |
| Returns the (barycentric) interpolation weights for a given triangle. More... | |
| virtual bool | interpolateNormalsBC (unsigned triIndex, const CCVector3d &w, CCVector3 &N)=0 |
| Interpolates normal(s) inside a given triangle. More... | |
| virtual bool | interpolateColors (unsigned triIndex, const CCVector3 &P, ccColor::Rgb &color)=0 |
| Interpolates RGB colors inside a given triangle. More... | |
| virtual bool | interpolateColorsBC (unsigned triIndex, const CCVector3d &w, ccColor::Rgb &color)=0 |
| Interpolates RGB colors inside a given triangle. More... | |
| virtual bool | interpolateColors (unsigned triIndex, const CCVector3 &P, ccColor::Rgba &color)=0 |
| Interpolates RGBA colors inside a given triangle. More... | |
| virtual bool | interpolateColorsBC (unsigned triIndex, const CCVector3d &w, ccColor::Rgba &color)=0 |
| Interpolates RGBA colors inside a given triangle. More... | |
| virtual bool | getColorFromMaterial (unsigned triIndex, const CCVector3 &P, ccColor::Rgba &color, bool interpolateColorIfNoTexture)=0 |
| Returns RGB color fom a given triangle material/texture. More... | |
| virtual bool | getVertexColorFromMaterial (unsigned triIndex, unsigned char vertIndex, ccColor::Rgba &color, bool returnColorIfNoTexture)=0 |
| Returns RGB color of a vertex fom a given triangle material/texture. More... | |
| virtual bool | isShownAsWire () const |
| Returns whether the mesh is displayed as wired or with plain facets. | |
| virtual void | showWired (bool state) |
| Sets whether mesh should be displayed as a wire or with plain facets. | |
| virtual bool | triNormsShown () const |
| Returns whether per-triangle normals are shown or not. | |
| virtual void | showTriNorms (bool state) |
| Sets whether to show or not per-triangle normals. | |
| virtual bool | materialsShown () const |
| Sets whether textures/material should be displayed or not. | |
| virtual void | showMaterials (bool state) |
| Sets whether textures should be displayed or not. | |
| virtual bool | stipplingEnabled () const |
| Returns whether polygon stippling is enabled or not. | |
| void | enableStippling (bool state) |
| Enables polygon stippling. | |
| ccPointCloud * | samplePoints (bool densityBased, double samplingParameter, bool withNormals, bool withRGB, bool withTexture, CCCoreLib::GenericProgressCallback *pDlg=nullptr) |
| Samples points on a mesh. | |
| void | importParametersFrom (const ccGenericMesh *mesh) |
| Imports the parameters from another mesh. More... | |
| virtual bool | trianglePicking (const CCVector2d &clickPos, const ccGLCameraParameters &camera, int &nearestTriIndex, double &nearestSquareDist, CCVector3d &nearestPoint, CCVector3d *barycentricCoords=nullptr) const |
| Brute force triangle picking. More... | |
| virtual bool | trianglePicking (unsigned triIndex, const CCVector2d &clickPos, const ccGLCameraParameters &camera, CCVector3d &point, CCVector3d *barycentricCoords=nullptr) const |
| Triangle picking (single triangle) | |
| bool | computePointPosition (unsigned triIndex, const CCVector2d &uv, CCVector3 &P, bool warningIfOutside=true) const |
| Computes the point that corresponds to the given uv (barycentric) coordinates. | |
| void | setGlobalShift (const CCVector3d &shift) override |
| Sets shift applied to original coordinates (information storage only) More... | |
| void | setGlobalScale (double scale) override |
| Sets the scale applied to original coordinates (information storage only) More... | |
| const CCVector3d & | getGlobalShift () const override |
| Returns the shift applied to original coordinates. More... | |
| double | getGlobalScale () const override |
| Returns the scale applied to original coordinates. More... | |
| bool | normalsAvailable () const override |
Public Member Functions inherited from ccShiftedObject | |
| ccShiftedObject (QString name=QString(), unsigned uniqueID=ccUniqueIDGenerator::InvalidUniqueID) | |
| Default constructor. More... | |
| ccShiftedObject (const ccShiftedObject &s)=default | |
| 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) |
| Sets the scale applied to original coordinates (information storage only) More... | |
| virtual double | getGlobalScale () const |
| Returns the scale applied to original coordinates. More... | |
| bool | isShifted () const |
| Returns whether the cloud is shifted or not. | |
| template<typename T > | |
| CCVector3d | toGlobal3d (const Vector3Tpl< T > &Plocal) const |
| Returns the point back-projected into the original coordinates system. | |
| template<typename T > | |
| CCVector3d | toLocal3d (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. | |
| template<typename T > | |
| CCVector3 | toLocal3pc (const Vector3Tpl< T > &Pglobal) const |
| Returns the point projected into the local (shifted) coordinates system. | |
| bool | getOwnGlobalBB (CCVector3d &minCorner, CCVector3d &maxCorner) override |
| Returns the entity's own global bounding-box (with global/non-shifted coordinates - if relevant) More... | |
| GlobalBoundingBox | getOwnGlobalBB (bool withGLFeatures=false) override |
| Returns the entity's own global bounding-box (with global/non-shifted coordinates - if relevant) More... | |
Public Member Functions inherited from ccHObject | |
| ccHObject (const QString &name=QString(), unsigned uniqueID=ccUniqueIDGenerator::InvalidUniqueID) | |
| Default constructor. More... | |
| ccHObject (const ccHObject &object) | |
| Copy constructor. | |
| ~ccHObject () override | |
| Default destructor. | |
| CC_CLASS_ENUM | getClassID () const override |
| Returns class ID. More... | |
| bool | isGroup () const |
| Returns whether the instance is a group. | |
| 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) const |
| 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) const |
| Finds an entity in this object hierarchy. More... | |
| unsigned | filterChildren (Container &filteredChildren, bool recursive=false, CC_CLASS_ENUM filter=CC_TYPES::OBJECT, bool strict=false, ccGenericGLDisplay *inDisplay=nullptr) 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 | removeChild (ccHObject *child) |
| void | removeChild (int pos) |
| Removes a specific child given its index. More... | |
| void | removeAllChildren () |
| Removes all children. | |
| int | getChildIndex (const ccHObject *aChild) const |
| Returns child index. | |
| void | swapChildren (unsigned firstChildIndex, unsigned secondChildIndex) |
| Swaps two children. | |
| int | getIndex () const |
| Returns index relatively to its parent or -1 if no parent. | |
| void | transferChild (ccHObject *child, ccHObject &newParent) |
| Transfer a given child to another parent. | |
| void | transferChildren (ccHObject &newParent, bool forceFatherDependent=false) |
| Transfer all children to another parent. | |
| ccHObject * | getFirstChild () const |
| Shortcut: returns first child. | |
| ccHObject * | getLastChild () const |
| Shortcut: returns last child. | |
| bool | isAncestorOf (const ccHObject *anObject) const |
| Returns true if the current object is an ancestor of the specified one. | |
| virtual ccBBox | getOwnBB (bool withGLFeatures=false) |
| Returns the entity's own bounding-box (with local/shifted coordinates) More... | |
| virtual ccBBox | getBB_recursive (bool withGLFeatures=false, bool onlyEnabledChildren=true) |
| Returns the local bounding-box of this entity and it's children. More... | |
| virtual GlobalBoundingBox | getOwnGlobalBB (bool withGLFeatures=false) |
| Returns the entity's own global bounding-box (with global/non-shifted coordinates - if relevant) More... | |
| virtual bool | getOwnGlobalBB (CCVector3d &minCorner, CCVector3d &maxCorner) |
| Returns the entity's own global bounding-box (with global/non-shifted coordinates - if relevant) 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, const ccGenericGLDisplay *display=nullptr) |
| 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 ccColor::Rgb &col) |
| Draws the entity (and its children) bounding-box. More... | |
| void | draw (CC_DRAW_CONTEXT &context) override |
| Draws entity and its children. More... | |
| bool | getAbsoluteGLTransformation (ccGLMatrix &trans) const |
| Returns the absolute transformation (i.e. the actual displayed GL transformation) of an entity. More... | |
| virtual bool | isDisplayed () const |
| Returns whether the object is actually displayed (visible) or not. | |
| virtual bool | isDisplayedIn (const ccGenericGLDisplay *display) const |
| Returns whether the object is actually displayed (visible) in a given display or not. | |
| virtual bool | isBranchEnabled () const |
| Returns whether the object and all its ancestors are enabled. | |
| ccHObject_recursive_call1 (setSelected, bool, setSelected_recursive) ccHObject_recursive_call1(setDisplay | |
| ccGenericGLDisplay setDisplay_recursive | ccHObject_recursive_call1 (removeFromDisplay, ccGenericGLDisplay *, removeFromDisplay_recursive) ccHObject_recursive_call0(prepareDisplayForRefresh |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive | ccHObject_recursive_call1 (refreshDisplay, bool, refreshDisplay_recursive) ccHObject_recursive_call0(resetGLTransformationHistory |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive resetGLTransformationHistory_recursive | ccHObject_recursive_call0 (toggleActivation, toggleActivation_recursive) ccHObject_recursive_call0(toggleVisibility |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive resetGLTransformationHistory_recursive toggleVisibility_recursive | ccHObject_recursive_call0 (toggleColors, toggleColors_recursive) ccHObject_recursive_call0(toggleNormals |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive resetGLTransformationHistory_recursive toggleVisibility_recursive toggleNormals_recursive | ccHObject_recursive_call0 (toggleSF, toggleSF_recursive) ccHObject_recursive_call0(toggleShowName |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive resetGLTransformationHistory_recursive toggleVisibility_recursive toggleNormals_recursive toggleShowName_recursive | ccHObject_recursive_call0 (toggleMaterials, toggleMaterials_recursive) inline virtual void transferDisplay(ccGenericGLDisplay *oldDisplay |
| Transfers the entity from one display to the other. | |
| void | applyGLTransformation_recursive (const ccGLMatrix *trans=nullptr) |
| Applies the active OpenGL transformation to the entity (recursive) More... | |
| virtual void | notifyGeometryUpdate () |
| Notifies all dependent entities that the geometry of this entity has changed. | |
| bool | isSerializable () const override |
| Returns whether object is serializable of not. More... | |
| bool | toFile (QFile &out) 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... | |
| 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. | |
| virtual unsigned | getUniqueIDForDisplay () const |
| Returns object unique 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!) | |
| virtual void | resetGLTransformationHistory () |
| Resets the transformation 'history' matrix. | |
| 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 (const QString &name=QString(), unsigned uniqueID=ccUniqueIDGenerator::InvalidUniqueID) | |
| Default constructor. More... | |
| ccObject (const ccObject &object) | |
| Copy constructor. | |
| virtual CC_CLASS_ENUM | getClassID () const =0 |
| Returns class ID. More... | |
| virtual QString | getName () const |
| Returns object name. More... | |
| virtual void | setName (const QString &name) |
| Sets object name. | |
| virtual unsigned | getUniqueID () const |
| Returns object unique ID. | |
| 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. | |
| 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 (CC_CLASS_ENUM type) const |
| bool | isA (CC_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) | |
Public Member Functions inherited from ccSerializableObject | |
| virtual | ~ccSerializableObject ()=default |
| Destructor. | |
| virtual bool | isSerializable () const |
| Returns whether object is serializable of not. More... | |
| virtual bool | toFile (QFile &out) const |
| Saves data to binary stream. More... | |
| virtual bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) |
| Loads data from binary stream. More... | |
Public Member Functions inherited from ccDrawableObject | |
| ccDrawableObject () | |
| Default constructor. | |
| ccDrawableObject (const ccDrawableObject &object) | |
| Copy constructor. | |
| virtual void | draw (CC_DRAW_CONTEXT &context)=0 |
| Draws entity and its children. More... | |
| virtual bool | isVisible () const |
| Returns whether entity is visible or not. | |
| virtual void | setVisible (bool state) |
| Sets entity visibility. | |
| virtual void | toggleVisibility () |
| Toggles visibility. | |
| virtual bool | isVisibilityLocked () const |
| Returns whether visibility is locked or not. | |
| virtual void | lockVisibility (bool state) |
| Locks/unlocks visibility. More... | |
| virtual bool | isSelected () const |
| Returns whether entity is selected or not. | |
| virtual void | setSelected (bool state) |
| Selects/unselects entity. | |
| 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. | |
| virtual void | showColors (bool state) |
| Sets colors visibility. | |
| virtual void | toggleColors () |
| Toggles colors display state. | |
| 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. | |
| 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. | |
| virtual void | toggleSF () |
| Toggles SF display state. | |
| virtual bool | sfShown () const |
| Returns whether active scalar field is visible. | |
| virtual void | toggleMaterials () |
| Toggles material display state. More... | |
| virtual void | showNameIn3D (bool state) |
| Sets whether name should be displayed in 3D or not. | |
| virtual bool | nameShownIn3D () const |
| Returns whether name is displayed in 3D or not. | |
| virtual void | toggleShowName () |
| Toggles name in 3D display state. | |
| virtual bool | isColorOverridden () const |
| Returns whether colors are currently overridden by a temporary (unique) color. More... | |
| virtual const ccColor::Rgba & | getTempColor () const |
| Returns current temporary (unique) color. | |
| virtual void | setTempColor (const ccColor::Rgba &col, bool autoActivate=true) |
| Sets current temporary (unique) More... | |
| virtual void | setTempColor (const ccColor::Rgb &col, bool autoActivate=true) |
| Sets current temporary (unique) More... | |
| virtual void | enableTempColor (bool state) |
| Set temporary color activation state. | |
| virtual void | removeFromDisplay (const ccGenericGLDisplay *win) |
| Unlinks entity from a GL display (only if it belongs to it of course) | |
| virtual void | setDisplay (ccGenericGLDisplay *win) |
| Sets associated GL display. | |
| virtual ccGenericGLDisplay * | getDisplay () const |
| Returns associated GL display. | |
| virtual void | redrawDisplay () |
| Redraws associated GL display. | |
| virtual void | prepareDisplayForRefresh () |
| Sets associated GL display 'refreshable' before global refresh. More... | |
| virtual void | refreshDisplay (bool only2D=false) |
| Refreshes associated GL display. 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. | |
| 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) | |
| 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 bool | pushDisplayState () |
| Pushes the current display state. More... | |
| virtual void | popDisplayState (bool apply=true) |
| Pops the last pushed display state. More... | |
| virtual void | applyDisplayState (const DisplayState &state) |
| Applies a display state. | |
Static Public Member Functions | |
| static bool | IsCloudVerticesOfMesh (ccGenericPointCloud *cloud, ccGenericMesh **mesh=nullptr) |
| Helper to determine if the input cloud acts as vertices of a mesh. | |
Static Public Member Functions inherited from ccHObject | |
| static ccHObject * | New (CC_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 Public Member Functions inherited from ccObject | |
| static unsigned | GetCurrentDBVersion () |
| Returns current database version. | |
| static void | SetUniqueIDGenerator (ccUniqueIDGenerator::Shared generator) |
| Sets the unique ID generator. | |
| static ccUniqueIDGenerator::Shared | GetUniqueIDGenerator () |
| Returns the unique ID generator. | |
| static unsigned | GetNextUniqueID () |
| Returns a new unassigned unique ID. More... | |
| static unsigned | GetLastUniqueID () |
| Returns last assigned unique ID. More... | |
| static CC_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) const override |
| Save own object data. More... | |
| bool | fromFile_MeOnly (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Loads own object data. More... | |
| virtual bool | trianglePicking (unsigned triIndex, const CCVector2d &clickPos, const ccGLMatrix &trans, bool noGLTrans, const ccGenericPointCloud &vertices, const ccGLCameraParameters &camera, CCVector3d &point, CCVector3d *barycentricCoords=nullptr, QPainter *painter=nullptr) const |
| Triangle picking (single triangle) | |
| void | drawMeOnly (CC_DRAW_CONTEXT &context) override |
| Draws the entity only (not its children) More... | |
| void | handleColorRamp (CC_DRAW_CONTEXT &context) |
| Handles the color ramp display. | |
Protected Member Functions inherited from ccShiftedObject | |
| bool | saveShiftInfoToFile (QFile &out) const |
| Serialization helper (output) | |
| bool | loadShiftInfoFromFile (QFile &in) |
| Serialization helper (input) | |
Protected Member Functions inherited from ccHObject | |
| virtual void | setParent (ccHObject *anObject) |
| Sets parent object. | |
| 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 bool | toFile_MeOnly (QFile &out) const |
| Save own object data. More... | |
| virtual bool | fromFile_MeOnly (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) |
| Loads own object data. More... | |
| virtual void | drawNameIn3D (CC_DRAW_CONTEXT &context) |
| 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 (CC_OBJECT_FLAG flag) const |
| Returns flag state. | |
| virtual void | setFlagState (CC_OBJECT_FLAG flag, bool state) |
| Sets flag state. More... | |
| bool | toFile (QFile &out) const override |
| Saves data to binary stream. More... | |
| bool | fromFile (QFile &in, short dataVersion, int flags, LoadedIDMap &oldToNewIDMap) override |
| Reimplemented from ccSerializableObject::fromFile. More... | |
Static Protected Member Functions | |
| static CCVector3 * | GetVertexBuffer () |
| static CCVector3 * | GetNormalsBuffer () |
| static ColorCompType * | GetColorsBuffer () |
| static unsigned * | GetWireVertexIndexes () |
| Returns a pre-initialized array of vertex indexes for wired display. More... | |
| static void | EnableGLStippleMask (const QOpenGLContext *context, bool state) |
| Enables (OpenGL) stipple mask. | |
Protected Attributes | |
| bool | m_triNormsShown |
| Per-triangle normals display flag. | |
| bool | m_materialsShown |
| Texture/material display flag. | |
| bool | m_showWired |
| Wireframe display mode. | |
| bool | m_stippling |
| Polygon stippling state. | |
Protected Attributes inherited from ccShiftedObject | |
| CCVector3d | m_globalShift |
| Global shift (typically applied at loading time) | |
| double | m_globalScale |
| Global scale (typically applied at loading time) | |
Protected Attributes inherited from ccHObject | |
| ccHObject * | m_parent |
| Parent. | |
| Container | m_children |
| Children. | |
| SelectionBehavior | m_selectionBehavior |
| Selection behavior. | |
| 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. | |
Protected Attributes inherited from ccObject | |
| QString | m_name |
| Object name. | |
| unsigned | m_flags |
| Object flags. | |
| QVariantMap | m_metaData |
| Associated meta-data. | |
Protected Attributes inherited from ccDrawableObject | |
| bool | m_visible |
| Specifies whether the object is visible or not. More... | |
| bool | m_selected |
| Specifies whether the object is selected or not. | |
| bool | m_lockedVisibility |
| Specifies whether the visibility can be changed by user or not. | |
| bool | m_colorsDisplayed |
| Specifies whether colors should be displayed. | |
| bool | m_normalsDisplayed |
| Specifies whether normals should be displayed. | |
| bool | m_sfDisplayed |
| Specifies whether scalar field should be displayed. | |
| ccColor::Rgba | m_tempColor |
| Temporary (unique) color. | |
| bool | m_colorIsOverridden |
| Temporary (unique) color activation state. | |
| 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. | |
| CCVector3d | m_nameIn3DPos |
| Last 2D position of the '3D' name. | |
| bool | m_nameIn3DPosIsValid |
| Whether the last 2D position of the '3D' name is valid or not. | |
| ccGenericGLDisplay * | m_currentDisplay |
| Currently associated GL display. | |
| ccClipPlaneSet | m_clipPlanes |
| Active clipping planes (used for display only) | |
| std::vector< DisplayState::Shared > | m_displayStateStack |
| The stack of pushed display states. | |
Additional Inherited Members | |
Public Types inherited from ccHObject | |
| enum | DEPENDENCY_FLAGS { DP_NONE = 0 , DP_NOTIFY_OTHER_ON_DELETE = 1 , DP_NOTIFY_OTHER_ON_UPDATE = 2 , 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. | |
| using | Container = std::vector< ccHObject * > |
| Standard instances container (for children, etc.) | |
| using | Shared = QSharedPointer< ccHObject > |
| Shared pointer. | |
| using | SharedContainer = std::vector< Shared > |
| Shared instances container (for children, etc.) | |
| using | GlobalBoundingBox = CCCoreLib::BoundingBoxTpl< double > |
| Global (non-shifted) bounding-box. | |
Public Types inherited from ccSerializableObject | |
| enum | DeserializationFlags { DF_POINT_COORDS_64_BITS = 1 , 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) | |
Public Attributes inherited from ccHObject | |
| ccGenericGLDisplay setDisplay_recursive prepareDisplayForRefresh_recursive resetGLTransformationHistory_recursive toggleVisibility_recursive toggleNormals_recursive toggleShowName_recursive ccGenericGLDisplay * | newDisplay |
Generic mesh interface.
| ccGenericMesh::ccGenericMesh | ( | QString | name = QString(), |
| unsigned | uniqueID = ccUniqueIDGenerator::InvalidUniqueID |
||
| ) |
Default constructor.
| name | object name |
| uniqueID | unique ID (handle with care) |
|
pure virtual |
Returns max capacity.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
virtual |
Returns the (barycentric) interpolation weights for a given triangle.
Reimplemented in ccMesh.
|
overrideprotectedvirtual |
Draws the entity only (not its children)
Reimplemented from ccHObject.
Reimplemented in ccMesh, ccMeshGroup, and ccPlane.
|
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 ccGenericPrimitive, ccMesh, ccMeshGroup, ccPlane, ccQuadric, ccSphere, ccSubMesh, and ccTorus.
|
pure virtual |
Returns the vertices cloud.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns RGB color fom a given triangle material/texture.
| triIndex | triangle index | |
| P | point where to grab color (should be inside the triangle!) | |
| [out] | color | texel color |
| interpolateColorIfNoTexture | whether to return the color interpolated from the RGB field if no texture/material is associated to the given triangles |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
overridevirtual |
Returns the scale applied to original coordinates.
Reimplemented from ccShiftedObject.
|
overridevirtual |
Returns the shift applied to original coordinates.
See ccGenericPointCloud::setOriginalShift
Reimplemented from ccShiftedObject.
|
pure virtual |
Returns associated material set.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns per-triangle texture coordinates array.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns a given triangle material indexes.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns a triplet of normal indexes for a given triangle (if any)
| [in] | triangleIndex | triangle index |
| [out] | i1 | first vertex normal index (or -1 if none) |
| [out] | i2 | second vertex normal index (or -1 if none) |
| [out] | i3 | third vertex normal index (or -1 if none) |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns a given triangle normal.
Mesh must have triangle normals associated (see hasTriNormals)
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns per-triangle texture coordinates (pointer to)
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns the triplet of tex coords indexes for a given triangle.
| triangleIndex | triangle index |
| i1 | first vertex tex coords index |
| i2 | second vertex tex coords index |
| i3 | third vertex tex coords index |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns per-triangle normals shared array.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns RGB color of a vertex fom a given triangle material/texture.
| triIndex | triangle index | |
| vertIndex | vertex index inside triangle (i.e. 0, 1 or 2!) | |
| [out] | color | texel color |
| returnColorIfNoTexture | whether to return the color from the vertex RGB field if no texture/material is associated to the given triangle |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
staticprotected |
Returns a pre-initialized array of vertex indexes for wired display.
Array size is MAX_NUMBER_OF_ELEMENTS_PER_CHUNK*6 by default
|
pure virtual |
Returns whether the mesh has materials/textures.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns whether this mesh as per-triangle triplets of tex coords indexes.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns whether textures are available for this mesh.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Returns whether the mesh has per-triangle normals.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
| void ccGenericMesh::importParametersFrom | ( | const ccGenericMesh * | mesh | ) |
Imports the parameters from another mesh.
Only the specific parameters are imported.
|
pure virtual |
Interpolates RGB colors inside a given triangle.
| triIndex | triangle index | |
| P | point where to interpolate (should be inside the triangle!) | |
| [out] | color | interpolated color |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Interpolates RGBA colors inside a given triangle.
| triIndex | triangle index | |
| P | point where to interpolate (should be inside the triangle!) | |
| [out] | color | interpolated color |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Interpolates RGB colors inside a given triangle.
| triIndex | triangle index | |
| w | barycentric coordinates | |
| [out] | color | interpolated color |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Interpolates RGBA colors inside a given triangle.
| triIndex | triangle index | |
| w | barycentric coordinates | |
| [out] | color | interpolated color |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Interpolates normal(s) inside a given triangle.
| triIndex | triangle index | |
| w | barycentric coordinates | |
| [out] | N | interpolated normal |
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
inlineoverridevirtual |
Returns whether object is serializable of not.
Reimplemented from ccSerializableObject.
Reimplemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
pure virtual |
Forces bounding-box update.
Implemented in ccMesh, ccMeshGroup, and ccSubMesh.
|
overridevirtual |
Sets the scale applied to original coordinates (information storage only)
Reimplemented from ccShiftedObject.
Reimplemented in ccMeshGroup, and ccSubMesh.
|
overridevirtual |
Sets shift applied to original coordinates (information storage only)
Such a shift can typically be applied at loading time. Original coordinates are equal to '(P/scale - shift)'
Reimplemented from ccShiftedObject.
Reimplemented in ccMeshGroup, and ccSubMesh.
|
overridevirtual |
Sets normals visibility.
Reimplemented from ccDrawableObject.
|
overrideprotectedvirtual |
Save own object data.
Called by 'toFile' (recursive scheme) To be overloaded (but still called;) by subclass.
Reimplemented from ccHObject.
Reimplemented in ccGenericPrimitive, ccMesh, ccMeshGroup, ccPlane, ccQuadric, ccSphere, ccSubMesh, and ccTorus.
|
virtual |
Brute force triangle picking.
Reimplemented in ccMeshGroup.