ITexture.h
Go to the documentation of this file.
1 /********************************************************************
2 *
3 * Project Artec 3D Scanning SDK
4 *
5 * Purpose: Reference counting. Base class for all interfaces.
6 *
7 * Copyright: Artec Group
8 *
9 ********************************************************************/
10 
11 #ifndef _ITEXTURE_H_
12 #define _ITEXTURE_H_
13 
15 #include <artec/sdk/base/IRef.h>
16 #include <artec/sdk/base/IArray.h>
17 #include <artec/sdk/base/IImage.h>
18 
19 namespace artec { namespace sdk { namespace base
20 {
21 
22 class IImage;
23 class ITexture;
24 
25 extern "C"
26 {
27 
29  createTexture(ITexture** texture, IImage* image = NULL, int trianglesIndexCount = 0, int UVIndexCount = 0, int UVCoordinatesCount = 0);
30 
31 }
32 
33 class ITexture : public IRef
34 {
35 public:
36  /// Set/Get textured triangles
37  virtual IArrayInt* getTexturedTriangles() const = 0;
38  virtual void setTexturedTriangles(IArrayInt* triangles) = 0;
39 
40  /// Set/Get texture coordinate indices
41  virtual IArrayIndexTriplet* getTrianglesUVIndices() const = 0;
42  virtual void setTrianglesUVIndices(IArrayIndexTriplet* index) = 0;
43 
44  /// Set/Get texture coordinates array
45  virtual IArrayUVCoordinates* getUVCoordinates() const = 0;
46  virtual void setUVCoordinates(IArrayUVCoordinates* coords) = 0;
47 
48  /// Set/Get texture image
49  virtual IImage* getImage() const = 0;
50  virtual void setImage(IImage* image) = 0;
51 
52  /// Clear all texture contents. Release all Arrays and image.
53  virtual void clear() = 0;
54 
55  /// Check if texture was initialized
56  virtual bool isEmpty() const = 0;
57 };
58 
59 } } } // namespace artec::sdk::base
60 
61 #endif // _ITEXTURE_H_
virtual IImage * getImage() const =0
Set/Get texture image.
virtual void setTexturedTriangles(IArrayInt *triangles)=0
virtual IArrayInt * getTexturedTriangles() const =0
Set/Get textured triangles.
virtual void setTrianglesUVIndices(IArrayIndexTriplet *index)=0
virtual bool isEmpty() const =0
Check if texture was initialized.
virtual void setUVCoordinates(IArrayUVCoordinates *coords)=0
virtual void clear()=0
Clear all texture contents. Release all Arrays and image.
virtual IArrayIndexTriplet * getTrianglesUVIndices() const =0
Set/Get texture coordinate indices.
virtual IArrayUVCoordinates * getUVCoordinates() const =0
Set/Get texture coordinates array.
virtual void setImage(IImage *image)=0
#define ABASESDK_LINK_SPEC
Definition: BaseSdkDefines.h:7
ErrorCode ABASESDK_LINK_SPEC createTexture(ITexture **texture, IImage *image=NULL, int trianglesIndexCount=0, int UVIndexCount=0, int UVCoordinatesCount=0)