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 // HOpCameraManipulateTouch.h : interface of the HOpCameraManipulateTouch class 00011 // Manipulates the camera of current view usual a virtual trackball 00012 // interface 00013 00014 #ifndef _HOpCameraManipulateTouch_H 00015 #define _HOpCameraManipulateTouch_H 00016 00017 #ifdef H_PACK_8 00018 #pragma pack(push) 00019 #pragma pack(8) 00020 #endif 00021 00022 #include "HTools.h" 00023 #include "HBaseOperator.h" 00024 class HOpCameraRelativeOrbit; 00025 class HOpCameraOrbit; 00026 class HOpCameraPan; 00027 class HOpCameraZoom; 00028 class HTClient; 00029 class HEventInfo; 00031 00038 class MVO_API HOpCameraManipulateTouch : public HBaseOperator 00039 { 00040 public: 00052 HOpCameraManipulateTouch (HBaseView* view, int DoRepeat=0, int DoCapture=1, HBaseOperator *orbit = 0, HBaseOperator *pan = 0, HBaseOperator *zoom = 0, HBaseOperator *roll = 0); 00053 virtual ~HOpCameraManipulateTouch(); 00054 00056 virtual const char * GetName(); 00057 00058 00064 virtual int OnTouchesDown (HEventInfo &hevent); 00065 00066 00072 virtual int OnTouchesMove(HEventInfo &hevent); 00073 00074 00075 00081 virtual int OnTouchesUp (HEventInfo &hevent); 00082 00083 00089 virtual HBaseOperator * Clone(); 00090 00091 virtual bool OperatorStarted( void ); 00092 00093 00094 00095 00096 protected: 00097 00098 00099 HBaseOperator *m_pOrbitOperator; 00100 HBaseOperator *m_pPanOperator; 00101 HBaseOperator *m_pZoomOperator; 00102 HBaseOperator *m_pRollOperator; 00104 private: 00105 HEventInfo *m_LastEvent; 00106 float m_time; 00107 00108 }; 00109 00110 #ifdef H_PACK_8 00111 #pragma pack(pop) 00112 #endif 00113 00114 #endif 00115 00116 00117 00118