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 #ifndef _HCTRLVIEW_H 00011 #define _HCTRLVIEW_H 00012 00013 #include "HBaseView.h" 00014 #include "HUtilityShadow.h" 00015 00016 00018 typedef struct { 00019 unsigned char r; 00020 unsigned char g; 00021 unsigned char b; 00022 } RGB; 00023 00024 00025 00026 00028 00032 class HCtrlView : public HBaseView 00033 { 00034 00035 public: 00040 HCtrlView (HBaseModel * model); 00044 HCtrlView(HBaseModel *model, 00045 const char * alias, 00046 const char * driver_type, 00047 const char * instance_name, 00048 void * window_handle, 00049 void * colormap); 00050 00051 ~HCtrlView() 00052 { 00053 } 00054 00055 00059 void Init (void); 00060 00064 void CreateViewHeirarchy (void); 00065 00073 void ReconfigureView (HWND hWnd, HPALETTE hPalette, char *drivertype); 00077 void DeleteDriver (void); 00078 00079 00080 00081 00084 void FitWorld(); 00087 void FlushFromMessage(const char *in_data, unsigned int data_length); 00088 00089 00092 void DetachScene(); 00095 void AttachScene(void *h, char *drivertype); 00096 00101 void GetWindowSize(int &xmax, int &ymax); 00104 void CreateProgressWindow(); 00107 void DeleteProgressWindow(); 00111 void SetProgressWindow(int num); 00112 00116 void DoSmoothTransition(bool prepare); 00120 bool SceneDetached() { return m_bSceneDetached; } 00121 00124 void FlushScene(); 00132 void SetHasCamera(bool hascamera) { m_hasCamera = hascamera; }; 00136 bool GetHasCamera() { return m_hasCamera;}; 00137 00141 bool OperatorStarted(); 00145 // void SetShadowMode(HShadowMode shadowMode); 00146 00147 private: 00148 void ComputeShadowPlane(void); 00149 void DeleteRealDriver (void); 00150 void DeleteNullDriver (void); 00151 bool m_bRealDriver; 00152 bool m_bSceneDetached; 00153 HC_KEY m_progresskey; 00154 bool m_bBoundingBox; 00155 bool m_hasCamera; 00156 ShadowPlaneType m_shadowPlane; 00157 00158 }; 00159 00160 00161 00162 00163 00164 00165 00166 00167 00168 #endif _HCTRLVIEW_H