15 #ifndef __Hoops3dStreamCTRL_H_
16 #define __Hoops3dStreamCTRL_H_
20 #include "Hoops3dStream.h"
25 #include "HOpcodeHandler.h"
28 #include "Hoops3dStreamCtrlEvents.h"
38 #define WM_XML_PARSING_COMPLETE WM_USER+0x100
40 struct IWebBrowserApp;
43 #define DEBUG_NO_WINDOWS_HOOK 0x00000040
44 #define DEBUG_FORCE_FULL_COLOR 0x00000010
45 #define DEBUG_SFB_COPY_TO_CLIPBOARD 0x00004000
46 #define DEBUG_PRINTING_MODE 0x00040000
47 #define DEBUG_CLIPBOARD_MODE 0x00080000
48 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE 0x00020000
49 #define DEBUG_PRINT_NOT_RASTER_REDUCTION 0x00200000
51 #define NUM_MARKUP_LAYERS 5
53 #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
54 #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
57 #define DEBUG_NO_PAINTERS_PANELLING 0x00000008
59 #define TOGGLE_OFF(x) if(uMsg == WM_PAINT) x=0;
74 public CComObjectRootEx<CComSingleThreadModel>,
75 public CStockPropImpl<CHoops3dStreamCtrl, IHoops3dStreamCtrl, &IID_IHoops3dStreamCtrl, &LIBID_Hoops3dStreamLib>,
76 public CComControl<CHoops3dStreamCtrl>,
77 public IPersistStreamInitImpl<CHoops3dStreamCtrl>,
78 public IOleControlImpl<CHoops3dStreamCtrl>,
79 public IOleObjectImpl<CHoops3dStreamCtrl>,
80 public IOleInPlaceActiveObjectImpl<CHoops3dStreamCtrl>,
81 public IViewObjectExImpl<CHoops3dStreamCtrl>,
82 public IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>,
83 public IConnectionPointContainerImpl<CHoops3dStreamCtrl>,
84 public IPersistStorageImpl<CHoops3dStreamCtrl>,
85 public ISpecifyPropertyPagesImpl<CHoops3dStreamCtrl>,
86 public IQuickActivateImpl<CHoops3dStreamCtrl>,
87 public IDataObjectImpl<CHoops3dStreamCtrl>,
88 public IProvideClassInfo2Impl<&CLSID_Hoops3dStreamCtrl, &DIID__IHoops3dStreamCtrlEvents, &LIBID_Hoops3dStreamLib>,
89 public IPropertyNotifySinkCP<CHoops3dStreamCtrl>,
90 public IPersistPropertyBagImpl<CHoops3dStreamCtrl>,
91 public CComCoClass<CHoops3dStreamCtrl, &CLSID_Hoops3dStreamCtrl>,
92 public CProxy_IHoops3dStreamCtrlEvents< CHoops3dStreamCtrl >
100 DECLARE_PROTECT_FINAL_CONSTRUCT()
104 COM_INTERFACE_ENTRY(IDispatch)
105 COM_INTERFACE_ENTRY(IViewObjectEx)
106 COM_INTERFACE_ENTRY(IViewObject2)
107 COM_INTERFACE_ENTRY(IViewObject)
108 COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
109 COM_INTERFACE_ENTRY(IOleInPlaceObject)
110 COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
111 COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
112 COM_INTERFACE_ENTRY(IOleControl)
113 COM_INTERFACE_ENTRY(IOleObject)
114 COM_INTERFACE_ENTRY(IPersistStreamInit)
115 COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
116 COM_INTERFACE_ENTRY(IConnectionPointContainer)
117 COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
118 COM_INTERFACE_ENTRY(IQuickActivate)
119 COM_INTERFACE_ENTRY(IPersistStorage)
120 COM_INTERFACE_ENTRY(IDataObject)
121 COM_INTERFACE_ENTRY(IProvideClassInfo)
122 COM_INTERFACE_ENTRY(IProvideClassInfo2)
123 COM_INTERFACE_ENTRY_IMPL(IPersistPropertyBag)
124 COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
128 PROP_DATA_ENTRY(
"_cx", m_sizeExtent.cx, VT_UI4)
129 PROP_DATA_ENTRY(
"_cy", m_sizeExtent.cy, VT_UI4)
130 PROP_ENTRY_TYPE(
"BackColor", DISPID_BACKCOLOR, CLSID_NULL, VT_COLOR)
131 PROP_ENTRY_TYPE(
"Filename",1, CLSID_Hoops3dStreamProperty, VT_BSTR)
132 PROP_ENTRY_TYPE(
"Antialiasing",68, CLSID_Hoops3dStreamProperty, VT_BOOL)
133 PROP_ENTRY_TYPE(
"FileType",33, CLSID_Hoops3dStreamProperty, VT_BSTR)
134 PROP_ENTRY_TYPE(
"AllowMenu",69, CLSID_Hoops3dStreamProperty, VT_BOOL)
135 PROP_ENTRY_TYPE(
"HardwareAntialiasing",73, CLSID_Hoops3dStreamProperty, VT_BOOL)
136 PROP_ENTRY_TYPE(
"AxisMode",74, CLSID_Hoops3dStreamProperty, VT_BOOL)
137 PROP_ENTRY_TYPE(
"AllowEntitySelection",110, CLSID_Hoops3dStreamProperty, VT_BOOL)
138 PROP_ENTRY_TYPE(
"BhvContinuousPlay",112, CLSID_Hoops3dStreamProperty, VT_BOOL)
139 PROP_ENTRY_TYPE(
"ConfigFile",129, CLSID_Hoops3dStreamProperty, VT_BSTR)
140 PROP_ENTRY_TYPE(
"DefaultConfigFile",146, CLSID_Hoops3dStreamProperty, VT_BSTR)
141 PROP_ENTRY_TYPE(
"Key",138, CLSID_Hoops3dStreamProperty, VT_INT)
142 PROP_ENTRY_TYPE(
"String1",139, CLSID_Hoops3dStreamProperty, VT_BSTR)
143 PROP_ENTRY_TYPE(
"String2",140, CLSID_Hoops3dStreamProperty, VT_BSTR)
144 PROP_ENTRY_TYPE(
"String3",141, CLSID_Hoops3dStreamProperty, VT_BSTR)
145 PROP_ENTRY_TYPE(
"Int1",142, CLSID_Hoops3dStreamProperty, VT_INT)
146 PROP_ENTRY_TYPE(
"SegmentDL",132, CLSID_Hoops3dStreamProperty, VT_BOOL)
147 PROP_ENTRY_TYPE(
"DriverType",145, CLSID_Hoops3dStreamProperty, VT_BSTR)
148 PROP_ENTRY_TYPE(
"TransparencyOptions",152, CLSID_Hoops3dStreamProperty, VT_BSTR)
149 PROP_ENTRY_TYPE(
"AntialiasingLevel",148, CLSID_Hoops3dStreamProperty, VT_INT)
150 PROP_ENTRY_TYPE(
"CullingThreshold",149, CLSID_Hoops3dStreamProperty, VT_INT)
151 PROP_ENTRY_TYPE(
"MaximumThreshold",151, CLSID_Hoops3dStreamProperty, VT_INT)
152 PROP_ENTRY_TYPE(
"FrameRate",150, CLSID_Hoops3dStreamProperty, VT_DECIMAL)
153 PROP_ENTRY_TYPE(
"FramerateType",144, CLSID_Hoops3dStreamProperty, VT_BSTR)
154 PROP_ENTRY_TYPE(
"StaticModel",147, CLSID_Hoops3dStreamProperty, VT_BOOL)
155 PROP_ENTRY_TYPE(
"AntialiasingLevel",148, CLSID_Hoops3dStreamProperty, VT_INT)
156 PROP_PAGE(CLSID_Hoops3dStreamProperty)
160 CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
161 CONNECTION_POINT_ENTRY(DIID__IHoops3dStreamCtrlEvents)
162 END_CONNECTION_POINT_MAP()
168 TOGGLE_OFF(m_iPrintFlag);
169 COMMAND_ID_HANDLER(ID_TOOLS_OPTIMIZEMODEL, OnToolsOptimizemodel)
170 COMMAND_ID_HANDLER(ID_TOOLS_SAVEAS, OnToolsSaveas)
171 CHAIN_MSG_MAP(CComControl<CHoops3dStreamCtrl>)
172 DEFAULT_REFLECTION_HANDLER()
173 MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
174 MESSAGE_HANDLER(WM_LBUTTONDBLCLK, OnLButtonDblClk)
175 MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUP)
176 MESSAGE_HANDLER(WM_LBUTTONUP, OnRButtonUP)
177 MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
178 MESSAGE_HANDLER(WM_MOUSEACTIVATE, OnMouseActivate)
179 MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
180 MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel)
181 MESSAGE_HANDLER(WM_INPUTLANGCHANGE, OnInputLangChange)
182 MESSAGE_HANDLER(WM_INPUTLANGCHANGEREQUEST, OnInputLangChangeRequest)
183 COMMAND_ID_HANDLER(ID_FILEOPEN,OnFileOpen)
184 COMMAND_ID_HANDLER(ID_ORBIT,OnOrbit)
185 COMMAND_ID_HANDLER(ID_WINDOW_COLOR,OnWindowColor)
186 COMMAND_ID_HANDLER(ID_ZOOM_DIRECT,OnZoom)
187 COMMAND_ID_HANDLER(ID_PAN,OnPan)
188 COMMAND_ID_HANDLER(ID_RESET,OnReset)
189 COMMAND_ID_HANDLER(ID_ZOOM_WINDOW,OnZoomWindow)
190 COMMAND_ID_HANDLER(ID_TOOLS_SMOOTHTRANSITION,OnSmoothTransition)
191 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_TEXT,OnToolsVisibilityText)
192 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_LINES,OnToolsVisibilityLines)
193 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_FACES,OnToolsVisibilityFaces)
194 COMMAND_ID_HANDLER(ID_ANNOTATE,OnAnnotate)
195 COMMAND_ID_HANDLER(ID_ADDNOTE,OnAddNote)
196 COMMAND_ID_HANDLER(ID_TOOLS_REDLINE,OnRedline)
197 COMMAND_ID_HANDLER(ID_SMOOTH_SHADED,OnSmoothShaded)
198 COMMAND_ID_HANDLER(ID_FLAT_SHADED,OnFlatShaded)
199 COMMAND_ID_HANDLER(ID_WIREFRAME,OnWireframe)
200 COMMAND_ID_HANDLER(ID_HIDDEN_LINE,OnHiddenLine)
201 COMMAND_ID_HANDLER(ID_SHADOW_SMOOTH,OnShadowSmooth)
202 COMMAND_ID_HANDLER(ID_PRINT,OnPrint)
203 COMMAND_ID_HANDLER(ID_COPY,OnCopy)
204 COMMAND_ID_HANDLER(ID_ABOUT_BOX,OnAboutBox)
206 COMMAND_ID_HANDLER(ID_BHV_PLAY,OnBhvPlay)
207 COMMAND_ID_HANDLER(ID_BHV_PAUSE,OnBhvPause)
208 COMMAND_ID_HANDLER(ID_BHV_REWIND,OnBhvRewind)
210 MESSAGE_HANDLER(WM_TIMER, OnTimer)
211 MESSAGE_HANDLER(WM_KEYUP, OnKeyUp)
212 MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
213 MESSAGE_HANDLER(WM_EXITMENULOOP, OnExitMenuLoop)
214 MESSAGE_HANDLER(WM_CHAR, OnChar)
215 MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
216 MESSAGE_HANDLER(WM_XML_PARSING_COMPLETE, OnXMLParsingComplete)
221 IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
222 IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
233 STDMETHOD(HATL_Insert_Circle)(
float p1_x,
float p1_y,
float p1_z,
float p2_x,
float p2_y,
float p2_z,
float p3_x,
float p3_y,
float p3_z, HC_KEY *retkey);
236 STDMETHOD(HATL_Insert_Circle_By_Radius)(
float c_x,
float c_y,
float c_z,
float radius,
float n_x,
float n_y,
float n_z, HC_KEY *retkey);
239 STDMETHOD(HATL_Insert_Circular_Arc)(
float p1_x,
float p1_y,
float p1_z,
float p2_x,
float p2_y,
float p2_z,
float p3_x,
float p3_y,
float p3_z, HC_KEY *retkey);
242 STDMETHOD(HATL_Insert_Circular_Chord)(
float p1_x,
float p1_y,
float p1_z,
float p2_x,
float p2_y,
float p2_z,
float p3_x,
float p3_y,
float p3_z, HC_KEY *retkey);
245 STDMETHOD(HATL_Insert_Circular_Wedge)(
float p1_x,
float p1_y,
float p1_z,
float p2_x,
float p2_y,
float p2_z,
float p3_x,
float p3_y,
float p3_z, HC_KEY *retkey);
248 STDMETHOD(HATL_Insert_Cutting_Plane)(
float a,
float b,
float c,
float d, HC_KEY *retkey);
251 STDMETHOD(HATL_Insert_Cutting_Section)(
int count, VARIANT *planes_var, HC_KEY *retkey);
254 STDMETHOD(HATL_Insert_Cylinder)(
float p1_x,
float p1_y,
float p1_z,
float p2_x,
float p2_y,
float p2_z,
float r, BSTR cap, HC_KEY *retkey);
257 STDMETHOD(HATL_Insert_Ellipse)(
float c_x,
float c_y,
float c_z,
float major_x,
float major_y,
float major_z,
float minor_x,
float minor_y,
float minor_z, HC_KEY *retkey);
260 STDMETHOD(HATL_Insert_Elliptical_Arc)(
float c_x,
float c_y,
float c_z,
float major_x,
float major_y,
float major_z,
float minor_x,
float minor_y,
float minor_z,
float start,
float end, HC_KEY *retkey);
263 STDMETHOD(HATL_Insert_Grid)(BSTR type,
float o_x,
float o_y,
float o_z,
float ref1_x,
float ref1_y,
float ref1_z,
float ref2_x,
float ref2_y,
float ref2_z,
int count1,
int count2, HC_KEY *retkey);
266 STDMETHOD(HATL_Insert_Image)(
float x,
float y,
float z, BSTR format,
int width,
int height, VARIANT *pixeldata_var, HC_KEY *retkey);
269 STDMETHOD(HATL_Insert_Ink)(
float x,
float y,
float z, HC_KEY *retkey);
272 STDMETHOD(HATL_Insert_Line)(
float xa,
float ya,
float za,
float xb,
float yb,
float zb, HC_KEY *retkey);
275 STDMETHOD(HATL_Insert_Distant_Light)(
float di,
float dj,
float dk, HC_KEY *retkey);
278 STDMETHOD(HATL_Insert_Local_Light)(
float x,
float y,
float z, HC_KEY *retkey);
281 STDMETHOD(HATL_Insert_Spot_Light)(
float p_x,
float p_y,
float p_z,
float t_x,
float t_y,
float t_z, BSTR list, HC_KEY *retkey);
284 STDMETHOD(HATL_Insert_Marker)(
float x,
float y,
float z, HC_KEY *retkey);
287 STDMETHOD(HATL_Insert_Mesh)(
int rows,
int columns, VARIANT * points, HC_KEY *retkey);
290 STDMETHOD(HATL_Insert_NURBS_Curve)(
int degree,
int cpcount, VARIANT *cpoints_var, VARIANT *weights_var, VARIANT *knots_var,
float start_u,
float end_u, HC_KEY *retkey);
293 STDMETHOD(HATL_Insert_NURBS_Surface)(
int u_degree,
int v_degree,
int u_count,
int v_count, VARIANT *points_var, VARIANT *weights_var, VARIANT *u_knots_var, VARIANT *v_knots_var, HC_KEY *retkey);
296 STDMETHOD(HATL_Insert_Polycylinder)(
int pcount, VARIANT * points_var,
int r_count, VARIANT *radii_var, BSTR capping, HC_KEY *retkey);
299 STDMETHOD(HATL_Insert_Polygon)(
int count, VARIANT *points_var, HC_KEY *retkey);
302 STDMETHOD(HATL_Insert_Polyline)(
int count, VARIANT *points_var, HC_KEY *retkey);
305 STDMETHOD(HATL_Insert_Shell)(
int npoints, VARIANT * arr,
int flen, VARIANT *arr2, HC_KEY *retkey);
308 STDMETHOD(HATL_Insert_Shell_By_Tristrips)(
int pcount, VARIANT *points_var,
int tlen, VARIANT *tlist_var,
int flen, VARIANT *flist_var, HC_KEY *retkey);
311 STDMETHOD(HATL_Insert_Shell_From_Region)(HC_KEY key1,
int region, BSTR options, HC_KEY *retkey);
314 STDMETHOD(HATL_Insert_Sphere)(
float c_x,
float c_y,
float c_z,
float radius,
float a_x,
float a_y,
float a_z,
float o_x,
float o_y,
float o_z, HC_KEY *retkey);
317 STDMETHOD(HATL_Insert_Text)(
float x,
float y,
float z, BSTR text, HC_KEY *retkey);
320 STDMETHOD(HATL_Insert_Text_With_Encoding)(
float x,
float y,
float z, BSTR encoding, VARIANT *text, HC_KEY *retkey);
323 STDMETHOD(HATL_Insert_Unicode_Text)(
float x,
float y,
float z, VARIANT *text, HC_KEY *retkey);
330 STDMETHOD(HATL_Open_Segment)(BSTR segment, HC_KEY *retkey);
333 STDMETHOD(HATL_Close_Segment)();
336 STDMETHOD(HATL_Open_Geometry)(HC_KEY key);
339 STDMETHOD(HATL_Close_Geometry)();
342 STDMETHOD(HATL_Open_Face)(
int offset);
345 STDMETHOD(HATL_Close_Face)();
348 STDMETHOD(HATL_Open_Edge)(
int offset1,
int offset2);
351 STDMETHOD(HATL_Close_Edge)();
354 STDMETHOD(HATL_Include_Segment)(BSTR segment, HC_KEY *retkey);
357 STDMETHOD(HATL_Delete_By_Key)(HC_KEY key);
360 STDMETHOD(HATL_Flush_Contents)(BSTR segment, BSTR filter);
367 STDMETHOD(HATL_Set_Camera)(
float p_x,
float p_y,
float p_z,
float t_x,
float t_y,
float t_z,
float u_x,
float u_y,
float u_z,
float width,
float height, BSTR projection);
370 STDMETHOD(HATL_Set_Camera_By_Volume)(BSTR projection,
float xmin,
float xmax,
float ymin,
float ymax);
373 STDMETHOD(HATL_Set_Camera_Field)(
float width,
float height);
376 STDMETHOD(HATL_Set_Camera_Near_Limit)(
float wlimit);
379 STDMETHOD(HATL_Set_Camera_Position)(
float p_x,
float p_y,
float p_z);
382 STDMETHOD(HATL_Set_Camera_Projection)(BSTR projection);
385 STDMETHOD(HATL_Set_Camera_Target)(
float t_x,
float t_y,
float t_z);
388 STDMETHOD(HATL_Set_Camera_Up_Vector)(
float u_x,
float u_y,
float u_z);
391 STDMETHOD(HATL_Set_Circular_Center)(
float x,
float y,
float z);
394 STDMETHOD(HATL_Set_Circular_Center_By_Key)(HC_KEY key,
float x,
float y,
float z);
397 STDMETHOD(HATL_Set_Color)(BSTR col);
400 STDMETHOD(HATL_Set_Color_By_FIndex)(BSTR types,
float findex);
403 STDMETHOD(HATL_Set_Color_By_Index)(BSTR types,
int index);
406 STDMETHOD(HATL_Set_Color_By_Value)(BSTR types, BSTR colspace,
float a,
float b,
float c);
409 STDMETHOD(HATL_Set_Color_Map)(BSTR col);
412 STDMETHOD(HATL_Set_Color_Map_By_Value)(BSTR col,
int count, VARIANT *values_var);
415 STDMETHOD(HATL_Set_Conditions)(BSTR conditions);
418 STDMETHOD(HATL_Set_Driver_Options)(BSTR driver_options);
421 STDMETHOD(HATL_Set_Edge_Pattern)(BSTR pattern);
424 STDMETHOD(HATL_Set_Edge_Weight)(
float weight);
427 STDMETHOD(HATL_Set_Face_Pattern)(BSTR pattern);
430 STDMETHOD(HATL_Set_Faces)(
int first_face,
int face_count);
433 STDMETHOD(HATL_Set_Handedness)(BSTR handedness);
436 STDMETHOD(HATL_Set_Heuristics)(BSTR heuristics);
439 STDMETHOD(HATL_Set_Line_Pattern)(BSTR pattern);
442 STDMETHOD(HATL_Set_Line_Weight)(
float weight);
445 STDMETHOD(HATL_Set_Marker_Size)(
float weight);
448 STDMETHOD(HATL_Set_Marker_Symbol)(BSTR symbol);
451 STDMETHOD(HATL_Set_Modelling_Matrix)(VARIANT *matrix_var);
454 STDMETHOD(HATL_Set_Normal)(
float x,
float y,
float z);
457 STDMETHOD(HATL_Set_Parameter)(
int number, VARIANT *parameters_var);
460 STDMETHOD(HATL_Set_Polygonal_Clip_Region)(
int count, VARIANT *points_var, BSTR options);
463 STDMETHOD(HATL_Set_Priority)(HC_KEY key,
long priority);
466 STDMETHOD(HATL_Set_Region)(
int region);
469 STDMETHOD(HATL_Set_Rendering_Options)(BSTR rendering_options);
472 STDMETHOD(HATL_Set_Selectability)(BSTR list);
475 STDMETHOD(HATL_Set_Streaming_Mode)(BSTR flag);
478 STDMETHOD(HATL_Set_Text_Alignment)(BSTR locater);
481 STDMETHOD(HATL_Set_Text_Font)(BSTR text_font);
484 STDMETHOD(HATL_Set_Text_Path)(
float x,
float y,
float z);
487 STDMETHOD(HATL_Set_Text_Region)(
int pCount, VARIANT *points_var, BSTR options);
490 STDMETHOD(HATL_Set_Text_Spacing)(
float spacing);
493 STDMETHOD(HATL_Set_Texture_Matrix)(VARIANT *matrix_var);
496 STDMETHOD(HATL_Set_Trim_Operation)(
int index, BSTR operation);
499 STDMETHOD(HATL_Set_Unicode_Options)(VARIANT *options_var);
502 STDMETHOD(HATL_Set_User_Index)(
int index, VARIANT *data_var);
505 STDMETHOD(HATL_Set_User_Options)(BSTR list);
514 STDMETHOD(HATL_Set_Visibility)(BSTR vis);
517 STDMETHOD(HATL_Set_Variable_Edge_Weight)(BSTR weight);
520 STDMETHOD(HATL_Set_Variable_Line_Weight)(BSTR weight);
523 STDMETHOD(HATL_Set_Variable_Marker_Size)(BSTR weight);
526 STDMETHOD(HATL_Set_Window)(
float left,
float right,
float bottom,
float top);
529 STDMETHOD(HATL_Set_Window_Frame)(BSTR flag);
532 STDMETHOD(HATL_Set_Window_Pattern)(BSTR pattern);
539 STDMETHOD(HATL_UnSet_Camera)();
542 STDMETHOD(HATL_UnSet_Color)();
545 STDMETHOD(HATL_UnSet_Color_Map)();
548 STDMETHOD(HATL_UnSet_Driver_Options)();
551 STDMETHOD(HATL_UnSet_Edge_Pattern)();
554 STDMETHOD(HATL_UnSet_Edge_Weight)();
557 STDMETHOD(HATL_UnSet_Face_Pattern)();
560 STDMETHOD(HATL_UnSet_Handedness)();
563 STDMETHOD(HATL_UnSet_Heuristics)();
566 STDMETHOD(HATL_UnSet_Line_Pattern)();
569 STDMETHOD(HATL_UnSet_Line_Weight)();
572 STDMETHOD(HATL_UnSet_Marker_Size)();
575 STDMETHOD(HATL_UnSet_Marker_Symbol)();
578 STDMETHOD(HATL_UnSet_Modelling_Matrix)();
581 STDMETHOD(HATL_UnSet_Normal)();
584 STDMETHOD(HATL_UnSet_One_Color)(BSTR which);
587 STDMETHOD(HATL_UnSet_One_Driver_Option)(BSTR which);
590 STDMETHOD(HATL_UnSet_One_Heuristic)(BSTR which);
593 STDMETHOD(HATL_UnSet_One_Rendering_Option)(BSTR which);
596 STDMETHOD(HATL_UnSet_One_Selectability)(BSTR which);
599 STDMETHOD(HATL_UnSet_One_Text_Font)(BSTR which);
602 STDMETHOD(HATL_UnSet_One_User_Index)(
long which);
605 STDMETHOD(HATL_UnSet_One_User_Option)(BSTR which);
608 STDMETHOD(HATL_UnSet_One_Visibility)(BSTR which);
611 STDMETHOD(HATL_UnSet_Parameter)();
614 STDMETHOD(HATL_UnSet_Rendering_Options)();
617 STDMETHOD(HATL_UnSet_Selectability)();
620 STDMETHOD(HATL_UnSet_Streaming_Mode)();
623 STDMETHOD(HATL_UnSet_Text_Alignment)();
626 STDMETHOD(HATL_UnSet_Text_Font)();
629 STDMETHOD(HATL_UnSet_Text_Path)();
632 STDMETHOD(HATL_UnSet_Text_Spacing)();
635 STDMETHOD(HATL_UnSet_Texture_Matrix)();
638 STDMETHOD(HATL_UnSet_User_Options)();
641 STDMETHOD(HATL_UnSet_Visibility)();
644 STDMETHOD(HATL_UnSet_Window)();
647 STDMETHOD(HATL_UnSet_Window_Frame)();
650 STDMETHOD(HATL_UnSet_Window_Pattern)();
657 STDMETHOD(HATL_Define_Alias)(BSTR name, BSTR expansion);
660 STDMETHOD(HATL_Define_Color_Name)(BSTR name, BSTR er_name, BSTR ish_name, BSTR definition);
663 STDMETHOD(HATL_Define_Font)(BSTR name, BSTR options,
int data_length, VARIANT *data_var);
666 STDMETHOD(HATL_Define_Glyph)(BSTR name,
int data_size, BSTR data);
669 STDMETHOD(HATL_Define_Line_Style)(BSTR name, BSTR definition);
672 STDMETHOD(HATL_Define_Local_Texture)(BSTR name, BSTR definition);
675 STDMETHOD(HATL_Define_System_Options)(BSTR list);
678 STDMETHOD(HATL_Define_Texture)(BSTR name, BSTR definition);
685 STDMETHOD(HATL_Show_Color)(BSTR *color_spec);
688 STDMETHOD(HATL_Show_Alias)(BSTR alias, BSTR *expansion);
691 STDMETHOD(HATL_Show_Button)(BSTR *button);
694 STDMETHOD(HATL_Show_Button_Source)();
704 STDMETHOD(get_HasModelStructureInfo)( BOOL *pVal);
713 STDMETHOD(SetSelectionMarkerColor)(
float r,
float g,
float b,
float a);
722 STDMETHOD(SetSelectionEdgeColor)(
float r,
float g,
float b,
float a);
731 STDMETHOD(SetSelectionFaceColor)(
float r,
float g,
float b,
float a);
737 STDMETHOD(get_SmoothTransitionMode)( BOOL *pVal);
743 STDMETHOD(put_SmoothTransitionMode)( BOOL newVal);
749 STDMETHOD(get_DataNavigatorMode)( BOOL *pVal);
755 STDMETHOD(get_UndoAvailable)( BOOL *pVal);
761 STDMETHOD(get_RedoAvailable)( BOOL *pVal);
767 STDMETHOD(put_DataNavigatorMode)( BOOL newVal);
773 STDMETHOD(put_ConfigFile)(BSTR newVal);
779 STDMETHOD(get_ConfigFile)(BSTR *newVal);
785 STDMETHOD(put_DefaultConfigFile)(BSTR newVal);
787 STDMETHOD(put_SegmentDL)( BOOL newVal);
788 STDMETHOD(get_SegmentDL)( BOOL *pVal);
795 STDMETHOD(get_TransparencyOptions)(BSTR *newVal);
796 STDMETHOD(put_TransparencyOptions)(BSTR newVal);
803 STDMETHOD(get_DriverType)(BSTR *newVal);
804 STDMETHOD(put_DriverType)(BSTR newVal);
810 STDMETHOD(put_FramerateType)(BSTR newVal);
811 STDMETHOD(get_FramerateType)(BSTR *pVal);
818 STDMETHOD(put_CullingThreshold)(
int newVal);
819 STDMETHOD(get_CullingThreshold)(
int *pVal);
826 STDMETHOD(put_MaximumThreshold)(
int newVal);
827 STDMETHOD(get_MaximumThreshold)(
int *pVal);
834 STDMETHOD(get_DefaultConfigFile)(BSTR *newVal);
839 STDMETHOD(ShowOptionsDialog)();
847 STDMETHOD(GetPathFromIndex)(
int index, BSTR *pPath);
854 STDMETHOD(KeyToIndex)( BSTR key,
int* pIndex);
861 STDMETHOD(get_CuttingPlaneStatus)(BSTR name, BOOL *pVal);
867 STDMETHOD(Run)(BSTR command);
873 STDMETHOD(get_ProjectionMode)( BSTR *pVal);
879 STDMETHOD(put_ProjectionMode)( BSTR newVal);
885 STDMETHOD(put_SoftwareRendering)( BOOL newVal);
891 STDMETHOD(get_SoftwareRendering)( BOOL *pVal);
898 STDMETHOD(Select)(BSTR key);
904 STDMETHOD(SelectFromIdentifier)(
int identifier);
910 STDMETHOD(SelectFromPath)(BSTR path);
917 STDMETHOD(AddFileType)(BSTR filetype);
925 STDMETHOD(FilterIdentifier)(
int oldidentifier,
int *newidentifier);
933 STDMETHOD(GenerateNavigationInfo)(
int level, BSTR *filepath);
940 STDMETHOD(GenerateNavigationInfoFromNodePath)(BSTR nodepath, BSTR *filepath);
946 STDMETHOD(ShowPageSetupDialog)();
951 STDMETHOD(ShowPrintDialog)();
957 STDMETHOD(CopyToClipboard)();
962 STDMETHOD(ShowFileSaveDialog)();
970 STDMETHOD(ShowFileOpenDialog)();
977 STDMETHODIMP SetRenderMode(BSTR rendermode);
987 STDMETHOD(ShowCuttingPlane)(BSTR name, BOOL onoff);
993 STDMETHOD(BhvPlay)();
998 STDMETHOD(FlushScene)();
1004 STDMETHOD(BhvPause)();
1009 STDMETHOD(BhvRewind)();
1015 STDMETHOD(OpenModelSegment)();
1020 STDMETHOD(OpenSceneSegment)();
1027 STDMETHOD(SetFramerateMode)(BOOL onoff);
1033 STDMETHOD(SetBackplaneCullingMode)(BOOL onoff);
1038 STDMETHOD(SetPolygonHandednessNone)();
1043 STDMETHOD(SetPolygonHandednessRight)();
1048 STDMETHOD(SetPolygonHandednessLeft)();
1053 STDMETHOD(AntialiasScene)();
1059 STDMETHOD(SetShadowMode)(BOOL onoff);
1064 STDMETHOD(SetProjectionModeOrthographic)();
1069 STDMETHOD(SetProjectionModePerspective)();
1075 STDMETHOD(SaveRestoreMarkup)(
int layernum);
1080 STDMETHOD(SetCameraToIsometric)();
1085 STDMETHOD(SetCameraToPlaneYX)();
1090 STDMETHOD(SetCameraToPlaneZY)();
1095 STDMETHOD(SetCameraToPlaneZX)();
1100 STDMETHOD(SetCameraToPlaneYZ)();
1105 STDMETHOD(SetCameraToPlaneXZ)();
1110 STDMETHOD(SetViewAxis)(
float fx,
float fy,
float fz,
1111 float tx,
float ty,
float tz);
1115 STDMETHOD(SetCameraToPlaneXY)();
1120 STDMETHOD(InsertCuttingPlane)();
1125 STDMETHOD(SetRenderModeHiddenLine)();
1130 STDMETHOD(SetRenderModeWireframe)();
1135 STDMETHOD(SetRenderModeGouraud)();
1140 STDMETHOD(SetRenderModeGouraudWithEdges)();
1145 STDMETHOD(SetRenderModeFlat)();
1150 STDMETHOD(SetRenderModeShaded)();
1156 STDMETHOD(SetOperator)(BSTR operator_name);
1161 STDMETHOD(SetBackgroundColors)(
float r_top,
float g_top,
float b_top,
float r_bottom,
float g_bottom,
float b_bottom,
int percent);
1167 STDMETHOD(SetAmbientColor)(
float r_top,
float g_top,
float b_top);
1175 STDMETHOD(get_AllowMenu)( BOOL *pVal);
1181 STDMETHOD(put_AllowMenu)( BOOL newVal);
1189 STDMETHOD(get_FileType)( BSTR *pVal);
1195 STDMETHOD(put_FileType)( BSTR newVal);
1201 STDMETHOD(get_NoOrbit)( BOOL *pVal);
1207 STDMETHOD(put_NoOrbit)( BOOL newVal);
1214 STDMETHOD(get_Antialiasing)( BOOL *pVal);
1221 STDMETHOD(put_Antialiasing)( BOOL newVal);
1224 STDMETHOD(get_FrameRate)(
float *pVal);
1231 STDMETHOD(put_FrameRate)(
float newVal);
1239 STDMETHOD(put_HardwareAntialiasing)( BOOL newVal);
1245 STDMETHOD(get_HardwareAntialiasing)( BOOL *pVal);
1252 STDMETHOD(put_AllowEntitySelection)( BOOL newVal);
1258 STDMETHOD(get_AllowEntitySelection)( BOOL *pVal);
1267 STDMETHOD(put_BhvContinuousPlay)( BOOL newVal);
1274 STDMETHOD(get_BhvContinuousPlay)( BOOL *pVal);
1282 STDMETHOD(put_AxisMode)( BOOL newVal);
1288 STDMETHOD(get_AxisMode)( BOOL *pVal);
1295 STDMETHOD(get_Key)( LONG *pVal);
1302 STDMETHOD(get_String1)( BSTR *pVal);
1303 STDMETHOD(get_String2)( BSTR *pVal);
1304 STDMETHOD(get_String3)( BSTR *pVal);
1305 STDMETHOD(get_Int1)(
int *pVal);
1312 STDMETHOD(get_Embed)( BOOL *pVal);
1325 STDMETHOD(put_AntialiasingLevel)(
int newVal);
1326 STDMETHOD(get_AntialiasingLevel)(
int *pVal);
1333 STDMETHOD(put_StaticModel)( BOOL newVal);
1334 STDMETHOD(get_StaticModel)( BOOL *pVal);
1341 STDMETHOD(put_Embed)( BOOL newVal);
1348 STDMETHOD(get_CameraParameters)( BSTR *pVal);
1364 STDMETHOD(SetCamera)(
float px,
float py,
float pz,
float tx,
float ty,
float tz,
float ux,
float uy,
float uz,
float width,
float height);
1369 STDMETHOD(FitWorld)();
1375 STDMETHOD(get_CurrentOperator)( BSTR *pVal);
1382 STDMETHOD(get_ModelStructureTypeList)( BSTR *pVal);
1388 STDMETHOD(AbortDownload)();
1394 STDMETHOD(get_DownloadDataMax)(
long *pVal);
1400 STDMETHOD(get_DownloadDataReceived)(
long *pVal);
1406 STDMETHOD(get_DLinProgress)( BOOL *pVal);
1418 STDMETHOD(get_Filename)( BSTR *pVal);
1425 STDMETHOD(put_Filename)( BSTR newVal);
1434 STDMETHOD(put_FlushOnLoad)( BOOL newVal);
1443 STDMETHOD(get_FlushOnLoad)( BOOL *pVal);
1450 STDMETHOD(put_ModelStructureFilter)( BSTR newVal);
1457 STDMETHOD(get_ControlActive)( BOOL *pVal);
1463 STDMETHOD(get_IsPlaying)( BOOL *pVal);
1469 STDMETHOD (BhvActivateAllAnimations)();
1474 STDMETHOD (BhvDeactivateAllAnimations)();
1481 STDMETHOD (BhvActivateAnimation)(BSTR animationname, BOOL allowPartial);
1488 STDMETHOD (BhvDeactivateAnimation)(BSTR animationname, BOOL allowPartial);
1494 STDMETHOD (BhvStartAnimation)(BSTR animationname);
1500 STDMETHOD (BhvStopAnimation)(BSTR animationname);
1506 STDMETHOD (BhvRewindAnimation)(BSTR animationname);
1514 STDMETHOD(BhvSetInfinitePlay)(BOOL onoff);
1523 STDMETHOD(ConfigureFromFile)();
1528 HWND Create( HWND hWndParent, RECT& rcPos, LPCTSTR szWindowName = NULL, DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_OVERLAPPED, DWORD dwExStyle = 0, UINT nID = 0 );
1531 DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
1542 HRESULT OnDraw(ATL_DRAWINFO& di);
1552 bool GetConfigProperty(
char *tagname,
char *propertyname,
char *result, vlist_s *configurationlist = 0);
1558 HUtilityXMLTag * GetConfigTag(
char *tagname);
1568 bool ReadConfigFile(
char *ConfigFile,
struct vlist_s *ConfigurationList);
1583 static void ConvertToChar(
char *mbstr,
const wchar_t *wcstr,
size_t count);
1590 static void ConvertToBSTR(
wchar_t *wcstr,
const char *mbstr,
size_t count) ;
1595 bool RestoreCamera();
1600 void Set2dModel(
bool modeltype);
1606 void SetNoOrbit(
bool noorbit);
1618 static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
1620 _ATL_REGMAP_ENTRY entries[3];
1629 FixGuid(
"CLSIDCTRLCLASS", CLSID_HOOPS3DSTREAMCTRL_CLASS, key1, data1);
1630 FixGuid(
"CLSIDTYPELIB", CLSID_HOOPS3DSTREAMCTRL_TYPELIB, key2, data2);
1632 entries[0].szKey = key1;
1633 entries[0].szData = data1;
1634 entries[1].szKey = key2;
1635 entries[1].szData = data2;
1636 entries[2].szKey = 0;
1637 entries[2].szData = 0;
1639 _Module.UpdateRegistryFromResource(IDR_Hoops3dStreamCTRL,
1640 bRegister, entries);
1653 HRESULT ShowFileDialog(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1661 static HRESULT ShowFileDialog2(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1670 static HRESULT ShowFileSaveDialog(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1673 static void *XMLCallback(HUtilityXMLTag *xt,
bool open,
void *m_pExtraData);
1679 void SerializeConfiguration();
1681 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1687 STDMETHOD(UIDeactivate)(void)
1690 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::UIDeactivate();
1698 STDMETHOD(InPlaceDeactivate)(void)
1701 CComPtr<IOleInPlaceObject> pIPO;
1702 ControlQueryInterface(__uuidof(IOleInPlaceObject), (
void**)&pIPO);
1704 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::InPlaceDeactivate();
1710 m_bInPlaceActive = FALSE;
1717 if (::IsWindow(m_hWndCD))
1722 if (m_spInPlaceSite)
1723 m_spInPlaceSite->OnInPlaceDeactivate();
1728 STDMETHOD(Close)(DWORD dwSaveOption)
1730 CComPtr<IOleInPlaceObject> pIPO;
1731 ControlQueryInterface(__uuidof(IOleInPlaceObject), (
void**)&pIPO);
1733 return IOleObjectImpl<CHoops3dStreamCtrl>::Close(dwSaveOption);
1741 if ((dwSaveOption == OLECLOSE_SAVEIFDIRTY ||
1742 dwSaveOption == OLECLOSE_PROMPTSAVE) && m_bRequiresSave)
1745 m_spClientSite->SaveObject();
1749 m_spInPlaceSite.Release();
1750 m_bNegotiatedWnd = FALSE;
1752 m_bInPlaceSiteEx = FALSE;
1753 m_spAdviseSink.Release();
1758 LRESULT OnInputLangChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1759 LRESULT OnInputLangChangeRequest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1760 LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1761 LRESULT OnLButtonDblClk(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1762 LRESULT OnLButtonUP(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1763 LRESULT OnRButtonUP(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1764 LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1765 LRESULT OnMouseActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1766 LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1767 LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1768 LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1769 LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1770 LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1771 LRESULT OnOrbit(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1772 LRESULT OnFileOpen(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1773 LRESULT OnZoom(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1774 LRESULT OnPan(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1775 LRESULT OnReset(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1776 LRESULT OnWindowColor(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1777 LRESULT OnZoomWindow(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1778 LRESULT OnSmoothTransition(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1779 LRESULT OnToolsVisibilityText(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1780 LRESULT OnToolsVisibilityLines(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1781 LRESULT OnToolsVisibilityFaces(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1782 LRESULT OnAnnotate(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1783 LRESULT OnAddNote(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1784 LRESULT OnRedline(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1785 LRESULT OnSmoothShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1786 LRESULT OnFlatShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1787 LRESULT OnWireframe(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1788 LRESULT OnHiddenLine(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1789 LRESULT OnShadowSmooth(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1791 LRESULT OnPrint(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1792 LRESULT OnCopy(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1793 LRESULT OnAboutBox(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1794 LRESULT OnExitMenuLoop(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1795 LRESULT OnBhvPlay(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1796 LRESULT OnBhvPause(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1797 LRESULT OnBhvRewind(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1798 LRESULT OnXMLParsingComplete(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1801 HRESULT IPersistStreamInit_Load(LPSTREAM pStm,
const ATL_PROPMAP_ENTRY* pMap);
1802 HRESULT IPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty,
const ATL_PROPMAP_ENTRY* pMap);
1804 bool FullyQualifyUrl (
char *urlname);
1805 bool FullyQualifyUnicodeUrl (BSTR urlname);
1806 bool BreakUrl (
const char * urlname,
1810 bool & bIsLocalFile);
1811 bool BreakUnicodeUrl (
const wchar_t * urlname,
1815 bool & bIsLocalFile);
1826 STDMETHOD(put_LocalFilename)( BSTR newVal);
1851 void DrawToMetafile (HWND hWnd, HDC hDC);
1852 void WriteFileToArchive (LPSTREAM pStm);
1853 void ReadFileFromArchive (LPSTREAM pStm);
1855 void StartDownload();
1856 void OnData (CBindStatusCallback<CHoops3dStreamCtrl>* pbsc, BYTE* pBytes, DWORD dwSize);
1859 bool SaveFile( LPCTSTR csFilePathName );
1873 void GetPointArrayFromVariant(VARIANT * varKeys,
HPoint **array,
int &length);
1880 void GetFloatArrayFromVariant(VARIANT * varKeys,
float **array,
int &length);
1887 void GetByteArrayFromVariant(VARIANT * varKeys,
char **array,
int &length);
1896 void GetArrayFromVariant(VARIANT * varKeys,
float **arrayfloat,
int **arrayint,
char **arraychar,
int &length);
1904 void GetArrayFromVariant2(VARIANT * varKeys,
void **ret_array,
char *type,
int &length);
1911 void GetIntegerArrayFromVariant(VARIANT * varKeys,
int **arrayint,
int &length);
1919 void GetShortArrayFromVariant(VARIANT * varKeys,
short **arrayshort,
int &length);
1927 static bool signal_selected(
int signal,
void *signal_data,
void *user_data);
1931 bool OnSignalSelected();
1936 static bool signal_deselected_all(
int signal,
void *signal_data,
void *user_data);
1940 bool OnSignalDeSelectedAll();
1954 HPALETTE m_pPalette;
1955 HC_KEY m_activelayerkeys[NUM_MARKUP_LAYERS];
1957 HPoint m_camPosition, m_camTarget, m_camUp;
1958 HPoint m_window_top_color, m_window_bottom_color, m_ambient_color;
1959 float m_camWidth, m_camHeight;
1960 char m_camProjection[256];
1961 bool m_bCameraRestored;
1962 IWebBrowserApp * m_pInternetExplorer;
1963 static void FixGuid(
char *in1,
char *in2,
wchar_t *out1,
wchar_t *out2);
1964 unsigned long MapFlags(
unsigned long state );
1965 bool OperatorStarted();
1966 bool IsVisible(
char *geom);
1967 bool ContainerIsIE (
void);
1968 bool m_bJustCreated;
1971 char m_DriverType[4096];
1972 char m_TransparencyOptions[4096];
1973 char m_ConfigFile[4096];
1974 char m_DefaultConfigFile[4096];
1976 long m_CookieSelected;
1977 long m_CookieDeSelectedAll;
1978 bool m_bContinuousPlay;
1981 bool m_bDataNavigatorMode;
1987 bool m_bFlushOnLoad;
1988 bool m_bFileOpenActive;
1990 bool m_bStaticModel;
1991 int m_AntialiasingLevel;
1992 int m_CullingThreshold;
1993 int m_MaximumThreshold;
1995 LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1997 LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
2000 DefWindowProc(uMsg, wParam, lParam);
2003 LRESULT OnToolsOptimizemodel(WORD , WORD , HWND , BOOL& );
2004 LRESULT OnToolsSaveas(WORD , WORD , HWND , BOOL& );
2007 static bool menuActive;
2009 static void create_mouse_hook(HINSTANCE hinst);
2010 static LRESULT CALLBACK mouse_hook_callback(
int code,WPARAM wParam, LPARAM lParam);
2011 static void set_menu_active(
bool active);
2040 #endif //__Hoops3dStreamCTRL_H_
BSTR m_Filename
Definition: Hoops3dStreamCtrl.h:1844
bool m_bEmbed
Definition: Hoops3dStreamCtrl.h:1846
HCtrlDB * m_pHDB
Definition: Hoops3dStreamCtrl.h:1831
Custom HTK_Bounding class. Used to correctly setup camera for stream file processing.
Definition: Hoops3dStreamCtrl.h:2019
TK_Custom_Bounding(unsigned char opcode, CHoops3dStreamCtrl *pCtrl)
Definition: Hoops3dStreamCtrl.h:2029
bool m_bUseAntialiasing
Definition: Hoops3dStreamCtrl.h:1840
bool m_bFastPrint
Definition: Hoops3dStreamCtrl.h:1839
bool m_bIs2dModel
Definition: Hoops3dStreamCtrl.h:1847
bool m_bClipboardTruecolor
Definition: Hoops3dStreamCtrl.h:1843
bool m_bAllowEntitySelection
Definition: Hoops3dStreamCtrl.h:1862
A HOOPS/ATL specific implmentation of the HOOPS/MVO HDB class.
Definition: HCtrlDB.h:32
CDataLoader * GetDataLoader()
Definition: Hoops3dStreamCtrl.h:1612
HBaseModel * m_pModel
Definition: Hoops3dStreamCtrl.h:1832
bool m_bUseHardwareAntialiasing
Definition: Hoops3dStreamCtrl.h:1841
The CHoops3dStreamCtrl is the primary HOOPS ATL Control class.
Definition: Hoops3dStreamCtrl.h:73
struct vlist_s * m_ConfigurationList
Definition: Hoops3dStreamCtrl.h:1828
The CDataLoader class provides support for loading a file in a piecwise fashion (streaming) ...
Definition: DataLoader.h:61
HCtrlView * m_pView
Definition: Hoops3dStreamCtrl.h:1830
int m_MetafileType
Definition: Hoops3dStreamCtrl.h:1842
bool m_bAllowMenu
Definition: Hoops3dStreamCtrl.h:1849
bool m_bSoftwareRendering
Definition: Hoops3dStreamCtrl.h:1838
bool m_bMetaPrint
Definition: Hoops3dStreamCtrl.h:1837
A HOOPS/ActiveX specific implmentation of the HOOPS/MVO HBaseView class.
Definition: HCtrlView.h:37
bool m_bNoOrbit
Definition: Hoops3dStreamCtrl.h:1848
int m_iPrintFlag
Definition: Hoops3dStreamCtrl.h:1863
struct vlist_s * m_FileTypeList
Definition: Hoops3dStreamCtrl.h:1835
bool m_bFilenameChanged
Definition: Hoops3dStreamCtrl.h:1845
Definition: Hoops3dStream.idl:36
CDataLoader * m_pDataLoader
Definition: Hoops3dStreamCtrl.h:1833