Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraOrbitTurntable.h
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 // 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