Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraZoomBox.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 // HOpCameraZoomBox.h : interface of the HOpCameraZoomBox class
00011 // zooms the camera based on user-defined screen-space window
00012 
00013 #ifndef _HOPCAMERAZOOMBOX_H
00014 #define _HOPCAMERAZOOMBOX_H
00015 
00016 #ifdef H_PACK_8
00017 #pragma pack(push)
00018 #pragma pack(8)
00019 #endif
00020 
00021 #include "HTools.h"
00022 #include "HOpConstructRectangle.h"
00023 
00025 
00037 class MVO_API HOpCameraZoomBox : public HOpConstructRectangle
00038 {
00039 public:
00047       HOpCameraZoomBox (HBaseView* view, int DoRepeat=0, int DoCapture=1);
00048     virtual ~HOpCameraZoomBox();
00049 
00051     virtual const char * GetName();  
00052 
00059     virtual int OnLButtonUp(HEventInfo &hevent);
00060 
00066     virtual int OnLButtonDblClk(HEventInfo &hevent);
00067     
00074     void SetLightFollowsCamera(bool follow){m_LightFollowsCamera = follow;};
00075 
00077     bool GetLightFollowsCamera(){return m_LightFollowsCamera;};
00078 
00084     virtual HBaseOperator * Clone();
00085 
00086 
00087 protected:
00088     bool ComputeReasonableTarget(HPoint & new_tar, HPoint const & min, HPoint const & max, HPoint const & tar_orig);
00089     void ComputeNewField(float & width, float & height,
00090         HPoint min, HPoint max,
00091         HPoint const & new_tar
00092         );
00093 
00094     bool    m_LightFollowsCamera;   
00095 };
00096 
00097 #ifdef H_PACK_8
00098 #pragma pack(pop)
00099 #endif
00100 
00101 #endif
00102 
00103 
00104