Mudbox/generaloperations.h Source File

generaloperations.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: generaloperations.h
12 // CREATED: August 2012
13 //**************************************************************************/
14 
15 namespace mudbox {
16 
21 {
23 
24 protected:
26 
27 public:
28  virtual ~SetVisibilityOperation();
29 
31  virtual void SetVisibility(
32  Mesh* pMesh,
33  bool bVisible
34  );
35 };
36 
41 {
43 
44 protected:
46 
47 public:
48  virtual ~AddGeometryOperation();
49 
51  virtual void AddGeometry(
52  Geometry* pGeometry,
53  Transformation* pTransform = 0
54  );
55 };
56 
61 {
63 
64  struct SelectionData
65  {
66  SelectionData() : MeshID(-1) {}
67  int MeshID;
68  QVector<int> SelectedFaces;
69  };
70 
71 public:
72  SelectAllOperation() { m_bSelect = true; m_bSerialized = false; }
73  SelectAllOperation(bool bSelect) { m_bSelect = bSelect; m_bSerialized = false; }
74  virtual ~SelectAllOperation();
75  virtual bool ExecuteAndInvert( void );
76  virtual void Serialize(Stream &);
77 
78 protected:
79  bool m_bSelect;
82 };
83 
88 {
90 
91 protected:
93 
94 public:
95  virtual ~DeleteGeometryOperation();
96 
102  virtual void MarkForDeletion(
103  Geometry* pGeometry
104  );
105 };
106 
112 {
114 
115 protected:
117 
118 public:
119  virtual ~ReplaceGeometryOperation();
120 
124  virtual void SetGeometries(
125  Geometry* pOriginal,
126  Geometry* pNew
127  );
128 };
129 
136 {
138 
139 protected:
141 
142 public:
143 
146  virtual void SetSourceGeometry( Geometry* pSource );
147 
149  virtual void SetTargetGeometry( Geometry* pTarget );
150 
153  virtual void SetSearchDistance( float f );
154 
157  virtual float SearchDistance() const;
158 
160  virtual void SetTransferOntoNewLayer( bool bNewLayer );
161 
163  virtual bool TransferOntoNewLayer() const;
164 
166  virtual void SetTransferSculptLayers( bool bTransfer );
167 
169  virtual bool TransferSculptLayers() const;
170 
172  virtual void SetTransferJointWeights( bool bTransfer );
173 
175  virtual bool TransferJointWeights() const;
176 
179  virtual void SetSelectDirtyRegions( bool bSelect );
180 
182  virtual bool SelectDirtyRegions() const;
183 
186  virtual void SetTestBothSides( bool bTest );
187 
189  virtual bool TestBothSides() const;
190 
193  virtual void SetSearchMethod( int iMethod );
194 
196  virtual int SearchMethod() const;
197 
200  virtual void SetTargetSubdivisionLevel( int iLevel );
201 
203  virtual int TargetSubdivisionLevel() const;
204 
206  virtual QWidget *CreatePropertiesWindow(
207  QWidget *pParent,
208  bool bMinimal = false
209  );
210 };
211 
213 {
215 protected:
216  TopologyChange();
217 
218 public:
219  virtual void SetMesh( Mesh* pMesh );
220  virtual void RemoveFace( unsigned int iFaceIndex );
221  virtual void InsertVertex( const Vector& vPosition, unsigned int iVertexIndex = 0xffffffff );
222  virtual void InsertTC( const TC& vTC, unsigned int iTCIndex = 0xffffffff );
223  virtual void InsertTriangle( unsigned int iV1,
224  unsigned int iV2,
225  unsigned int iV3,
226  bool bIsFake = false,
227  unsigned int iUV1 = 0xffffffff,
228  unsigned int iUV2 = 0xffffffff,
229  unsigned int iUV3 = 0xffffffff,
230  unsigned int iFaceIndex = 0xffffffff );
231 
233  virtual const Store<unsigned int> &VertexMap() const;
234 
236  virtual void ShrinkVertexArray( Store<unsigned int>& aVertexMap );
237 };
238 
239 }; // end of namespace mudbox
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
QList< SelectionData * > m_vSelectionStorage
This Operation sets the visibility of nodes in the scene.
This Operation replaces one geometry with another.
This Operation selects/deselects all objects.
Represents Texture Coordinates (UVs) in the mesh.
Definition: mesh.h:147
This Operation deletes geometries from the current scene.
Class: ConvolutionKernel.
Definition: array.h:15
This Operation adds geometries to the current scene.
The base class of all operations.
Definition: operation.h:26
This Operation transfers the sculpting detail from one mesh to another.
A Transformation is a node in the Mudbox scene that controls the size and position of other nodes...
Represents a 3d object in the scene.
Definition: geometry.h:18
Streams are used to read information from a file, or to write it to a file.
Definition: stream.h:39
#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