Mudbox/geometry.h Source File

geometry.h
Go to the documentation of this file.
1 
2 //**************************************************************************/
3 // Copyright (c) 2008 Autodesk, Inc.
4 // All rights reserved.
5 //
6 // Use of this software is subject to the terms of the Autodesk license
7 // agreement provided at the time of installation or download, or which
8 // otherwise accompanies this software in either electronic or hard copy form.
9 //
10 //**************************************************************************/
11 // DESCRIPTION:
12 // CREATED: October 2008
13 //**************************************************************************/
14 
15 namespace mudbox {
16 
18 class MBDLL_DECL Geometry : virtual public GroupNode
19 {
21 
22 protected:
24  Geometry( void );
25 
26 public:
27 
28  enum MatchMode
29  {
32  matchByVertexPosition
33  };
34 
36  virtual unsigned int LevelCount( void ) const;
37 
39  virtual SubdivisionLevel *LowestLevel( void ) const;
40 
42  virtual SubdivisionLevel *HighestLevel( void ) const;
43 
45  virtual SubdivisionLevel *Level(
46  unsigned int iIndex
47  ) const;
48 
50  virtual void AddLevel(
51  SubdivisionLevel *pLevel,
52  bool bFirst = false
53  );
54 
58  virtual bool RemoveHighestLevel();
59 
63  virtual bool RemoveLowestLevel();
64 
68  virtual SubdivisionLevel *ActiveLevel( void ) const;
69 
75  virtual bool ChangeActiveLevel(
76  const SubdivisionLevel* pNewLevel
77  );
78 
80  virtual unsigned int LayerCount() const;
81 
84  virtual LayerMeshData* LayerData(
85  const QString& sLayerName
86  ) const;
87 
91  virtual LayerMeshData* LayerData(
92  unsigned int iLayer,
93  const SubdivisionLevel* pLevel = NULL
94  ) const;
95 
97  virtual mudbox::Material *Material( void ) const;
98 
100  virtual void SetMaterial( mudbox::Material *pMaterial );
101 
105  virtual mudbox::Material *MaterialOverride( void ) const;
106 
110  virtual void SetMaterialOverride( mudbox::Material *pMaterialOverride );
111 
116  aptr<SubdivisionLevel> m_pActiveLevel;
117 
119  virtual void SetActiveLevel(
120  SubdivisionLevel *pNewActiveLevel
121  );
122 
124  virtual int GeometryID( void )const;
125 
128  virtual void ImportUVs( const Geometry* pSource,
129  MatchMode eMode = matchByVertexID,
130  float fTolerance = 0.001f
131  );
132 
133  virtual void Transform( const Matrix &mMatrix );
134 };
135 
136 }; // end of namespace mudbox
aptr< SubdivisionLevel > m_pActiveLevel
This variable contains the address of the active level.
Definition: geometry.h:116
This class represents a 4x4 transformation matrix.
Definition: math.h:1122
Match vertices by their vertex IDs.
Definition: geometry.h:30
This is the base class for all nodes that are transformable objects in the Mudbox scene...
Match vertices by using their UV coordinates.
Definition: geometry.h:31
Class: ConvolutionKernel.
Definition: array.h:15
Describes a material of a geometry including its surface colors, transparency and texture information...
Definition: material.h:73
Represents a 3d object in the scene.
Definition: geometry.h:18
Represents one level of subdivision details in a geometry.
Definition: subdivision.h:40
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
Definition: node.h:91
GLclampf f
Definition: GLee.h:9303
#define MBDLL_DECL
Definition: dllinterface.h:35
This class represents a Sculpt Layer.
Definition: layer.h:216