qCC_db  version 2.5.4 (Qt) - 19 Apr 2014
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
ccSubMesh Class Reference

A sub-mesh. More...

#include <ccSubMesh.h>

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

Public Types

typedef GenericChunkedArray
< 1, unsigned > 
IndexMap
 Indexes map for createNewSubMeshFromSelection.
 
- 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.
 
typedef std::vector< ccHObject * > Container
 standard ccHObject container (for children, etc.)
 
- Public Types inherited from ccSerializableObject
enum  DeserializationFlags { DF_POINT_COORDS_64_BITS = 1, DF_SCALAR_VAL_32_BITS = 2 }
 Deserialization flags (bit-field) More...
 

Public Member Functions

 ccSubMesh (ccMesh *parentMesh)
 Default constructor.
 
virtual CC_CLASS_ENUM getClassID () const
 Returns class ID.
 
virtual ccBBox getMyOwnBB ()
 Returns the entity bounding-box only. More...
 
virtual bool isSerializable () const
 Returns whether object is serializable of not.
 
virtual ccGenericPointCloudgetAssociatedCloud () const
 Returns the vertices cloud.
 
virtual void refreshBB ()
 Forces bounding-box update.
 
virtual bool interpolateNormals (unsigned triIndex, const CCVector3 &P, CCVector3 &N)
 Interpolates normal(s) inside a given triangle. More...
 
virtual bool interpolateColors (unsigned triIndex, const CCVector3 &P, colorType rgb[])
 Interpolates RGB colors inside a given triangle. More...
 
virtual bool getColorFromMaterial (unsigned triIndex, const CCVector3 &P, colorType rgb[], bool interpolateColorIfNoTexture)
 Returns RGB color fom a given triangle material/texture. More...
 
virtual bool getVertexColorFromMaterial (unsigned triIndex, unsigned char vertIndex, colorType rgb[], bool returnColorIfNoTexture)
 Returns RGB color of a vertex fom a given triangle material/texture. More...
 
virtual bool hasMaterials () const
 Returns whether the mesh has materials/textures.
 
virtual const ccMaterialSetgetMaterialSet () const
 Returns associated material set.
 
virtual int getTriangleMtlIndex (unsigned triangleIndex) const
 Returns a given triangle material indexes.
 
virtual bool hasTextures () const
 Returns whether textures are available for this mesh.
 
virtual TextureCoordsContainergetTexCoordinatesTable () const
 Returns per-triangle texture coordinates array.
 
virtual void getTriangleTexCoordinates (unsigned triIndex, float *&tx1, float *&tx2, float *&tx3) const
 Returns per-triangle texture coordinates (pointer to)
 
virtual bool hasPerTriangleTexCoordIndexes () const
 Returns whether this mesh as per-triangle triplets of tex coords indexes.
 
virtual void getTriangleTexCoordinatesIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const
 Returns the triplet of tex coords indexes for a given triangle. More...
 
virtual bool hasTriNormals () const
 Returns whether the mesh has per-triangle normals.
 
virtual void getTriangleNormalIndexes (unsigned triangleIndex, int &i1, int &i2, int &i3) const
 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
 Returns a given triangle normal. More...
 
virtual NormsIndexesTableTypegetTriNormsTable () const
 Returns per-triangle normals shared array.
 
virtual unsigned maxSize () const
 Returns max capacity.
 
virtual bool hasColors () const
 Returns whether colors are enabled or not.
 
virtual bool hasNormals () const
 Returns whether normals are enabled or not.
 
virtual bool hasScalarFields () const
 Returns whether one or more scalar fields are instantiated. More...
 
virtual bool hasDisplayedScalarField () const
 Returns whether an active scalar field is available or not.
 
virtual bool normalsShown () const
 Returns whether normals are shown or not.
 
virtual unsigned size () const
 
virtual void forEach (genericTriangleAction &anAction)
 
virtual void placeIteratorAtBegining ()
 
virtual CCLib::GenericTriangle * _getNextTriangle ()
 
virtual CCLib::GenericTriangle * _getTriangle (unsigned index)
 
virtual
CCLib::TriangleSummitsIndexes * 
getNextTriangleIndexes ()
 
virtual
CCLib::TriangleSummitsIndexes * 
getTriangleIndexes (unsigned triangleIndex)
 
virtual void getTriangleSummits (unsigned triangleIndex, CCVector3 &A, CCVector3 &B, CCVector3 &C)
 
virtual void getBoundingBox (PointCoordinateType bbMin[], PointCoordinateType bbMax[])
 
virtual unsigned getTriGlobalIndex (unsigned localIndex) const
 Returns global index (i.e. relative to the associated mesh) of a given element. More...
 
virtual unsigned getCurrentTriGlobalIndex () const
 Returns the global index of the triangle pointed by the current element.
 
virtual void forwardIterator ()
 Forwards the local element iterator.
 
virtual void clear (bool releaseMemory)
 Clears the mesh.
 
virtual bool addTriangleIndex (unsigned globalIndex)
 Triangle global index insertion mechanism. More...
 
virtual bool addTriangleIndex (unsigned firstIndex, unsigned lastIndex)
 Triangle global index insertion mechanism (range) More...
 
virtual void setTriangleIndex (unsigned localIndex, unsigned globalIndex)
 Sets global index for a given element. More...
 
virtual bool reserve (unsigned n)
 Reserves some memory for hosting the triangle references. More...
 
virtual bool resize (unsigned n)
 Presets the size of the vector used to store triangle references. More...
 
virtual ccMeshgetAssociatedMesh ()
 Returns the associated mesh.
 
virtual const ccMeshgetAssociatedMesh () const
 Returns the associated mesh (const version)
 
virtual void setAssociatedMesh (ccMesh *mesh)
 Sets the associated mesh.
 
virtual ccSubMeshcreateNewSubMeshFromSelection (bool removeSelectedFaces, IndexMap *indexMap=0)
 Creates a new sub mesh with the selected vertices only. More...
 
- Public Member Functions inherited from ccGenericMesh
 ccGenericMesh (QString name=QString())
 Default constructor. More...
 
virtual ~ccGenericMesh ()
 Destructor.
 
virtual void showNormals (bool state)
 Sets normals visibility.
 
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.
 
ccPointCloudsamplePoints (bool densityBased, double samplingParameter, bool withNormals, bool withRGB, bool withTexture, CCLib::GenericProgressCallback *pDlg=0)
 Samples points on a mesh.
 
- Public Member Functions inherited from ccHObject
 ccHObject (QString name=QString())
 Default constructor. More...
 
virtual ~ccHObject ()
 Default destructor.
 
virtual QIcon getIcon () const
 Returns the icon associated to this entity. More...
 
ccHObjectgetParent () const
 Returns parent object. 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 (const 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...
 
ccHObjectgetChild (unsigned childPos) const
 Returns the ith child. More...
 
ccHObjectfind (int uniqueID)
 Finds an entity in this object hierarchy. More...
 
unsigned filterChildren (Container &filteredChildren, bool recursive=false, CC_CLASS_ENUM filter=CC_TYPES::OBJECT) const
 Collects the children corresponding to a certain pattern. More...
 
void detachChild (ccHObject *child)
 Detaches a specific child. More...
 
void detatchAllChildren ()
 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.
 
ccHObjectgetFirstChild () const
 Shortcut: returns first child.
 
ccHObjectgetLastChild () 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 getBB (bool relative=true, bool withGLfeatures=false, const ccGenericGLDisplay *window=NULL)
 Returns bounding-box. More...
 
virtual void draw (CC_DRAW_CONTEXT &context)
 Draws entity and its children.
 
virtual bool isDisplayed () const
 Returns whether the object is actually displayed (visible) 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, prepareDisplayForRefresh_recursive)
 
 ccHObject_recursive_call0 (refreshDisplay, refreshDisplay_recursive)
 
 ccHObject_recursive_call0 (toggleVisibility, toggleVisibility_recursive)
 
 ccHObject_recursive_call0 (toggleColors, toggleColors_recursive)
 
 ccHObject_recursive_call0 (toggleNormals, toggleNormals_recursive)
 
 ccHObject_recursive_call0 (toggleSF, toggleSF_recursive)
 
 ccHObject_recursive_call0 (toggleShowName, toggleShowName_recursive)
 
 ccHObject_recursive_call0 (toggleMaterials, toggleMaterials_recursive)
 
void applyGLTransformation_recursive (ccGLMatrix *trans=0)
 Applies the active OpenGL transformation to the entity (recursive) More...
 
virtual CCVector3 getBBCenter ()
 Returns the bounding-box center. More...
 
void notifyGeometryUpdate ()
 Notifies all dependent entities that the geometry of this entity has changed.
 
virtual ccBBox getDisplayBB ()
 Returns the entity GL display bounding-box. More...
 
virtual bool toFile (QFile &out) const
 Saves data to binay stream. More...
 
virtual bool fromFile (QFile &in, short dataVersion, int flags)
 Reimplemented from ccSerializableObject::fromFile. More...
 
virtual bool isShareable () const
 Returns whether object is shareable or not. More...
 
void setSelectionBehavior (SelectionBehavior mode)
 Sets selection behavior (when displayed) More...
 
SelectionBehavior getSelectionBehavior () const
 Returns selection behavior.
 
virtual unsigned getUniqueIDForDisplay () const
 Returns object unqiue ID used for display.
 
- Public Member Functions inherited from ccObject
 ccObject (QString name=QString())
 Default constructor. More...
 
virtual QString getName () const
 Returns object name.
 
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 bool isLocked () const
 Returns whether the object is locked or not. More...
 
virtual void setLocked (bool state)
 Sets the "enabled" property. More...
 
bool isGroup () const
 
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 (QString key) const
 Returns a given associated meta data. More...
 
bool removeMetaData (QString key)
 Removes a given associated meta data. More...
 
void setMetaData (QString key, QVariant data)
 Sets a meta data element. More...
 
bool hasMetaData (QString key)
 Says if a metadata 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 ()
 Desctructor.
 
- Public Member Functions inherited from ccDrawableObject
 ccDrawableObject ()
 Default constructor.
 
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 isVisiblityLocked () const
 Returns whether visibilty is locked or not.
 
virtual void lockVisibility (bool state)
 Locks/unlocks visibilty. More...
 
virtual bool isSelected () const
 Returns whether entity is selected or not.
 
virtual void setSelected (bool state)
 Selects/unselects entity.
 
virtual ccBBox getFitBB (ccGLMatrix &trans)
 Returns best-fit bounding-box (if available) More...
 
virtual void drawBB (const colorType col[])
 Draws absolute (axis aligned) bounding-box.
 
virtual void getDrawingParameters (glDrawParams &params) const
 Returns main OpenGL paramters for this entity. 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 void toggleNormals ()
 Toggles normals display state.
 
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.
 
virtual void showNameIn3D (bool state)
 Sets whether name should be displayed in 3D.
 
virtual bool nameShownIn3D () const
 Returns whether name is displayed in 3D or not.
 
virtual void toggleShowName ()
 Toggles name in 3D display state.
 
virtual bool isColorOverriden () const
 Returns whether colors are currently overriden by a temporary (unique) color. More...
 
virtual const colorType * getTempColor () const
 Returns current temporary (unique) color.
 
virtual void setTempColor (const colorType *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 ccGenericGLDisplaygetDisplay () 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 ()
 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 ccGLMatrixgetGLTransformation () const
 Retuns associated GL transformation. More...
 
virtual void resetGLTransformation ()
 Resets associated GL transformation. More...
 
virtual void rotateGL (const ccGLMatrix &rotMat)
 Mutliplies (left) current GL transformation by a rotation matrix. More...
 
virtual void translateGL (const CCVector3 &trans)
 Translates current GL transformation by a rotation matrix. More...
 

Protected Types

typedef GenericChunkedArray
< 1, unsigned > 
ReferencesContainer
 Container of 3D triangles indexes.
 

Protected Member Functions

virtual bool toFile_MeOnly (QFile &out) const
 Save own object data. More...
 
virtual bool fromFile_MeOnly (QFile &in, short dataVersion, int flags)
 Loads own object data. More...
 
virtual void onUpdateOf (ccHObject *obj)
 This method is called when another object (geometry) is updated. More...
 
- Protected Member Functions inherited from ccGenericMesh
virtual void drawMeOnly (CC_DRAW_CONTEXT &context)
 Draws the entity only (not its children)
 
void handleColorRamp (CC_DRAW_CONTEXT &context)
 Handles the color ramp display.
 
- Protected Member Functions inherited from ccHObject
virtual void setParent (ccHObject *anObject)
 Sets parent object.
 
virtual void applyGLTransformation (const ccGLMatrix &trans)
 Applies a GL transformation to the entity. 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...
 
- 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...
 

Protected Attributes

ccMeshm_associatedMesh
 Associated mesh.
 
ReferencesContainerm_triIndexes
 Indexes of (some of) the associated mesh triangles.
 
unsigned m_globalIterator
 Iterator on the triangles references container.
 
ccBBox m_bBox
 Bounding-box.
 
- Protected Attributes inherited from ccGenericMesh
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 ccHObject
ccHObjectm_parent
 Object's parent.
 
Container m_children
 Object's children.
 
SelectionBehavior m_selectionBehavior
 Selection behavior.
 
std::map< ccHObject *, int > m_dependencies
 Dependencies map. More...
 
- 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.
 
colorType m_tempColor [3]
 Temporary (unique) color.
 
bool m_colorIsOverriden
 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.
 
ccGenericGLDisplaym_currentDisplay
 Currently associated GL display.
 

Additional Inherited Members

- Static Public Member Functions inherited from ccHObject
static ccHObjectNew (CC_CLASS_ENUM objectType, const char *name=0)
 Static factory. More...
 
- Static Public Member Functions inherited from ccObject
static unsigned GetCurrentDBVersion ()
 Returns current database version.
 
static void ResetUniqueIDCounter ()
 Resets the object's unique ID counter. More...
 
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...
 
- Static Protected Member Functions inherited from ccGenericMesh
static unsigned GET_MAX_LOD_FACES_NUMBER ()
 Max number of displayed triangles (per entity) in "low detail" display.
 
static PointCoordinateType * GetVertexBuffer ()
 
static PointCoordinateType * GetNormalsBuffer ()
 
static colorType * GetColorsBuffer ()
 
static unsigned * GetWireVertexIndexes ()
 Returns a pre-initialized array of vertex indexes for wired display. More...
 
static void EnableGLStippleMask (bool state)
 Enables (OpenGL) stipple mask.
 
- Static Protected Member Functions inherited from ccObject
static void UpdateLastUniqueID (unsigned lastID)
 Sets last assigned unique ID. More...
 

Detailed Description

A sub-mesh.

Equivalent to a CCLib::ReferenceCloud for a mesh

Member Function Documentation

bool ccSubMesh::addTriangleIndex ( unsigned  globalIndex)
virtual

Triangle global index insertion mechanism.

Parameters
globalIndexa triangle global index
Returns
false if not enough memory
bool ccSubMesh::addTriangleIndex ( unsigned  firstIndex,
unsigned  lastIndex 
)
virtual

Triangle global index insertion mechanism (range)

Parameters
firstIndexfirst triangle global index of range
lastIndexlast triangle global index of range (excluded)
Returns
false if not enough memory
ccSubMesh * ccSubMesh::createNewSubMeshFromSelection ( bool  removeSelectedFaces,
IndexMap indexMap = 0 
)
virtual

Creates a new sub mesh with the selected vertices only.

This method is called after a graphical segmentation or by ccMesh::createNewMeshFromSelection. It creates a new sub-mesh structure with the vertices that are tagged as "visible" (see ccGenericPointCloud::visibilityArray). This method will also update this sub-mesh if removeSelectedFaces is true. In this case, all "selected" triangles will be removed from this sub-mesh's instance.

Parameters
removeSelectedFacesspecifies if the faces composed only of 'selected' vertices should be removed or not
indexMapif an index map is provided, it will be used to 'translate' global indexes
bool ccSubMesh::fromFile_MeOnly ( QFile &  in,
short  dataVersion,
int  flags 
)
protectedvirtual

Loads own object data.

Called by 'fromFile' (recursive scheme) To be overloaded (but still called;) by subclass.

Parameters
ininput file
dataVersionfile version
flagsdeserialization flags (see ccSerializableObject::DeserializationFlags)

Reimplemented from ccGenericMesh.

bool ccSubMesh::getColorFromMaterial ( unsigned  triIndex,
const CCVector3 &  P,
colorType  rgb[],
bool  interpolateColorIfNoTexture 
)
virtual

Returns RGB color fom a given triangle material/texture.

Parameters
triIndextriangle index
Ppoint where to grab color (should be inside the triangle!)
[out]rgbtexel color
interpolateColorIfNoTexturewhether to return the color interpolated from the RGB field if no texture/material is associated to the given triangles
Returns
success

Implements ccGenericMesh.

ccBBox ccSubMesh::getMyOwnBB ( )
virtual

Returns the entity bounding-box only.

Children bboxes are ignored.

Returns
bounding-box

Reimplemented from ccHObject.

void ccSubMesh::getTriangleNormalIndexes ( unsigned  triangleIndex,
int &  i1,
int &  i2,
int &  i3 
) const
virtual

Returns a triplet of normal indexes for a given triangle (if any)

Parameters
[in]triangleIndextriangle index
[out]i1first summit normal index (or -1 if none)
[out]i2second summit normal index (or -1 if none)
[out]i3third summit normal index (or -1 if none)

Implements ccGenericMesh.

bool ccSubMesh::getTriangleNormals ( unsigned  triangleIndex,
CCVector3 &  Na,
CCVector3 &  Nb,
CCVector3 &  Nc 
) const
virtual

Returns a given triangle normal.

Mesh must have triangle normals associated (see hasTriNormals)

Implements ccGenericMesh.

void ccSubMesh::getTriangleTexCoordinatesIndexes ( unsigned  triangleIndex,
int &  i1,
int &  i2,
int &  i3 
) const
virtual

Returns the triplet of tex coords indexes for a given triangle.

Parameters
triangleIndextriangle index
i1first summit tex coords index
i2second summit tex coords index
i3third summit tex coords index

Implements ccGenericMesh.

virtual unsigned ccSubMesh::getTriGlobalIndex ( unsigned  localIndex) const
inlinevirtual

Returns global index (i.e. relative to the associated mesh) of a given element.

Parameters
localIndexlocal index (i.e. relative to the internal index container)
bool ccSubMesh::getVertexColorFromMaterial ( unsigned  triIndex,
unsigned char  vertIndex,
colorType  rgb[],
bool  returnColorIfNoTexture 
)
virtual

Returns RGB color of a vertex fom a given triangle material/texture.

Parameters
triIndextriangle index
vertIndexvertex index inside triangle (i.e. 0, 1 or 2!)
[out]rgbtexel color
returnColorIfNoTexturewhether to return the color from the vertex RGB field if no texture/material is associated to the given triangle
Returns
success

Implements ccGenericMesh.

virtual bool ccSubMesh::hasScalarFields ( ) const
virtual

Returns whether one or more scalar fields are instantiated.

WARNING: doesn't mean a scalar field is currently displayed (see ccDrawableObject::hasDisplayedScalarField).

Reimplemented from ccDrawableObject.

bool ccSubMesh::interpolateColors ( unsigned  triIndex,
const CCVector3 &  P,
colorType  rgb[] 
)
virtual

Interpolates RGB colors inside a given triangle.

Parameters
triIndextriangle index
Ppoint where to interpolate (should be inside the triangle!)
[out]rgbinterpolated color
Returns
success

Implements ccGenericMesh.

bool ccSubMesh::interpolateNormals ( unsigned  triIndex,
const CCVector3 &  P,
CCVector3 &  N 
)
virtual

Interpolates normal(s) inside a given triangle.

Parameters
triIndextriangle index
Ppoint where to interpolate (should be inside the triangle!)
[out]Ninterpolated normal
Returns
success

Implements ccGenericMesh.

void ccSubMesh::onUpdateOf ( ccHObject obj)
protectedvirtual

This method is called when another object (geometry) is updated.

For internal use.

Reimplemented from ccHObject.

bool ccSubMesh::reserve ( unsigned  n)
virtual

Reserves some memory for hosting the triangle references.

Parameters
nthe number of triangles (references)
bool ccSubMesh::resize ( unsigned  n)
virtual

Presets the size of the vector used to store triangle references.

Parameters
nthe number of triangles (references)
void ccSubMesh::setTriangleIndex ( unsigned  localIndex,
unsigned  globalIndex 
)
virtual

Sets global index for a given element.

Parameters
localIndexlocal index
globalIndexglobal index
bool ccSubMesh::toFile_MeOnly ( QFile &  out) const
protectedvirtual

Save own object data.

Called by 'toFile' (recursive scheme) To be overloaded (but still called;) by subclass.

Reimplemented from ccGenericMesh.


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