Artec 3D Scanning SDK
2.0
|
Indexed triangle mesh. More...
#include <artec/sdk/base/IMesh.h>
Public Member Functions | |
virtual bool | isEmpty () const =0 |
Check whether the mesh is empty. 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... | |
Data access functions | |
virtual IArrayPoint3F * | getPoints () const =0 |
Get points (vertices). More... | |
virtual void | setPoints (IArrayPoint3F *points)=0 |
Set points (vertices). More... | |
virtual IArrayIndexTriplet * | getTriangles () const =0 |
Get triangles (triplets of vertex indices). More... | |
virtual void | setTriangles (IArrayIndexTriplet *triangles)=0 |
Set triangles (triplets of vertex indices). More... | |
virtual IArrayPoint3F * | getPointsNormals () const =0 |
Get vertex normals (smooth). More... | |
virtual void | setPointsNormals (IArrayPoint3F *normals)=0 |
Set vertex normals (smooth). More... | |
virtual IArrayPoint3F * | getTrianglesNormals () 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... | |
Calculated data functions | |
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... | |
Point transformation functions | |
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 ¢er)=0 |
Scale. More... | |
Calculated data access functions | |
virtual const IArrayPoint3F * | getTrianglesCenters () const =0 |
virtual const IArrayPoint3F * | getTrianglesAngles () const =0 |
virtual const IArrayFloat * | getTrianglesAreas () const =0 |
virtual const IArrayPoint3F * | getEdgeLengths () const =0 |
Calculated data existence verification | |
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 |
Internal functions | |
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... | |
Indexed triangle mesh.
Contains points (vertices) and triangles (triplets of vertex indices). It may contain flat (per-triangle) and smooth (per-vertex) normals, calculate various data (triangle areas, edge lengths, etc.) and store one's internal data.
|
pure virtual |
Create calculated data.
requested_mode | Request to calculate information |
recreate_mode | Request to re-calculate information |
|
pure virtual |
Clear unneeded data from mesh.
Doing so won't clear any dependent data.
requested_mode | request to clear information (modes can be combined) |
|
pure virtual |
Get calculated data flags.
|
pure virtual |
|
pure virtual |
Get internal data (used for compatibility with existing code). Do not use this function.
|
pure virtual |
Get points (vertices).
IArrayPoint3F is used to access individual points.
|
pure virtual |
Get vertex normals (smooth).
IArrayPoint3F is used to access individual normals.
|
pure virtual |
|
pure virtual |
Get triangles (triplets of vertex indices).
IArrayIndexTriplet is used to access individual triangles.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Get triangle normals (flat).
IArrayPoint3F is used to access individual normals.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Check whether the mesh is empty.
|
pure virtual |
Apply rotation.
matrix | Rotation matrix. |
|
pure virtual |
Scale.
factor | Scale factor. |
|
pure virtual |
Scale.
factor | Scale factor. |
center | Scaling center coordinates. |
|
pure virtual |
Set internal data (used for compatibility with existing code). Do not use this function.
|
pure virtual |
Set points (vertices).
points | Pointer to the IArrayPoint3F array. |
|
pure virtual |
Set vertex normals (smooth).
normals | Pointer to the IArrayPoint3F array. |
|
pure virtual |
Set triangles (triplets of vertex indices).
triangles | Pointer to the IArrayIndexTriplet array. |
|
pure virtual |
Set triangle normals (flat).
normals | Pointer to the IArrayPoint3F array. |
|
pure virtual |
Apply full transformation (motion / rotation / scale).
matrix | Transformation matrix. |
|
pure virtual |
Apply translation.
direction | Direction vector. |