19 namespace artec { 
namespace sdk { 
namespace base
 
  103     virtual unsigned int calculate(
unsigned int requested_mode, 
unsigned int recreate_mode = 
CM_None) = 0;
 
  141     virtual void scale(
float factor) = 0;
 
  148     virtual void scale(
float factor, 
const Point3F & center) = 0;
 
  161     virtual bool isEmpty() 
const = 0;
 
virtual void setPointsNormals(IArrayPoint3F *normals)=0
Set vertex normals (smooth). 
virtual void translate(const Point3F &direction)=0
Apply translation. 
virtual void setTriangles(IArrayIndexTriplet *triangles)=0
Set triangles (triplets of vertex indices). 
virtual void setTrianglesNormals(IArrayPoint3F *normals)=0
Set triangle normals (flat). 
virtual bool hasPointsNormals() const =0
Interface to retrieve the object's revision history It can be used to create change history...
Interface for array of float data that supports smart reference counting. 
virtual void setInternalData(void *p)=0
Set internal data (used for compatibility with existing code). Do not use this function. 
virtual void scale(float factor)=0
Scale. 
virtual IArrayIndexTriplet * getTriangles() const =0
Get triangles (triplets of vertex indices). 
virtual bool hasTrianglesNormals() const =0
virtual Triangle getTriangle(int i) const =0
Return point coordinates for i-th triangle. 
virtual bool hasTrianglesAreas() const =0
virtual bool hasTrianglesCenters() const =0
virtual const IArrayPoint3F * getTrianglesCenters() const =0
virtual IArrayPoint3F * getPoints() const =0
Get points (vertices). 
virtual unsigned int calculate(unsigned int requested_mode, unsigned int recreate_mode=CM_None)=0
Create calculated data. 
virtual unsigned int getCalculated()=0
Get calculated data flags. 
virtual void setPoints(IArrayPoint3F *points)=0
Set points (vertices). 
Triangle defined by the three points 
virtual const IArrayPoint3F * getTrianglesAngles() const =0
virtual void transform(const Matrix4x4D &matrix)=0
Apply full transformation (motion / rotation / scale). 
virtual void clear(int requested_mode=CM_ClearEverything)=0
Clear unneeded data from mesh. 
virtual IArrayPoint3F * getTrianglesNormals() const =0
Get triangle normals (flat). 
virtual void * getInternalData() const =0
Get internal data (used for compatibility with existing code). Do not use this function. 
virtual IArrayPoint3F * getPointsNormals() const =0
Get vertex normals (smooth). 
virtual void rotate(const Matrix4x4D &matrix)=0
Apply rotation. 
virtual bool hasEdgeLengths() const =0
virtual const IArrayFloat * getTrianglesAreas() const =0
virtual const IArrayPoint3F * getEdgeLengths() const =0
virtual bool hasTrianglesAngles() const =0
Interface for array of point positions (vertices and normal vectors); F for float type...
Interface for array of triangles (relationship between vertices). 
virtual bool isEmpty() const =0
Check whether the mesh is empty. 
virtual bool hasNormals() const =0