Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraZoomBox.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: 1c255da758def6d2dfb12b639a3d05032d49d838 $
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