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 #ifndef _HCTRLVIEW_H 00016 #define _HCTRLVIEW_H 00017 00018 #include "HBaseView.h" 00019 #include "HUtilityShadow.h" 00020 00021 00023 typedef struct { 00024 unsigned char r; 00025 unsigned char g; 00026 unsigned char b; 00027 } RGB; 00028 00029 00030 00031 00033 00037 class HCtrlView : public HBaseView 00038 { 00039 00040 public: 00045 HCtrlView (HBaseModel * model); 00049 HCtrlView(HBaseModel *model, 00050 const char * alias, 00051 const char * driver_type, 00052 const char * instance_name, 00053 void * window_handle, 00054 void * colormap); 00055 00056 ~HCtrlView() 00057 { 00058 } 00059 00060 00064 void Init (void); 00065 00069 void CreateViewHeirarchy (void); 00070 00078 void ReconfigureView (HWND hWnd, HPALETTE hPalette, char *drivertype); 00082 void DeleteDriver (void); 00083 00084 00085 00086 00089 void FitWorld(); 00092 void FlushFromMessage(const char *in_data, unsigned int data_length); 00093 00094 00097 void DetachScene(); 00100 void AttachScene(void *h, char *drivertype); 00101 00106 void GetWindowSize(int &xmax, int &ymax); 00109 void CreateProgressWindow(); 00112 void DeleteProgressWindow(); 00116 void SetProgressWindow(int num); 00117 00121 void DoSmoothTransition(bool prepare); 00125 bool SceneDetached() { return m_bSceneDetached; } 00126 00129 void FlushScene(); 00137 void SetHasCamera(bool hascamera) { m_hasCamera = hascamera; }; 00141 bool GetHasCamera() { return m_hasCamera;}; 00142 00146 bool OperatorStarted(); 00150 // void SetShadowMode(HShadowMode shadowMode); 00151 00152 private: 00153 void ComputeShadowPlane(void); 00154 void DeleteRealDriver (void); 00155 void DeleteNullDriver (void); 00156 bool m_bRealDriver; 00157 bool m_bSceneDetached; 00158 HC_KEY m_progresskey; 00159 bool m_bBoundingBox; 00160 bool m_hasCamera; 00161 ShadowPlaneType m_shadowPlane; 00162 00163 }; 00164 00165 00166 00167 00168 00169 00170 00171 00172 00173 #endif _HCTRLVIEW_H