Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraRelativeOrbit.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 // 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