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 // HOpCameraRelativeOrbit.h : interface of the HOpCameraRelativeOrbit class 00011 // orbits the camera of current view usual a virtual trackball 00012 // interface 00013 00014 #ifndef _HOPCAMERARELATIVEORBIT_H 00015 #define _HOPCAMERARELATIVEORBIT_H 00016 00017 #ifdef H_PACK_8 00018 #pragma pack(push) 00019 #pragma pack(8) 00020 #endif 00021 00022 #include "HTools.h" 00023 #include "HBaseOperator.h" 00024 #include "HOpCameraOrbit.h" 00025 00026 00028 00038 class MVO_API HOpCameraRelativeOrbit : public HOpCameraOrbit 00039 { 00040 enum TargetType { 00041 TARGET_IS_USER_DEFINED, 00042 TARGET_IS_SELECTION_DEFINED, 00043 TARGET_IS_CAMERA_TARGET, 00044 }; 00045 00046 public: 00047 00055 HOpCameraRelativeOrbit (HBaseView* view, int doRepeat=0, int doCapture=1); 00056 00057 virtual ~HOpCameraRelativeOrbit(); 00058 00062 virtual const char * GetName(); 00063 00070 virtual int OnLButtonDown(HEventInfo &hevent); 00071 00079 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00080 00081 00087 virtual HBaseOperator * Clone(); 00088 00089 00094 void SetCenter(HPoint center); 00095 00100 HPoint GetCenter(); 00101 00102 00103 private: 00104 HPoint fauxTarget; 00105 TargetType targetType; 00106 }; 00107 00108 #ifdef H_PACK_8 00109 #pragma pack(pop) 00110 #endif 00111 00112 #endif 00113 00114 00115