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: d861b6db1cbd79ccfae1f2cf74521a5f6bee541b $ 00013 // 00014 00015 // HOpCameraRelativeOrbit.h : interface of the HOpCameraRelativeOrbit class 00016 // orbits the camera of current view usual a virtual trackball 00017 // interface 00018 00019 #ifndef _HOPCAMERARELATIVEORBIT_H 00020 #define _HOPCAMERARELATIVEORBIT_H 00021 00022 #ifdef H_PACK_8 00023 #pragma pack(push) 00024 #pragma pack(8) 00025 #endif 00026 00027 #include "HTools.h" 00028 #include "HBaseOperator.h" 00029 #include "HOpCameraOrbit.h" 00030 00031 00033 00043 class MVO_API HOpCameraRelativeOrbit : public HOpCameraOrbit 00044 { 00045 enum TargetType { 00046 TARGET_IS_USER_DEFINED, 00047 TARGET_IS_SELECTION_DEFINED, 00048 TARGET_IS_CAMERA_TARGET, 00049 }; 00050 00051 public: 00052 00060 HOpCameraRelativeOrbit (HBaseView* view, int doRepeat=0, int doCapture=1); 00061 00062 virtual ~HOpCameraRelativeOrbit(); 00063 00067 virtual const char * GetName(); 00068 00075 virtual int OnLButtonDown(HEventInfo &hevent); 00076 00084 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00085 00086 00092 virtual HBaseOperator * Clone(); 00093 00094 00099 void SetCenter(HPoint center); 00100 00105 HPoint GetCenter(); 00106 00107 00108 private: 00109 HPoint fauxTarget; 00110 TargetType targetType; 00111 }; 00112 00113 #ifdef H_PACK_8 00114 #pragma pack(pop) 00115 #endif 00116 00117 #endif 00118 00119 00120