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$ 00013 // 00014 00015 // HOpCameraZoomBox.h : interface of the HOpCameraZoomBox class 00016 // zooms the camera based on user-defined screen-space window 00017 00018 #ifndef _HOPCAMERAZOOMBOX_H 00019 #define _HOPCAMERAZOOMBOX_H 00020 00021 #ifdef H_PACK_8 00022 #pragma pack(push) 00023 #pragma pack(8) 00024 #endif 00025 00026 #include "HTools.h" 00027 #include "HOpConstructRectangle.h" 00028 00030 00042 class MVO_API HOpCameraZoomBox : public HOpConstructRectangle 00043 { 00044 public: 00052 HOpCameraZoomBox (HBaseView* view, int DoRepeat=0, int DoCapture=1); 00053 virtual ~HOpCameraZoomBox(); 00054 00056 virtual const char * GetName(); 00057 00064 virtual int OnLButtonUp(HEventInfo &hevent); 00065 00071 virtual int OnLButtonDblClk(HEventInfo &hevent); 00072 00079 void SetLightFollowsCamera(bool follow){m_LightFollowsCamera = follow;}; 00080 00082 bool GetLightFollowsCamera(){return m_LightFollowsCamera;}; 00083 00089 virtual HBaseOperator * Clone(); 00090 00091 00092 protected: 00093 bool ComputeReasonableTarget(HPoint & new_tar, HPoint const & min, HPoint const & max, HPoint const & tar_orig); 00094 void ComputeNewField(float & width, float & height, 00095 HPoint min, HPoint max, 00096 HPoint const & new_tar 00097 ); 00098 00099 bool m_LightFollowsCamera; 00100 }; 00101 00102 #ifdef H_PACK_8 00103 #pragma pack(pop) 00104 #endif 00105 00106 #endif 00107 00108 00109