IFrameMesh.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: 3D mesh interface implementation - geometry only and textured.
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 
11 #ifndef _IFRAMEMESH_H_
12 #define _IFRAMEMESH_H_
13 
15 #include <artec/sdk/base/IMesh.h>
16 
17 namespace artec { namespace sdk { namespace base
18 {
19 
20 class IFrameMesh;
21 
22 extern "C"
23 {
24 
26  createFrameMesh(IFrameMesh** mesh, int vertexCount = 0, int triangleCount = 0);
27 
28 }
29 
30 class IFrameMesh : public IMesh
31 {
32 public:
33  virtual bool isTextured() const = 0;
34 
35  virtual IImage* getImage() const = 0;
36  virtual void setImage(IImage* image) = 0;
37 
38  /// Get texture coordinates array
39  virtual IArrayUVCoordinates* getUVCoordinates() const = 0;
40  /// Set texture coordinates array
41  virtual void setUVCoordinates(IArrayUVCoordinates* coords) = 0;
42 
43  /// Map texture using calibration matrix
44  virtual ErrorCode mapTexture(const Matrix3x4D& matrix) = 0;
45 };
46 
47 } } } // namespace artec::sdk::base
48 
49 #endif // _IFRAMEMESH_H_
virtual bool isTextured() const =0
ErrorCode ABASESDK_LINK_SPEC createFrameMesh(IFrameMesh **mesh, int vertexCount=0, int triangleCount=0)
virtual IArrayUVCoordinates * getUVCoordinates() const =0
Get texture coordinates array.
virtual IImage * getImage() const =0
virtual ErrorCode mapTexture(const Matrix3x4D &matrix)=0
Map texture using calibration matrix.
virtual void setImage(IImage *image)=0
#define ABASESDK_LINK_SPEC
Definition: BaseSdkDefines.h:7
virtual void setUVCoordinates(IArrayUVCoordinates *coords)=0
Set texture coordinates array.