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 // HOpCameraOrbitTurntable.h : interface of the HOpCameraOrbitTurntable class 00011 // pans the camera of current view 00012 00013 #ifndef _HOpCameraOrbitTurntable_H 00014 #define _HOpCameraOrbitTurntable_H 00015 00016 #ifdef H_PACK_8 00017 #pragma pack(push) 00018 #pragma pack(8) 00019 #endif 00020 00021 #include "HTools.h" 00022 #include "HBaseOperator.h" 00023 00025 00039 class MVO_API HOpCameraOrbitTurntable : public HBaseOperator 00040 { 00041 public: 00049 HOpCameraOrbitTurntable(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00050 virtual ~HOpCameraOrbitTurntable(); 00051 00055 virtual const char * GetName(); 00056 00062 virtual int OnLButtonDown (HEventInfo &hevent); 00063 00070 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00071 00077 virtual int OnLButtonUp (HEventInfo &hevent); 00078 00084 virtual int OnMouseWheel (HEventInfo &hevent); 00085 00092 void SetLightFollowsCamera(bool follow){m_LightFollowsCamera = follow;}; 00093 00095 bool GetLightFollowsCamera(){return m_LightFollowsCamera;}; 00100 void SetCenter(HPoint center) { m_Center = center; m_bCenterPointSet = true; } 00105 void UnSetCenter() { m_bCenterPointSet = false; } 00111 virtual HBaseOperator * Clone(); 00112 00113 protected: 00114 00120 void RotateAroundAxis(HPoint axis, float rf); 00121 00122 private: 00123 00124 00125 bool m_LightFollowsCamera; 00126 bool m_bDoOnce; 00127 bool m_bCenterPointSet; 00128 HPoint m_Center; 00129 00130 }; 00131 00132 00133 #ifdef H_PACK_8 00134 #pragma pack(pop) 00135 #endif 00136 00137 #endif 00138 00139 00140 00141