Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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