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: 9d1611dcd60e20f8c5e059498d24624f9aeafdef $ 00013 // 00014 00015 // HOpCameraOrbitTurntable.h : interface of the HOpCameraOrbitTurntable class 00016 // pans the camera of current view 00017 00018 #ifndef _HOpCameraOrbitTurntable_H 00019 #define _HOpCameraOrbitTurntable_H 00020 00021 #ifdef H_PACK_8 00022 #pragma pack(push) 00023 #pragma pack(8) 00024 #endif 00025 00026 #include "HTools.h" 00027 #include "HBaseOperator.h" 00028 00030 00044 class MVO_API HOpCameraOrbitTurntable : public HBaseOperator 00045 { 00046 public: 00054 HOpCameraOrbitTurntable(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00055 virtual ~HOpCameraOrbitTurntable(); 00056 00060 virtual const char * GetName(); 00061 00067 virtual int OnLButtonDown (HEventInfo &hevent); 00068 00075 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00076 00082 virtual int OnLButtonUp (HEventInfo &hevent); 00083 00089 virtual int OnMouseWheel (HEventInfo &hevent); 00090 00097 void SetLightFollowsCamera(bool follow){m_LightFollowsCamera = follow;}; 00098 00100 bool GetLightFollowsCamera(){return m_LightFollowsCamera;}; 00105 void SetCenter(HPoint center) { m_Center = center; m_bCenterPointSet = true; } 00110 void UnSetCenter() { m_bCenterPointSet = false; } 00116 virtual HBaseOperator * Clone(); 00117 00118 protected: 00119 00125 void RotateAroundAxis(HPoint axis, float rf); 00126 00127 private: 00128 00129 00130 bool m_LightFollowsCamera; 00131 bool m_bDoOnce; 00132 bool m_bCenterPointSet; 00133 HPoint m_Center; 00134 00135 }; 00136 00137 00138 #ifdef H_PACK_8 00139 #pragma pack(pop) 00140 #endif 00141 00142 #endif 00143 00144 00145 00146