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 * Ondrej Kos 00008 * Side Effects Software Inc 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: MSS_UVEditState.h 00015 * 00016 * COMMENTS: 00017 * This is the state for interactively editing geometry 00018 * and attributes, used with the Edit SOP. 00019 */ 00020 00021 #ifndef __MSS_UVEditState_H__ 00022 #define __MSS_UVEditState_H__ 00023 00024 #include "MSS_API.h" 00025 #include "MSS_SingleOpState.h" 00026 00027 class UT_String; 00028 class PRM_Template; 00029 class DM_Workbench; 00030 class JEDI_View; 00031 class SOP_UVEdit; 00032 00033 class MSS_API MSS_UVEditState : public MSS_SingleOpState 00034 { 00035 public: 00036 // Class constructor and destructor. 00037 MSS_UVEditState(JEDI_View &view, PI_StateTemplate &templ, 00038 BM_SceneManager *scene, const char *cursor); 00039 virtual ~MSS_UVEditState(); 00040 00041 // This constructor and parameter template list go into the 00042 // DM_StateTemplate for this state. 00043 static BM_State *ourConstructor(BM_View &view, PI_StateTemplate &templ, 00044 BM_SceneManager *scene); 00045 static PRM_Template ourTemplateList[]; 00046 00047 // The name and type of this class: 00048 virtual const char *className() const; 00049 00050 // Restart the selection... 00051 virtual void restart(); 00052 00053 virtual void stopGenerating(); 00054 00055 virtual void doneSelecting(void); 00056 00057 protected: 00058 // Events from menu or keyboard 00059 virtual int handleKeyTypeEvent(UI_Event *event, 00060 BM_Viewport &/*viewport*/); 00061 00062 // Generate the necessary nodes and connect them 00063 virtual bool generateAllNodes(); 00064 00065 // Set the state's node 00066 virtual void setNode(OP_Node *node); 00067 00068 // If this state is reselecting and it tries to reselect within the same 00069 // node then that node's unique id is returned. Otherwise, 0 is returned. 00070 virtual int nodeIdToReselectWithin() const; 00071 00072 virtual void handleSelectionTypeChange(UI_Event *event); 00073 00074 virtual bool getAllowQuickSelect() const { return true; } 00075 00076 private: 00077 SOP_UVEdit *getEditSOP() const 00078 { return (SOP_UVEdit *)BM_SingleOpState::getNode(); } 00079 00080 SOP_UVEdit *mySavedEditNode; 00081 }; 00082 00083 #endif
1.5.9