00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Jonathan McGee 00008 * Side Effects Software Inc. 00009 * 477 Richmond Street West 00010 * Toronto, Ontario, M5V 3E7 00011 * Canada 00012 * 416-504-9876 00013 * 00014 * NAME: SOP Library (C++) 00015 * 00016 * COMMENTS: This class stores deltas (a GDT_Detail object) which are 00017 * used to complete an undo/redo operation for a class 00018 * derived from SOP_GDT. 00019 * Depending on the type of undo, we may apply the deltas 00020 * inversely or not on an undo. 00021 */ 00022 00023 #ifndef __SOP_UndoGDT_h__ 00024 #define __SOP_UndoGDT_h__ 00025 00026 #include "SOP_API.h" 00027 #include <UT/UT_Undo.h> 00028 #include <GDT/GDT_Detail.h> 00029 00030 class SOP_GDT; 00031 00032 enum SOP_UndoGDTType { 00033 SOP_UNDOGDTTYPE_APPLY_CURRENT_DELTA = 0, 00034 SOP_UNDOGDTTYPE_CLEAR_PERMANENT_DELTA = 1 00035 }; 00036 00037 class SOP_API SOP_UndoGDT : public UT_Undo 00038 { 00039 public: 00040 // Upon creation of a SOP_UndoGDT object, the node id 00041 // and a copy of the given GDT are stored. 00042 SOP_UndoGDT(SOP_GDT *gdtnode, 00043 GDT_Detail *delta, 00044 SOP_UndoGDTType undotype); 00045 virtual ~SOP_UndoGDT(); 00046 00047 virtual void undo(void); 00048 virtual void redo(void); 00049 00050 private: 00051 int myOpId; 00052 GDT_Detail *myDelta; 00053 SOP_UndoGDTType myUndoType; 00054 GDT_CoordinateFrames *myCoordinateFrames; 00055 }; 00056 00057 #endif
1.5.9