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 // HOpCameraManipulateTouch.h : interface of the HOpCameraManipulateTouch class 00016 // Manipulates the camera of current view usual a virtual trackball 00017 // interface 00018 00019 #ifndef _HOpCameraManipulateTouch_H 00020 #define _HOpCameraManipulateTouch_H 00021 00022 #ifdef H_PACK_8 00023 #pragma pack(push) 00024 #pragma pack(8) 00025 #endif 00026 00027 #include "HTools.h" 00028 #include "HBaseOperator.h" 00029 class HOpCameraRelativeOrbit; 00030 class HOpCameraOrbit; 00031 class HOpCameraPan; 00032 class HOpCameraZoom; 00033 class HTClient; 00034 class HEventInfo; 00036 00043 class MVO_API HOpCameraManipulateTouch : public HBaseOperator 00044 { 00045 public: 00057 HOpCameraManipulateTouch (HBaseView* view, int DoRepeat=0, int DoCapture=1, HBaseOperator *orbit = 0, HBaseOperator *pan = 0, HBaseOperator *zoom = 0, HBaseOperator *roll = 0); 00058 virtual ~HOpCameraManipulateTouch(); 00059 00061 virtual const char * GetName(); 00062 00063 00069 virtual int OnTouchesDown (HEventInfo &hevent); 00070 00071 00077 virtual int OnTouchesMove(HEventInfo &hevent); 00078 00079 00080 00086 virtual int OnTouchesUp (HEventInfo &hevent); 00087 00088 00094 virtual HBaseOperator * Clone(); 00095 00096 virtual bool OperatorStarted( void ); 00097 00098 00099 00100 00101 protected: 00102 00103 00104 HBaseOperator *m_pOrbitOperator; 00105 HBaseOperator *m_pPanOperator; 00106 HBaseOperator *m_pZoomOperator; 00107 HBaseOperator *m_pRollOperator; 00109 private: 00110 HEventInfo *m_LastEvent; 00111 float m_time; 00112 00113 }; 00114 00115 #ifdef H_PACK_8 00116 #pragma pack(pop) 00117 #endif 00118 00119 #endif 00120 00121 00122 00123