Alphabetical Class List   File List   Compound Members  

Hoops3dStreamCtrl.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 // $Header:
00013 //
00014 // Hoops3dStreamCtrl.h : Declaration of the CHoops3dStreamCtrl
00015 
00016 #ifndef __Hoops3dStreamCTRL_H_
00017 #define __Hoops3dStreamCTRL_H_
00018 
00019 #include "resource.h"       // main symbols
00020 #include <atlctl.h>
00021 #include "HUtility.h"
00022 
00023 #include "HStream.h"
00024 #include "HOpcodeHandler.h"
00025 #include "guidlist.h"
00026 #include "Vector"
00027 using namespace std;
00028  
00029 class HBaseModel;
00030 class HCtrlView;
00031 class HCtrlDB;
00032 class HBaseOperator;
00033 class CDataLoader;
00034 
00035 struct IWebBrowserApp;
00036 
00037 #ifdef HNET_SUPPORT
00038 class HNetMgr;
00039 class HNetClientMgr;
00040 #endif
00041 
00042 // msw driver options debug
00043 #define DEBUG_NO_WINDOWS_HOOK                           0x00000040
00044 #define DEBUG_FORCE_FULL_COLOR                          0x00000010
00045 #define DEBUG_SFB_COPY_TO_CLIPBOARD                     0x00004000
00046 #define DEBUG_PRINTING_MODE                                     0x00040000
00047 #define DEBUG_CLIPBOARD_MODE                            0x00080000
00048 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE        0x00020000
00049 #define DEBUG_PRINT_NOT_RASTER_REDUCTION        0x00200000
00050 
00051 #define NUM_MARKUP_LAYERS                                       5
00052 
00053 // rendering options debug
00054 #define DEBUG_NO_PAINTERS_PANELLING             0x00000008
00055 
00056 #define WMF             0
00057 #define EMF             1
00058  
00059 
00061 
00068 class ATL_NO_VTABLE CHoops3dStreamCtrl : 
00069         public CComObjectRootEx<CComSingleThreadModel>,
00070         public CStockPropImpl<CHoops3dStreamCtrl, IHoops3dStreamCtrl, &IID_IHoops3dStreamCtrl, &LIBID_Hoops3dStreamLib>,
00071         public CComControl<CHoops3dStreamCtrl>,
00072         public IPersistStreamInitImpl<CHoops3dStreamCtrl>,
00073         public IOleControlImpl<CHoops3dStreamCtrl>,
00074         public IOleObjectImpl<CHoops3dStreamCtrl>,
00075         public IOleInPlaceActiveObjectImpl<CHoops3dStreamCtrl>,
00076         public IViewObjectExImpl<CHoops3dStreamCtrl>,
00077         public IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>,
00078         public IConnectionPointContainerImpl<CHoops3dStreamCtrl>,
00079         public IPersistStorageImpl<CHoops3dStreamCtrl>,
00080         public ISpecifyPropertyPagesImpl<CHoops3dStreamCtrl>,
00081         public IQuickActivateImpl<CHoops3dStreamCtrl>,
00082         public IDataObjectImpl<CHoops3dStreamCtrl>,
00083         public IProvideClassInfo2Impl<&CLSID_Hoops3dStreamCtrl, &DIID__IHoops3dStreamCtrlEvents, &LIBID_Hoops3dStreamLib>,
00084         public IPropertyNotifySinkCP<CHoops3dStreamCtrl>,
00085         public IPersistPropertyBagImpl<CHoops3dStreamCtrl>,
00086         public CComCoClass<CHoops3dStreamCtrl, &CLSID_Hoops3dStreamCtrl>
00087 {
00088 public:
00089 
00090         CHoops3dStreamCtrl();
00091         ~CHoops3dStreamCtrl();
00092 
00093 
00094 DECLARE_PROTECT_FINAL_CONSTRUCT()
00095  
00096 BEGIN_COM_MAP(CHoops3dStreamCtrl)
00097         COM_INTERFACE_ENTRY(IHoops3dStreamCtrl)
00098         COM_INTERFACE_ENTRY(IDispatch)
00099         COM_INTERFACE_ENTRY(IViewObjectEx)
00100         COM_INTERFACE_ENTRY(IViewObject2)
00101         COM_INTERFACE_ENTRY(IViewObject)
00102         COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
00103         COM_INTERFACE_ENTRY(IOleInPlaceObject)
00104         COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
00105         COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
00106         COM_INTERFACE_ENTRY(IOleControl)
00107         COM_INTERFACE_ENTRY(IOleObject)
00108         COM_INTERFACE_ENTRY(IPersistStreamInit)
00109         COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
00110         COM_INTERFACE_ENTRY(IConnectionPointContainer)
00111         COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
00112         COM_INTERFACE_ENTRY(IQuickActivate)
00113         COM_INTERFACE_ENTRY(IPersistStorage)
00114         COM_INTERFACE_ENTRY(IDataObject)
00115         COM_INTERFACE_ENTRY(IProvideClassInfo)
00116         COM_INTERFACE_ENTRY(IProvideClassInfo2)
00117         COM_INTERFACE_ENTRY_IMPL(IPersistPropertyBag)
00118 END_COM_MAP()
00119 
00120 BEGIN_PROP_MAP(CHoops3dStreamCtrl)
00121         PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
00122         PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
00123         PROP_ENTRY("BackColor", DISPID_BACKCOLOR, CLSID_NULL)
00124         PROP_ENTRY("HWND", DISPID_HWND, CLSID_NULL)
00125         PROP_ENTRY("Filename",1, CLSID_Hoops3dStreamProperty)
00126         PROP_ENTRY("FileType",33, CLSID_NULL)
00127     PROP_PAGE(CLSID_Hoops3dStreamProperty)
00128 END_PROP_MAP()
00129 
00130 BEGIN_CONNECTION_POINT_MAP(CHoops3dStreamCtrl)
00131         CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
00132 END_CONNECTION_POINT_MAP()
00133 
00134 BEGIN_MSG_MAP(CHoops3dStreamCtrl)
00135         CHAIN_MSG_MAP(CComControl<CHoops3dStreamCtrl>)
00136         DEFAULT_REFLECTION_HANDLER()
00137         MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
00138         MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUP)
00139         MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
00140         MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
00141         MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel)
00142         COMMAND_ID_HANDLER(ID_ORBIT,OnOrbit)
00143         COMMAND_ID_HANDLER(ID_WINDOW_COLOR,OnWindowColor)
00144         COMMAND_ID_HANDLER(ID_ZOOM_DIRECT,OnZoom)
00145         COMMAND_ID_HANDLER(ID_PAN,OnPan)
00146         COMMAND_ID_HANDLER(ID_RESET,OnReset)
00147         COMMAND_ID_HANDLER(ID_ZOOM_WINDOW,OnZoomWindow)
00148         COMMAND_ID_HANDLER(ID_TOOLS_SMOOTHTRANSITION,OnSmoothTransition)
00149         COMMAND_ID_HANDLER(ID_ANNOTATE,OnAnnotate)
00150         COMMAND_ID_HANDLER(ID_ADDNOTE,OnAddNote)
00151         COMMAND_ID_HANDLER(ID_TOOLS_REDLINE,OnRedline)
00152         COMMAND_ID_HANDLER(ID_SMOOTH_SHADED,OnSmoothShaded)
00153         COMMAND_ID_HANDLER(ID_FLAT_SHADED,OnFlatShaded)
00154         COMMAND_ID_HANDLER(ID_WIREFRAME,OnWireframe)
00155         COMMAND_ID_HANDLER(ID_HIDDEN_LINE,OnHiddenLine)
00156         COMMAND_ID_HANDLER(ID_SHADOW_SMOOTH,OnShadowSmooth)
00157         COMMAND_ID_HANDLER(ID_PRINT,OnPrint)
00158         COMMAND_ID_HANDLER(ID_ANTIALIASING,OnAntialiasing)
00159         COMMAND_ID_HANDLER(ID_COPY,OnCopy)
00160         COMMAND_ID_HANDLER(ID_ABOUT_BOX,OnAboutBox)
00161         MESSAGE_HANDLER(WM_TIMER, OnTimer)
00162         MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown)
00163         MESSAGE_HANDLER(WM_KEYUP, OnKeyUp)
00164         MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
00165         MESSAGE_HANDLER(WM_EXITMENULOOP, OnExitMenuLoop)
00166 END_MSG_MAP()
00167 
00168 BEGIN_CATEGORY_MAP(CHoops3dStreamCtrl)
00169         IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
00170         IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
00171 END_CATEGORY_MAP()
00172 
00173 
00174         
00178         HWND Create( HWND hWndParent, RECT& rcPos, LPCTSTR szWindowName = NULL, DWORD dwStyle = WS_CHILD | WS_VISIBLE, DWORD dwExStyle = 0, UINT nID = 0 );
00179 
00180 // IViewObjectEx
00181         DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
00182 
00183 // IHoops3dStreamCtrl
00184 
00185 
00186         
00191         STDMETHOD(HATL_Open_Segment)(BSTR segment);
00196         STDMETHOD(Update)();
00202         STDMETHOD(HATL_Set_Rendering_Options)(BSTR rendering_options);
00207         STDMETHOD(HATL_Close_Segment)();
00212         STDMETHOD(OpenModelSegment)();
00217         STDMETHOD(OpenSceneSegment)();
00223         STDMETHOD(HATL_Set_Visibility)(BSTR vis);
00229         STDMETHOD(SetFramerateMode)(BOOL onoff);
00235         STDMETHOD(SetBackplaneCullingMode)(BOOL onoff);
00240         STDMETHOD(SetPolygonHandednessNone)();
00245         STDMETHOD(SetPolygonHandednessRight)();
00250         STDMETHOD(SetPolygonHandednessLeft)();
00255         STDMETHOD(AntialiaseScene)();
00261         STDMETHOD(SetShadowMode)(BOOL onoff);
00266         STDMETHOD(SetProjectionModeOrthographic)();
00271         STDMETHOD(SetProjectionModePerspective)();
00277         STDMETHOD(SaveRestoreMarkup)(int layernum);
00282         STDMETHOD(SetCameraToIsometric)();
00287         STDMETHOD(SetCameraToPlaneYX)();
00292         STDMETHOD(SetCameraToPlaneZY)();
00297         STDMETHOD(SetCameraToPlaneZX)();
00302         STDMETHOD(SetCameraToPlaneYZ)();
00307         STDMETHOD(SetCameraToPlaneXZ)();
00312         STDMETHOD(SetCameraToPlaneXY)();
00317         STDMETHOD(InsertCuttingPlane)();
00322         STDMETHOD(SetRenderModeHiddenLine)();
00327         STDMETHOD(SetRenderModeWireframe)();
00332         STDMETHOD(SetRenderModeGouraud)();
00337         STDMETHOD(SetRenderModeFlat)();
00342         STDMETHOD(SetRenderModeShaded)();
00348         STDMETHOD(SetOperator)(BSTR operator_name);
00353         STDMETHOD(SetBackgroundColors)(float r_top, float g_top, float b_top, float r_bottom, float g_bottom, float b_bottom, int percent);
00354 
00355 
00356 
00357  
00363         STDMETHOD(get_FileType)(/*[out, retval]*/ BSTR *pVal);
00369         STDMETHOD(put_FileType)(/*[in]*/ BSTR newVal);
00375         STDMETHOD(get_NoOrbit)(/*[out, retval]*/ BOOL *pVal);
00381         STDMETHOD(put_NoOrbit)(/*[in]*/ BOOL newVal);
00382 
00383         STDMETHOD(get_Embed)(/*[out, retval]*/ BOOL *pVal);
00389         STDMETHOD(put_Embed)(/*[in]*/ BOOL newVal);
00390 
00396         STDMETHOD(get_CameraParameters)(/*[out, retval]*/ BSTR *pVal);
00412         STDMETHOD(SetCamera)(float px, float py, float pz, float tx, float ty, float tz, float ux, float uy, float uz, float width, float height);
00417         STDMETHOD(FitWorld)();
00423         STDMETHOD(get_CurrentOperator)(/*[out, retval]*/ BSTR *pVal);
00428         STDMETHOD(AbortDownload)();
00434         STDMETHOD(get_DownloadDataMax)(/*[out, retval]*/ long *pVal);
00440         STDMETHOD(get_DownloadDataReceived)(/*[out, retval]*/ long *pVal);
00446         STDMETHOD(get_DLinProgress)(/*[out, retval]*/ BOOL *pVal);
00455         STDMETHOD(CreateSession)(BSTR Session_Name, BSTR Session_Password, BSTR Client_Name, BSTR Server_Admin_Password);
00460         STDMETHOD(DisconnectFromServer)();
00467         STDMETHOD(get_ServerIsConnected)(/*[out, retval]*/ BOOL *pVal);
00472         STDMETHOD(DisconnectFromSession)();
00478         STDMETHOD(get_ClientIsConnected)(/*[out, retval]*/ BOOL *pVal);
00485         STDMETHOD(SendChatMessage)(BSTR client, BSTR message);
00491         STDMETHOD(get_NextChatMessage)(/*[out, retval]*/ BSTR *pVal);
00497         STDMETHOD(get_ChatMessagesAvailable)(/*[out, retval]*/ long *pVal);
00503         STDMETHOD(HandleChatProcessing)(BOOL h);
00509         STDMETHOD(get_ClientListRefreshed)(/*[out, retval]*/ BOOL *pVal);
00515         STDMETHOD(get_NextClient)(/*[out, retval]*/ BSTR *pVal);
00520         STDMETHOD(StartClientEnumeration)();
00526         STDMETHOD(RequestControlToken)(BOOL req);
00532         STDMETHOD(get_HasControlToken)(/*[out, retval]*/ BOOL *pVal);
00537         STDMETHOD(StartSessionEnumeration)();
00543         STDMETHOD(get_NextSession)(/*[out, retval]*/ BSTR *pVal);
00551         STDMETHOD(JoinSession)(BSTR session_name, BSTR session_password, BSTR client_name);
00559         STDMETHOD(ConnectToServer)(BSTR Address, BSTR Port, BSTR Password);
00560 
00561 
00567         STDMETHOD(get_Filename)(/*[out, retval]*/ BSTR *pVal);
00573         STDMETHOD(put_Filename)(/*[in]*/ BSTR newVal);
00574         
00580         STDMETHOD(get_ControlActive)(/*[out, retval]*/ BOOL *pVal);
00581 
00582  
00588         HRESULT OnDraw(ATL_DRAWINFO& di);
00589 
00590  
00591         LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00592         LRESULT OnLButtonUP(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00593         LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00594         LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00595         LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00596         LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00597         LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00598         LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00599         LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00600         LRESULT OnOrbit(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00601         LRESULT OnZoom(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00602         LRESULT OnPan(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00603         LRESULT OnReset(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00604         LRESULT OnWindowColor(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00605         LRESULT OnZoomWindow(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00606         LRESULT OnSmoothTransition(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00607         LRESULT OnAnnotate(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00608         LRESULT OnAddNote(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00609         LRESULT OnRedline(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00610         LRESULT OnSmoothShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00611         LRESULT OnFlatShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00612         LRESULT OnWireframe(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00613         LRESULT OnHiddenLine(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00614         LRESULT OnShadowSmooth(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00615         LRESULT OnPrint(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00616         LRESULT OnAntialiasing(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00617         LRESULT OnCopy(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00618         LRESULT OnAboutBox(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
00619         LRESULT OnExitMenuLoop(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00620 
00621 
00626         HCtrlView* GetHoopsView();
00627 
00631         void DestroyHNetClient(); 
00632 
00633 
00634         static void ConvertToChar(char *mbstr, const wchar_t *wcstr, size_t count);
00639         bool RestoreCamera();
00644         void Set2dModel(bool modeltype);
00650         void SetNoOrbit(bool noorbit);
00651 
00652 
00653         HRESULT IPersistStreamInit_Load(LPSTREAM pStm, ATL_PROPMAP_ENTRY* pMap);
00654         HRESULT IPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, ATL_PROPMAP_ENTRY* pMap);
00655 
00656         bool                            FullyQualifyUrl (char *urlname);
00657         bool                            BreakUrl (      const char *   urlname,
00658                                  char *   scheme,
00659                                  char *   hostname,
00660                                  char *   path,
00661                                  bool &  bIsLocalFile);
00666         CDataLoader * GetDataLoader() { return m_pDataLoader; }
00667 
00668 
00669 
00673         STDMETHOD(UIDeactivate)(void)
00674         {
00675                 SendOnDataChange();
00676                 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::UIDeactivate();
00677                 return S_OK;
00678         }
00679 
00680 
00684         STDMETHOD(InPlaceDeactivate)(void)
00685         {
00686                 SendOnDataChange();
00687                 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::InPlaceDeactivate();
00688                 return S_OK;
00689         }
00690         
00694         static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
00695         {
00696                 _ATL_REGMAP_ENTRY entries[3];
00697                 
00698                 
00699                 
00700                 unsigned short key1[256];
00701                 unsigned short data1[256];
00702                 unsigned short key2[256];
00703                 unsigned short data2[256];
00704                 
00705                 FixGuid("CLSIDCTRLCLASS", CLSID_HOOPS3DSTREAMCTRL_CLASS, key1, data1);
00706                 FixGuid("CLSIDTYPELIB", CLSID_HOOPS3DSTREAMCTRL_TYPELIB, key2, data2);
00707                 
00708                 entries[0].szKey = key1;
00709                 entries[0].szData = data1;
00710                 entries[1].szKey = key2;
00711                 entries[1].szData = data2;
00712                 entries[2].szKey = 0;
00713                 entries[2].szData = 0;
00714                 
00715                 _Module.UpdateRegistryFromResource(IDR_Hoops3dStreamCTRL, 
00716                         bRegister, entries);
00717                 
00718                 return 1;
00719         }
00720         
00721 protected:
00722 
00723 
00724         HCtrlView *m_pView;                                                     
00725         HCtrlDB *m_pHDB;                                                        
00726         HBaseModel *m_pModel;                                           
00727         CDataLoader *m_pDataLoader;                                     
00728 #ifdef HNET_SUPPORT
00729         HNetMgr * m_pNetMgr;                                            
00730         HNetClientMgr *m_pNetClientMgr;                         
00731 #endif
00732         
00733         bool                            m_bMetaPrint;                   
00734         bool                            m_bFastPrint;                   
00735         bool                            m_bUseAntialiasing;             
00736         int                                     m_MetafileType;                 
00737         bool                            m_bClipboardTruecolor;  
00738         BSTR                            m_Filename;                             
00739         bool                            m_bFilenameChanged;             
00740         bool                            m_bEmbed;                               
00741     bool                                m_bIs2dModel;                   
00742     bool                                m_bNoOrbit;                     
00744         void                            DrawToMetafile (HWND hWnd, HDC hDC);
00745         void                            WriteFileToArchive (LPSTREAM pStm);             
00746         void                            ReadFileFromArchive (LPSTREAM pStm);    
00747         void                            InitModel();                    
00748         void  StartDownload();                                          
00749         void OnData (CBindStatusCallback<CHoops3dStreamCtrl>* pbsc, BYTE* pBytes, DWORD dwSize);
00750         void LocalSetOperator(HBaseOperator * NewOperator);                     
00756 private:
00757 
00758         HC_KEY                          m_activelayerkeys[NUM_MARKUP_LAYERS];
00759         int                                     m_cx, m_cy;
00760         HPoint                          m_camPosition, m_camTarget, m_camUp;
00761         HPoint                          m_window_top_color, m_window_bottom_color;
00762         int                                     m_window_percentage;
00763         float                           m_camWidth, m_camHeight;
00764         char                            m_camProjection[256];
00765         bool                            m_bCameraRestored; 
00766         IWebBrowserApp *    m_pInternetExplorer;
00767         static void FixGuid(char *in1, char *in2, unsigned short *out1, unsigned short *out2);
00768         unsigned long           MapFlags( unsigned long state );
00769         bool                            OperatorStarted();      
00770         bool IsVisible(char *geom);             
00771         bool  ContainerIsIE (void);
00772 
00773 };
00774 
00775 
00776 
00777 
00778 
00780 class TK_Custom_Bounding : public HTK_Bounding 
00781 {
00782 
00783 private:
00784 
00785         CHoops3dStreamCtrl * m_pControl;
00786 
00787 public:
00788 
00789 
00790         TK_Custom_Bounding(unsigned char opcode, CHoops3dStreamCtrl * pCtrl) : HTK_Bounding(opcode) { m_pControl = pCtrl; }
00791         
00792         TK_Status   Execute (BStreamFileToolkit & tk) alter;    
00793 };
00794 
00795 
00796 
00797 
00798 
00799 
00800 #endif //__Hoops3dStreamCTRL_H_


Copyright © 2002 Tech Soft 3D