- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# operation.h

Go to the documentation of this file.

    00001
    00002 //**************************************************************************/
    00003 // Copyright (c) 2008 Autodesk, Inc.
    00004 // All rights reserved.
    00005 //
    00006 // Use of this software is subject to the terms of the Autodesk license
    00007 // agreement provided at the time of installation or download, or which
    00008 // otherwise accompanies this software in either electronic or hard copy form.
    00009 //
    00010 //**************************************************************************/
    00011 // DESCRIPTION:
    00012 // CREATED: October 2008
    00013 //**************************************************************************/
    00014
    00015 namespace mudbox {
    00016
    00026 class MBDLL_DECL Operation : public Node
    00027 {
    00028     DECLARE_CLASS;
    00029     Operation( void );
    00030     virtual ~Operation( void );
    00031
    00048     virtual bool ExecuteAndInvert( void );
    00049 };
    00050
    00051
    00055 class MBDLL_DECL DeleteGeometryOperation : public Operation
    00056 {
    00057     DECLARE_CLASS;
    00058 public:
    00059     virtual ~DeleteGeometryOperation();
    00060
    00066     virtual void MarkForDeletion(
    00067         Geometry* pGeometry
    00068         );
    00069 };
    00070
    00075 class MBDLL_DECL ReplaceGeometryOperation : public Operation
    00076 {
    00077     DECLARE_CLASS;
    00078
    00079 protected:
    00080     ReplaceGeometryOperation();
    00081
    00082 public:
    00083     virtual ~ReplaceGeometryOperation();
    00084
    00088     virtual void SetGeometries(
    00089         Geometry* pOriginal,
    00090         Geometry* pNew
    00091         );
    00092 };
    00093
    00099 class MBDLL_DECL TransferDetailOperation : public mudbox::Operation
    00100 {
    00101     DECLARE_CLASS;
    00102 public:
    00103
    00106     virtual void SetSourceGeometry( Geometry* pSource );
    00107
    00109     virtual void SetTargetGeometry( Geometry* pTarget );
    00110
    00113     virtual void SetSearchDistance( float f );
    00114
    00117     virtual float SearchDistance() const;
    00118
    00120     virtual void SetTransferOntoNewLayer( bool bNewLayer );
    00121
    00123     virtual bool TransferOntoNewLayer() const;
    00124
    00126     virtual void SetTransferSculptLayers( bool bTransfer );
    00127
    00129     virtual bool TransferSculptLayers() const;
    00130
    00132     virtual void SetTransferJointWeights( bool bTransfer );
    00133
    00135     virtual bool TransferJointWeights() const;
    00136
    00139     virtual void SetSelectDirtyRegions( bool bSelect );
    00140
    00142     virtual bool SelectDirtyRegions() const;
    00143
    00146     virtual void SetTestBothSides( bool bTest );
    00147
    00149     virtual bool TestBothSides() const;
    00150
    00153     virtual void SetSearchMethod( int iMethod );
    00154
    00156     virtual int SearchMethod() const;
    00157
    00160     virtual void SetTargetSubdivisionLevel( int iLevel );
    00161
    00163     virtual int TargetSubdivisionLevel() const;
    00164
    00166     virtual QWidget *CreatePropertiesWindow(
    00167         QWidget *pParent,
    00168         bool bMinimal = false
    00169         );
    00170 };
    00171
    00172 class MBDLL_DECL TopologyChange : public mudbox::Operation
    00173 {
    00174     DECLARE_CLASS;
    00175
    00176 public:
    00177     virtual void SetMesh( Mesh* pMesh );
    00178     virtual void RemoveFace( unsigned int iFaceIndex );
    00179     virtual void InsertVertex( const Vector& vPosition, unsigned int iVertexIndex = 0xffffffff );
    00180     virtual void InsertTriangle( unsigned int iV1,
    00181                         unsigned int iV2,
    00182                         unsigned int iV3,
    00183                         bool bIsFake = false,
    00184                         unsigned int iUV1 = 0xffffffff,
    00185                         unsigned int iUV2 = 0xffffffff,
    00186                         unsigned int iUV3 = 0xffffffff,
    00187                         unsigned int iFaceIndex = 0xffffffff );
    00188 };
    00189
    00190 }; // end of namespace mudbox
    00191