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