UVlessPainting/UVGeneratorInterface.h Source File

UVGeneratorInterface.h
Go to the documentation of this file.
1 #ifndef __UVGENERATORINTERFACE_H
2 #define __UVGENERATORINTERFACE_H
3 
4 #if defined(JAMBUILD) || defined(__APPLE__)
5 #include <Mudbox/mudbox.h>
6 #else
7 #include "../../include/Mudbox/mudbox.h"
8 #endif
9 
10 #include "UVMeshGrid.h"
11 
12 #ifndef COMPILING_UVLESSPAINTING_DLL
13 #define UGDLL MUDBOX_DLLIMPORT
14 #else
15 #define UGDLL MUDBOX_DLLEXPORT
16 #endif
17 
32 {
34 
36  struct DimData4
37  {
38  unsigned int m_iData[4];
39  unsigned int& operator[] (int i) { return m_iData[i]; };
40  };
41 
42  struct DimData2
43  {
44  unsigned int m_iData[2];
45  unsigned int& operator[] (int i) { return m_iData[i]; };
46  };
47 
48 
52  virtual DimData4 FaceSize( unsigned int iFaceIndex ) const;
53 
60  virtual DimData4 FaceSizeExponent( unsigned int iFaceIndex ) const;
61 
67  virtual void SetFaceSize( unsigned int iFaceIndex, unsigned int iWidth, unsigned int iHeight );
68 
71  virtual char FaceOrientation( unsigned int iFaceIndex ) const;
72 
82  virtual DimData2 FaceUVPosition( unsigned int iFaceIndex ) const;
83 
87  virtual DimData2 FaceUVSize( unsigned int iFaceIndex ) const;
88 
91  virtual DimData2 FaceUVArea( unsigned int iFaceIndex ) const;
92 
94  virtual unsigned int UVTileSize() const;
95 
97  virtual void SetUVTileSize( unsigned int iSize );
98 
99 
101  static void SetDefaultResolution( unsigned int iRes );
102 
104  static unsigned int DefaultResolution( void );
105 
107  static void SetIgnoreScene( bool bIgnore );
108 
109 
112  virtual void GenerateUVs(
113  bool bTransferPaintLayers = true,
114  mudbox::Vector vUVOffset = mudbox::Vector(),
115  int iTileCount = -1
116  );
117 
118  virtual Mesh *getMesh();
119 };
120 
135 {
136 public:
139 
141  static void Setup( QVector<mudbox::Mesh *> pMeshes, bool bTransferPaintLayers = true );
142 };
143 
144 #endif
Represents a 3D vector or point with S23E8 floating point elements.
Definition: math.h:35
A Mesh is a collection of vertices organized into faces, and optional Texture Coordinate information...
Definition: mesh.h:452
This class is used to create a UV layout for a mesh.
This class is used to quick setup Ptex Painting for meshes.
This class is the base of all node types that can be structured in a hierarchy.
Definition: treenode.h:18
#define UGDLL
#define Q_DECLARE_TR_FUNCTIONS(context)