operation.h

Go to the documentation of this file.
00001 
00002 
00003 //**************************************************************************/
00004 
00005 // Copyright (c) 2008 Autodesk, Inc.
00006 
00007 // All rights reserved.
00008 
00009 //
00010 
00011 // Use of this software is subject to the terms of the Autodesk license
00012 
00013 // agreement provided at the time of installation or download, or which
00014 
00015 // otherwise accompanies this software in either electronic or hard copy form.
00016 
00017 //
00018 
00019 //**************************************************************************/
00020 
00021 // DESCRIPTION:
00022 
00023 // CREATED: October 2008
00024 
00025 //**************************************************************************/
00026 
00027 
00028 
00029 namespace mudbox {
00030 
00031 
00032 
00034 
00036 
00038 
00040 
00042 
00044 
00046 
00048 
00050 
00051 class MBDLL_DECL Operation : public Node
00052 
00053 {
00054 
00055     DECLARE_CLASS;
00056 
00057     Operation( void );
00058 
00059     virtual ~Operation( void );
00060 
00061 
00062 
00064 
00066 
00068 
00070 
00072 
00074 
00076 
00078 
00080 
00082 
00084 
00086 
00088 
00090 
00092 
00094 
00095     virtual bool ExecuteAndInvert( void );
00096 
00097 };
00098 
00099 
00100 
00101 
00102 
00104 
00106 
00108 
00109 class MBDLL_DECL DeleteGeometryOperation : public Operation
00110 
00111 {
00112 
00113     DECLARE_CLASS;
00114 
00115 public:
00116 
00117     virtual ~DeleteGeometryOperation();
00118 
00119 
00120 
00122 
00124 
00126 
00128 
00130 
00131     virtual void MarkForDeletion( 
00132 
00133         Geometry* pGeometry 
00134 
00135         );
00136 
00137 };
00138 
00139 
00140 
00142 
00144 
00146 
00148 
00149 class MBDLL_DECL ReplaceGeometryOperation : public Operation
00150 {
00151     DECLARE_CLASS;
00152 
00153 
00154 
00155 protected:
00156     ReplaceGeometryOperation();
00157 
00158 public:
00159     virtual ~ReplaceGeometryOperation();
00160 
00164     virtual void SetGeometries( 
00165         Geometry* pOriginal,    
00166         Geometry* pNew          
00167         );
00168 };
00169 
00170 
00172 
00174 
00176 
00178 
00180 
00181 class MBDLL_DECL TransferDetailOperation : public mudbox::Operation
00182 {
00183     DECLARE_CLASS;
00184 
00185 public:
00186 
00189     virtual void SetSourceGeometry( Geometry* pSource );
00190 
00192     virtual void SetTargetGeometry( Geometry* pTarget );
00193 
00196     virtual void SetSearchDistance( float f );
00197 
00200     virtual float SearchDistance() const;
00201 
00203     virtual void SetTransferOntoNewLayer( bool bNewLayer );
00204 
00206     virtual bool TransferOntoNewLayer() const;
00207 
00209     virtual void SetTransferSculptLayers( bool bTransfer );
00210 
00212     virtual bool TransferSculptLayers() const;
00213 
00215     virtual void SetTransferJointWeights( bool bTransfer );
00216 
00218     virtual bool TransferJointWeights() const;
00219 
00222     virtual void SetSelectDirtyRegions( bool bSelect );
00223 
00225     virtual bool SelectDirtyRegions() const;
00226 
00229     virtual void SetTestBothSides( bool bTest );
00230 
00232     virtual bool TestBothSides() const;
00233 
00236     virtual void SetSearchMethod( int iMethod );
00237     
00239     virtual int SearchMethod() const;
00240 
00243     virtual void SetTargetSubdivisionLevel( int iLevel );
00244 
00246     virtual int TargetSubdivisionLevel() const;
00247 
00249     virtual QWidget *CreatePropertiesWindow( 
00250         QWidget *pParent,  
00251         bool bMinimal = false   
00252         );
00253 };
00254 
00255 
00256 
00257 }; // end of namespace mudbox
00258 
00259 
00260