Artec 3D Scanning SDK  2.0
Public Member Functions | List of all members
artec::sdk::base::ICompositeMesh Class Referenceabstract

Indexed triangle mesh with optional unwrapped textures. More...

#include <artec/sdk/base/ICompositeMesh.h>

+ Inheritance diagram for artec::sdk::base::ICompositeMesh:

Public Member Functions

virtual bool isTextured () const =0
 Check the presence of texture. More...
 
virtual void getTexturedTriangles (const IArrayInt **triangleIndices, const IArrayInt **textureIndices) const =0
 Get textured triangles. More...
 
virtual const IArrayIntgetUntexturedTriangles () const =0
 Get untextured triangle indices (as array). More...
 
virtual ErrorCode validateTextures (bool clearEmpty=true)=0
 Collect textured triangle indices. More...
 
- Public Member Functions inherited from artec::sdk::base::IMesh
virtual bool isEmpty () const =0
 Check whether the mesh is empty. More...
 
virtual IArrayPoint3FgetPoints () const =0
 Get points (vertices). More...
 
virtual void setPoints (IArrayPoint3F *points)=0
 Set points (vertices). More...
 
virtual IArrayIndexTripletgetTriangles () const =0
 Get triangles (triplets of vertex indices). More...
 
virtual void setTriangles (IArrayIndexTriplet *triangles)=0
 Set triangles (triplets of vertex indices). More...
 
virtual IArrayPoint3FgetPointsNormals () const =0
 Get vertex normals (smooth). More...
 
virtual void setPointsNormals (IArrayPoint3F *normals)=0
 Set vertex normals (smooth). More...
 
virtual IArrayPoint3FgetTrianglesNormals () const =0
 Get triangle normals (flat). More...
 
virtual void setTrianglesNormals (IArrayPoint3F *normals)=0
 Set triangle normals (flat). More...
 
virtual Triangle getTriangle (int i) const =0
 Return point coordinates for i-th triangle. More...
 
virtual unsigned int calculate (unsigned int requested_mode, unsigned int recreate_mode=CM_None)=0
 Create calculated data. More...
 
virtual unsigned int getCalculated ()=0
 Get calculated data flags. More...
 
virtual void clear (int requested_mode=CM_ClearEverything)=0
 Clear unneeded data from mesh. More...
 
virtual void transform (const Matrix4x4D &matrix)=0
 Apply full transformation (motion / rotation / scale). More...
 
virtual void translate (const Point3F &direction)=0
 Apply translation. More...
 
virtual void rotate (const Matrix4x4D &matrix)=0
 Apply rotation. More...
 
virtual void scale (float factor)=0
 Scale. More...
 
virtual void scale (float factor, const Point3F &center)=0
 Scale. More...
 
virtual const IArrayPoint3FgetTrianglesCenters () const =0
 
virtual const IArrayPoint3FgetTrianglesAngles () const =0
 
virtual const IArrayFloatgetTrianglesAreas () const =0
 
virtual const IArrayPoint3FgetEdgeLengths () const =0
 
virtual bool hasNormals () const =0
 
virtual bool hasPointsNormals () const =0
 
virtual bool hasTrianglesNormals () const =0
 
virtual bool hasTrianglesCenters () const =0
 
virtual bool hasTrianglesAngles () const =0
 
virtual bool hasTrianglesAreas () const =0
 
virtual bool hasEdgeLengths () const =0
 
virtual void setInternalData (void *p)=0
 Set internal data (used for compatibility with existing code). Do not use this function. More...
 
virtual void * getInternalData () const =0
 Get internal data (used for compatibility with existing code). Do not use this function. More...
 
- Public Member Functions inherited from artec::sdk::base::IRevision
virtual bool wasChanged (unsigned int rev) const =0
 Check whether the object was changed (true if changed) More...
 
virtual unsigned int incRevision ()=0
 Increment object's revision. More...
 
virtual unsigned int getRevision () const =0
 Get object's revision. More...
 
- Public Member Functions inherited from artec::sdk::base::IRef
virtual int addRef () const =0
 Increase object reference counter. More...
 
virtual int release () const =0
 Decrease object reference counter. More...
 

Texture access functions

virtual int getTexturesCount () const =0
 Get number of textures. More...
 
virtual void addTexture (ITexture *texture)=0
 Add texture. More...
 
virtual ITexturegetTexture (int index) const =0
 Get i-th texture. More...
 

Triangle-index related functions.

virtual bool isTriangleTextured (int i) const =0
 Get texture status for i-th triangle. More...
 
virtual const ITexturegetTriangleTexture (int i) const =0
 Get texture for i-th triangle of the mesh. More...
 
virtual TriangleUV getTriangleUV (int i) const =0
 Get triplet of texture coordinates for i-th triangle. More...
 
virtual const UuidgetUuid () const =0
 Access composite mesh uuid. More...
 
virtual void setUuid (const Uuid &uuid)=0
 Access composite mesh uuid. More...
 
virtual const wchar_t * getName () const =0
 Access composite mesh name. More...
 
virtual void setName (const wchar_t *name)=0
 Access composite mesh name. More...
 

Detailed Description

Indexed triangle mesh with optional unwrapped textures.

Designed to store complex textured mesh. Mesh may contain one or more textures. Each triangle can be associated with only one or no texture.

Definition at line 44 of file ICompositeMesh.h.

Member Function Documentation

virtual void artec::sdk::base::ICompositeMesh::addTexture ( ITexture texture)
pure virtual

Add texture.

Parameters
textureTexture to set.
virtual const wchar_t* artec::sdk::base::ICompositeMesh::getName ( ) const
pure virtual

Access composite mesh name.

virtual ITexture* artec::sdk::base::ICompositeMesh::getTexture ( int  index) const
pure virtual

Get i-th texture.

Returns
I-th texture interface.
virtual void artec::sdk::base::ICompositeMesh::getTexturedTriangles ( const IArrayInt **  triangleIndices,
const IArrayInt **  textureIndices 
) const
pure virtual

Get textured triangles.

Return the texture index for each textured triangle (as arrays).

Parameters
triangleIndicesIArrayInt of triangle indices to return.
textureIndicesIArrayInt of texture indices to return.
virtual int artec::sdk::base::ICompositeMesh::getTexturesCount ( ) const
pure virtual

Get number of textures.

Returns
Number of textures.
virtual const ITexture* artec::sdk::base::ICompositeMesh::getTriangleTexture ( int  i) const
pure virtual

Get texture for i-th triangle of the mesh.

Returns
For untextured triangles, it return empty ITexture object without IImage and UV coordinates.
virtual TriangleUV artec::sdk::base::ICompositeMesh::getTriangleUV ( int  i) const
pure virtual

Get triplet of texture coordinates for i-th triangle.

Returns
Texture coordinates for triangle.
virtual const IArrayInt* artec::sdk::base::ICompositeMesh::getUntexturedTriangles ( ) const
pure virtual

Get untextured triangle indices (as array).

Returns
Array of untextured triangle indices.
virtual const Uuid& artec::sdk::base::ICompositeMesh::getUuid ( ) const
pure virtual

Access composite mesh uuid.

virtual bool artec::sdk::base::ICompositeMesh::isTextured ( ) const
pure virtual

Check the presence of texture.

virtual bool artec::sdk::base::ICompositeMesh::isTriangleTextured ( int  i) const
pure virtual

Get texture status for i-th triangle.

Returns
True if the triangle is textured.
virtual void artec::sdk::base::ICompositeMesh::setName ( const wchar_t *  name)
pure virtual

Access composite mesh name.

virtual void artec::sdk::base::ICompositeMesh::setUuid ( const Uuid uuid)
pure virtual

Access composite mesh uuid.

virtual ErrorCode artec::sdk::base::ICompositeMesh::validateTextures ( bool  clearEmpty = true)
pure virtual

Collect textured triangle indices.

Parameters
clearEmptyDelete texture if either UV coordinates or texture image is empty.

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