Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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