Artec 3D Scanning SDK  2.0
Types.h
Go to the documentation of this file.
1 /********************************************************************
2  *
3  * Project Artec 3D Scanning SDK
4  *
5  * Purpose: Basic SDK types
6  *
7  * Copyright: Artec Group
8  *
9  ********************************************************************/
10 
11 #ifndef _TYPES_H_
12 #define _TYPES_H_
13 
14 #include <artec/sdk/base/Point.h>
15 #include <artec/sdk/base/Matrix.h>
16 
17 namespace artec { namespace sdk { namespace base
18 {
19 
20 /**
21 * Image size defined by width and height
22 */
23 
24 struct Size
25 {
26  Size() : width(0), height(0) {}
27  Size(int width_, int height_) : width(width_), height(height_) {}
28 
29  int width;
30  int height;
31 };
32 
33 /**
34 * Texture coordinates
35 */
36 
38 {
39  UVCoordinates() : u(0.0f), v(0.0f) {}
40  UVCoordinates(float u_, float v_) : u(u_), v(v_) {}
41 
42  float u, v;
43 };
44 
45 /**
46 * %Triangle defined by the three points
47 */
48 
49 struct Triangle
50 {
52 };
53 
54 /**
55 * Set of three texture coordinates
56 */
57 
58 struct TriangleUV
59 {
61 };
62 
63 // Suppress 'nameless struct/union' warning
64 #pragma warning(push)
65 #pragma warning(disable: 4201)
66 
67 /**
68 * Defines how triangle is formed from points
69 */
70 
72 {
73  union {
74  int data[3];
75  struct {
76  int x, y, z;
77  };
78  };
79 };
80 
81 #pragma warning(pop)
82 
83 } } } // namespace artec::sdk::base
84 
85 #endif //_TYPES_H_
Size(int width_, int height_)
Definition: Types.h:27
UVCoordinates(float u_, float v_)
Definition: Types.h:40
Set of three texture coordinates.
Definition: Types.h:58
Defines how triangle is formed from points.
Definition: Types.h:71
Triangle defined by the three points
Definition: Types.h:49
Texture coordinates.
Definition: Types.h:37
UVCoordinates uv[3]
Definition: Types.h:60
Image size defined by width and height.
Definition: Types.h:24