00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 // HOpObjectTranslate.h : interface of the HOpObjectTranslate class 00011 // translate items in the selection list of the associated view 00012 // 00013 // currently supports translation of item if it is a segment 00014 00015 #ifndef _HOPOBJECTTRANSLATE_H 00016 #define _HOPOBJECTTRANSLATE_H 00017 00018 #ifdef H_PACK_8 00019 #pragma pack(push) 00020 #pragma pack(8) 00021 #endif 00022 00023 #include "HTools.h" 00024 #include "HBaseOperator.h" 00025 00026 class HKeyList; 00027 00029 00041 class MVO_API HOpObjectTranslate : public HBaseOperator 00042 { 00043 00044 public: 00051 HOpObjectTranslate (HBaseView* view, int DoRepeat=0, int DoCapture=1); 00052 virtual ~HOpObjectTranslate(); 00053 00057 virtual const char * GetName(); 00058 00064 virtual int OnLButtonDown (HEventInfo &hevent); 00065 00072 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00073 00079 virtual int OnLButtonUp (HEventInfo &hevent); 00080 00086 virtual int OnLButtonDblClk (HEventInfo &hevent); 00087 00088 00089 HPoint m_ptRecent; 00090 HPoint m_ptRecentVP; 00096 virtual HBaseOperator * Clone(); 00097 00101 virtual void UpdateKeyList(void * data); 00102 00103 protected: 00106 void Init(); 00107 00110 void Cleanup(); 00111 00124 int GetMatrix(HEventInfo &hevent, int key_count, HC_KEY const *full_path_keys, float *matrix_out); 00125 00131 int UpdateMousePos(HEventInfo &hevent); 00132 00133 bool m_bTemporarySelection; 00134 bool m_bInitialMatrix; 00135 HKeyList * m_KeyList; 00136 HPoint m_ptLast; 00137 private: 00138 unsigned long m_cookie[2]; 00139 }; 00140 00141 00142 #ifdef H_PACK_8 00143 #pragma pack(pop) 00144 #endif 00145 00146 #endif 00147 00148 00149 00150