00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 // $Id$ 00013 // 00014 00015 // HOpObjectTranslate.h : interface of the HOpObjectTranslate class 00016 // translate items in the selection list of the associated view 00017 // 00018 // currently supports translation of item if it is a segment 00019 00020 #ifndef _HOPOBJECTTRANSLATE_H 00021 #define _HOPOBJECTTRANSLATE_H 00022 00023 #ifdef H_PACK_8 00024 #pragma pack(push) 00025 #pragma pack(8) 00026 #endif 00027 00028 #include "HTools.h" 00029 #include "HBaseOperator.h" 00030 00031 class HKeyList; 00032 00034 00046 class MVO_API HOpObjectTranslate : public HBaseOperator 00047 { 00048 00049 public: 00056 HOpObjectTranslate (HBaseView* view, int DoRepeat=0, int DoCapture=1); 00057 virtual ~HOpObjectTranslate(); 00058 00062 virtual const char * GetName(); 00063 00069 virtual int OnLButtonDown (HEventInfo &hevent); 00070 00077 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00078 00084 virtual int OnLButtonUp (HEventInfo &hevent); 00085 00091 virtual int OnLButtonDblClk (HEventInfo &hevent); 00092 00093 00094 HPoint m_ptRecent; 00095 HPoint m_ptRecentVP; 00101 virtual HBaseOperator * Clone(); 00102 00106 virtual void UpdateKeyList(void * data); 00107 00108 protected: 00111 void Init(); 00112 00115 void Cleanup(); 00116 00129 int GetMatrix(HEventInfo &hevent, int key_count, HC_KEY const *full_path_keys, float *matrix_out); 00130 00136 int UpdateMousePos(HEventInfo &hevent); 00137 00138 bool m_bTemporarySelection; 00139 bool m_bInitialMatrix; 00140 HKeyList * m_KeyList; 00141 HPoint m_ptLast; 00142 private: 00143 unsigned long m_cookie[2]; 00144 }; 00145 00146 00147 #ifdef H_PACK_8 00148 #pragma pack(pop) 00149 #endif 00150 00151 #endif 00152 00153 00154 00155