10 #ifndef __Hoops3dStreamCTRL_H_
11 #define __Hoops3dStreamCTRL_H_
15 #include "Hoops3dStream.h"
20 #include "HOpcodeHandler.h"
23 #include "Hoops3dStreamCtrlEvents.h"
33 #define WM_XML_PARSING_COMPLETE WM_USER+0x100
35 struct IWebBrowserApp;
38 #define DEBUG_NO_WINDOWS_HOOK 0x00000040
39 #define DEBUG_FORCE_FULL_COLOR 0x00000010
40 #define DEBUG_SFB_COPY_TO_CLIPBOARD 0x00004000
41 #define DEBUG_PRINTING_MODE 0x00040000
42 #define DEBUG_CLIPBOARD_MODE 0x00080000
43 #define DEBUG_PRINT_NOT_FRAMEBUFFER_MODE 0x00020000
44 #define DEBUG_PRINT_NOT_RASTER_REDUCTION 0x00200000
46 #define NUM_MARKUP_LAYERS 5
48 #define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
49 #define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
52 #define DEBUG_NO_PAINTERS_PANELLING 0x00000008
54 #define TOGGLE_OFF(x) if(uMsg == WM_PAINT) x=0;
69 public CComObjectRootEx<CComSingleThreadModel>,
70 public CStockPropImpl<CHoops3dStreamCtrl, IHoops3dStreamCtrl, &IID_IHoops3dStreamCtrl, &LIBID_Hoops3dStreamLib>,
71 public CComControl<CHoops3dStreamCtrl>,
72 public IPersistStreamInitImpl<CHoops3dStreamCtrl>,
73 public IOleControlImpl<CHoops3dStreamCtrl>,
74 public IOleObjectImpl<CHoops3dStreamCtrl>,
75 public IOleInPlaceActiveObjectImpl<CHoops3dStreamCtrl>,
76 public IViewObjectExImpl<CHoops3dStreamCtrl>,
77 public IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>,
78 public IConnectionPointContainerImpl<CHoops3dStreamCtrl>,
79 public IPersistStorageImpl<CHoops3dStreamCtrl>,
80 public ISpecifyPropertyPagesImpl<CHoops3dStreamCtrl>,
81 public IQuickActivateImpl<CHoops3dStreamCtrl>,
82 public IDataObjectImpl<CHoops3dStreamCtrl>,
83 public IProvideClassInfo2Impl<&CLSID_Hoops3dStreamCtrl, &DIID__IHoops3dStreamCtrlEvents, &LIBID_Hoops3dStreamLib>,
84 public IPropertyNotifySinkCP<CHoops3dStreamCtrl>,
85 public IPersistPropertyBagImpl<CHoops3dStreamCtrl>,
86 public CComCoClass<CHoops3dStreamCtrl, &CLSID_Hoops3dStreamCtrl>,
87 public CProxy_IHoops3dStreamCtrlEvents< CHoops3dStreamCtrl >
95 DECLARE_PROTECT_FINAL_CONSTRUCT()
99 COM_INTERFACE_ENTRY(IDispatch)
100 COM_INTERFACE_ENTRY(IViewObjectEx)
101 COM_INTERFACE_ENTRY(IViewObject2)
102 COM_INTERFACE_ENTRY(IViewObject)
103 COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
104 COM_INTERFACE_ENTRY(IOleInPlaceObject)
105 COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
106 COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
107 COM_INTERFACE_ENTRY(IOleControl)
108 COM_INTERFACE_ENTRY(IOleObject)
109 COM_INTERFACE_ENTRY(IPersistStreamInit)
110 COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
111 COM_INTERFACE_ENTRY(IConnectionPointContainer)
112 COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
113 COM_INTERFACE_ENTRY(IQuickActivate)
114 COM_INTERFACE_ENTRY(IPersistStorage)
115 COM_INTERFACE_ENTRY(IDataObject)
116 COM_INTERFACE_ENTRY(IProvideClassInfo)
117 COM_INTERFACE_ENTRY(IProvideClassInfo2)
118 COM_INTERFACE_ENTRY_IMPL(IPersistPropertyBag)
119 COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
123 PROP_DATA_ENTRY(
"_cx", m_sizeExtent.cx, VT_UI4)
124 PROP_DATA_ENTRY(
"_cy", m_sizeExtent.cy, VT_UI4)
125 PROP_ENTRY_TYPE(
"BackColor", DISPID_BACKCOLOR, CLSID_NULL, VT_COLOR)
126 PROP_ENTRY_TYPE(
"Filename",1, CLSID_Hoops3dStreamProperty, VT_BSTR)
127 PROP_ENTRY_TYPE(
"Antialiasing",68, CLSID_Hoops3dStreamProperty, VT_BOOL)
128 PROP_ENTRY_TYPE(
"FileType",33, CLSID_Hoops3dStreamProperty, VT_BSTR)
129 PROP_ENTRY_TYPE(
"AllowMenu",69, CLSID_Hoops3dStreamProperty, VT_BOOL)
130 PROP_ENTRY_TYPE(
"HardwareAntialiasing",73, CLSID_Hoops3dStreamProperty, VT_BOOL)
131 PROP_ENTRY_TYPE(
"AxisMode",74, CLSID_Hoops3dStreamProperty, VT_BOOL)
132 PROP_ENTRY_TYPE(
"AllowEntitySelection",110, CLSID_Hoops3dStreamProperty, VT_BOOL)
133 PROP_ENTRY_TYPE(
"BhvContinuousPlay",112, CLSID_Hoops3dStreamProperty, VT_BOOL)
134 PROP_ENTRY_TYPE(
"ConfigFile",129, CLSID_Hoops3dStreamProperty, VT_BSTR)
135 PROP_ENTRY_TYPE(
"DefaultConfigFile",146, CLSID_Hoops3dStreamProperty, VT_BSTR)
136 PROP_ENTRY_TYPE(
"Key",138, CLSID_Hoops3dStreamProperty, VT_INT)
137 PROP_ENTRY_TYPE(
"String1",139, CLSID_Hoops3dStreamProperty, VT_BSTR)
138 PROP_ENTRY_TYPE(
"String2",140, CLSID_Hoops3dStreamProperty, VT_BSTR)
139 PROP_ENTRY_TYPE(
"String3",141, CLSID_Hoops3dStreamProperty, VT_BSTR)
140 PROP_ENTRY_TYPE(
"Int1",142, CLSID_Hoops3dStreamProperty, VT_INT)
141 PROP_ENTRY_TYPE(
"SegmentDL",132, CLSID_Hoops3dStreamProperty, VT_BOOL)
142 PROP_ENTRY_TYPE(
"DriverType",145, CLSID_Hoops3dStreamProperty, VT_BSTR)
143 PROP_ENTRY_TYPE(
"TransparencyOptions",152, CLSID_Hoops3dStreamProperty, VT_BSTR)
144 PROP_ENTRY_TYPE(
"AntialiasingLevel",148, CLSID_Hoops3dStreamProperty, VT_INT)
145 PROP_ENTRY_TYPE(
"CullingThreshold",149, CLSID_Hoops3dStreamProperty, VT_INT)
146 PROP_ENTRY_TYPE(
"MaximumThreshold",151, CLSID_Hoops3dStreamProperty, VT_INT)
147 PROP_ENTRY_TYPE(
"FrameRate",150, CLSID_Hoops3dStreamProperty, VT_DECIMAL)
148 PROP_ENTRY_TYPE(
"FramerateType",144, CLSID_Hoops3dStreamProperty, VT_BSTR)
149 PROP_ENTRY_TYPE(
"StaticModel",147, CLSID_Hoops3dStreamProperty, VT_BOOL)
150 PROP_ENTRY_TYPE(
"AntialiasingLevel",148, CLSID_Hoops3dStreamProperty, VT_INT)
151 PROP_PAGE(CLSID_Hoops3dStreamProperty)
155 CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
156 CONNECTION_POINT_ENTRY(DIID__IHoops3dStreamCtrlEvents)
157 END_CONNECTION_POINT_MAP()
163 TOGGLE_OFF(m_iPrintFlag);
164 COMMAND_ID_HANDLER(ID_TOOLS_OPTIMIZEMODEL, OnToolsOptimizemodel)
165 COMMAND_ID_HANDLER(ID_TOOLS_SAVEAS, OnToolsSaveas)
166 CHAIN_MSG_MAP(CComControl<CHoops3dStreamCtrl>)
167 DEFAULT_REFLECTION_HANDLER()
168 MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
169 MESSAGE_HANDLER(WM_LBUTTONDBLCLK, OnLButtonDblClk)
170 MESSAGE_HANDLER(WM_LBUTTONUP, OnLButtonUP)
171 MESSAGE_HANDLER(WM_LBUTTONUP, OnRButtonUP)
172 MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove)
173 MESSAGE_HANDLER(WM_MOUSEACTIVATE, OnMouseActivate)
174 MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)
175 MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel)
176 MESSAGE_HANDLER(WM_INPUTLANGCHANGE, OnInputLangChange)
177 MESSAGE_HANDLER(WM_INPUTLANGCHANGEREQUEST, OnInputLangChangeRequest)
178 COMMAND_ID_HANDLER(ID_FILEOPEN,OnFileOpen)
179 COMMAND_ID_HANDLER(ID_ORBIT,OnOrbit)
180 COMMAND_ID_HANDLER(ID_WINDOW_COLOR,OnWindowColor)
181 COMMAND_ID_HANDLER(ID_ZOOM_DIRECT,OnZoom)
182 COMMAND_ID_HANDLER(ID_PAN,OnPan)
183 COMMAND_ID_HANDLER(ID_RESET,OnReset)
184 COMMAND_ID_HANDLER(ID_ZOOM_WINDOW,OnZoomWindow)
185 COMMAND_ID_HANDLER(ID_TOOLS_SMOOTHTRANSITION,OnSmoothTransition)
186 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_TEXT,OnToolsVisibilityText)
187 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_LINES,OnToolsVisibilityLines)
188 COMMAND_ID_HANDLER(ID_TOOLS_VISIBILITY_FACES,OnToolsVisibilityFaces)
189 COMMAND_ID_HANDLER(ID_ANNOTATE,OnAnnotate)
190 COMMAND_ID_HANDLER(ID_ADDNOTE,OnAddNote)
191 COMMAND_ID_HANDLER(ID_TOOLS_REDLINE,OnRedline)
192 COMMAND_ID_HANDLER(ID_SMOOTH_SHADED,OnSmoothShaded)
193 COMMAND_ID_HANDLER(ID_FLAT_SHADED,OnFlatShaded)
194 COMMAND_ID_HANDLER(ID_WIREFRAME,OnWireframe)
195 COMMAND_ID_HANDLER(ID_HIDDEN_LINE,OnHiddenLine)
196 COMMAND_ID_HANDLER(ID_SHADOW_SMOOTH,OnShadowSmooth)
197 COMMAND_ID_HANDLER(ID_PRINT,OnPrint)
198 COMMAND_ID_HANDLER(ID_COPY,OnCopy)
199 COMMAND_ID_HANDLER(ID_ABOUT_BOX,OnAboutBox)
201 COMMAND_ID_HANDLER(ID_BHV_PLAY,OnBhvPlay)
202 COMMAND_ID_HANDLER(ID_BHV_PAUSE,OnBhvPause)
203 COMMAND_ID_HANDLER(ID_BHV_REWIND,OnBhvRewind)
205 MESSAGE_HANDLER(WM_TIMER, OnTimer)
206 MESSAGE_HANDLER(WM_KEYUP, OnKeyUp)
207 MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
208 MESSAGE_HANDLER(WM_EXITMENULOOP, OnExitMenuLoop)
209 MESSAGE_HANDLER(WM_CHAR, OnChar)
210 MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
211 MESSAGE_HANDLER(WM_XML_PARSING_COMPLETE, OnXMLParsingComplete)
216 IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
217 IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
228 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);
231 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);
234 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);
237 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);
240 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);
243 STDMETHOD(HATL_Insert_Cutting_Plane)(
float a,
float b,
float c,
float d, HC_KEY *retkey);
246 STDMETHOD(HATL_Insert_Cutting_Section)(
int count, VARIANT *planes_var, HC_KEY *retkey);
249 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);
252 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);
255 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);
258 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);
261 STDMETHOD(HATL_Insert_Image)(
float x,
float y,
float z, BSTR format,
int width,
int height, VARIANT *pixeldata_var, HC_KEY *retkey);
264 STDMETHOD(HATL_Insert_Ink)(
float x,
float y,
float z, HC_KEY *retkey);
267 STDMETHOD(HATL_Insert_Line)(
float xa,
float ya,
float za,
float xb,
float yb,
float zb, HC_KEY *retkey);
270 STDMETHOD(HATL_Insert_Distant_Light)(
float di,
float dj,
float dk, HC_KEY *retkey);
273 STDMETHOD(HATL_Insert_Local_Light)(
float x,
float y,
float z, HC_KEY *retkey);
276 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);
279 STDMETHOD(HATL_Insert_Marker)(
float x,
float y,
float z, HC_KEY *retkey);
282 STDMETHOD(HATL_Insert_Mesh)(
int rows,
int columns, VARIANT * points, HC_KEY *retkey);
285 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);
288 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);
291 STDMETHOD(HATL_Insert_Polycylinder)(
int pcount, VARIANT * points_var,
int r_count, VARIANT *radii_var, BSTR capping, HC_KEY *retkey);
294 STDMETHOD(HATL_Insert_Polygon)(
int count, VARIANT *points_var, HC_KEY *retkey);
297 STDMETHOD(HATL_Insert_Polyline)(
int count, VARIANT *points_var, HC_KEY *retkey);
300 STDMETHOD(HATL_Insert_Shell)(
int npoints, VARIANT * arr,
int flen, VARIANT *arr2, HC_KEY *retkey);
303 STDMETHOD(HATL_Insert_Shell_By_Tristrips)(
int pcount, VARIANT *points_var,
int tlen, VARIANT *tlist_var,
int flen, VARIANT *flist_var, HC_KEY *retkey);
306 STDMETHOD(HATL_Insert_Shell_From_Region)(HC_KEY key1,
int region, BSTR options, HC_KEY *retkey);
309 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);
312 STDMETHOD(HATL_Insert_Text)(
float x,
float y,
float z, BSTR text, HC_KEY *retkey);
315 STDMETHOD(HATL_Insert_Text_With_Encoding)(
float x,
float y,
float z, BSTR encoding, VARIANT *text, HC_KEY *retkey);
318 STDMETHOD(HATL_Insert_Unicode_Text)(
float x,
float y,
float z, VARIANT *text, HC_KEY *retkey);
325 STDMETHOD(HATL_Open_Segment)(BSTR segment, HC_KEY *retkey);
328 STDMETHOD(HATL_Close_Segment)();
331 STDMETHOD(HATL_Open_Geometry)(HC_KEY key);
334 STDMETHOD(HATL_Close_Geometry)();
337 STDMETHOD(HATL_Open_Face)(
int offset);
340 STDMETHOD(HATL_Close_Face)();
343 STDMETHOD(HATL_Open_Edge)(
int offset1,
int offset2);
346 STDMETHOD(HATL_Close_Edge)();
349 STDMETHOD(HATL_Include_Segment)(BSTR segment, HC_KEY *retkey);
352 STDMETHOD(HATL_Delete_By_Key)(HC_KEY key);
355 STDMETHOD(HATL_Flush_Contents)(BSTR segment, BSTR filter);
362 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);
365 STDMETHOD(HATL_Set_Camera_By_Volume)(BSTR projection,
float xmin,
float xmax,
float ymin,
float ymax);
368 STDMETHOD(HATL_Set_Camera_Field)(
float width,
float height);
371 STDMETHOD(HATL_Set_Camera_Near_Limit)(
float wlimit);
374 STDMETHOD(HATL_Set_Camera_Position)(
float p_x,
float p_y,
float p_z);
377 STDMETHOD(HATL_Set_Camera_Projection)(BSTR projection);
380 STDMETHOD(HATL_Set_Camera_Target)(
float t_x,
float t_y,
float t_z);
383 STDMETHOD(HATL_Set_Camera_Up_Vector)(
float u_x,
float u_y,
float u_z);
386 STDMETHOD(HATL_Set_Circular_Center)(
float x,
float y,
float z);
389 STDMETHOD(HATL_Set_Circular_Center_By_Key)(HC_KEY key,
float x,
float y,
float z);
392 STDMETHOD(HATL_Set_Color)(BSTR col);
395 STDMETHOD(HATL_Set_Color_By_FIndex)(BSTR types,
float findex);
398 STDMETHOD(HATL_Set_Color_By_Index)(BSTR types,
int index);
401 STDMETHOD(HATL_Set_Color_By_Value)(BSTR types, BSTR colspace,
float a,
float b,
float c);
404 STDMETHOD(HATL_Set_Color_Map)(BSTR col);
407 STDMETHOD(HATL_Set_Color_Map_By_Value)(BSTR col,
int count, VARIANT *values_var);
410 STDMETHOD(HATL_Set_Conditions)(BSTR conditions);
413 STDMETHOD(HATL_Set_Driver_Options)(BSTR driver_options);
416 STDMETHOD(HATL_Set_Edge_Pattern)(BSTR pattern);
419 STDMETHOD(HATL_Set_Edge_Weight)(
float weight);
422 STDMETHOD(HATL_Set_Face_Pattern)(BSTR pattern);
425 STDMETHOD(HATL_Set_Faces)(
int first_face,
int face_count);
428 STDMETHOD(HATL_Set_Handedness)(BSTR handedness);
431 STDMETHOD(HATL_Set_Heuristics)(BSTR heuristics);
434 STDMETHOD(HATL_Set_Line_Pattern)(BSTR pattern);
437 STDMETHOD(HATL_Set_Line_Weight)(
float weight);
440 STDMETHOD(HATL_Set_Marker_Size)(
float weight);
443 STDMETHOD(HATL_Set_Marker_Symbol)(BSTR symbol);
446 STDMETHOD(HATL_Set_Modelling_Matrix)(VARIANT *matrix_var);
449 STDMETHOD(HATL_Set_Normal)(
float x,
float y,
float z);
452 STDMETHOD(HATL_Set_Parameter)(
int number, VARIANT *parameters_var);
455 STDMETHOD(HATL_Set_Polygonal_Clip_Region)(
int count, VARIANT *points_var, BSTR options);
458 STDMETHOD(HATL_Set_Priority)(HC_KEY key,
long priority);
461 STDMETHOD(HATL_Set_Region)(
int region);
464 STDMETHOD(HATL_Set_Rendering_Options)(BSTR rendering_options);
467 STDMETHOD(HATL_Set_Selectability)(BSTR list);
470 STDMETHOD(HATL_Set_Streaming_Mode)(BSTR flag);
473 STDMETHOD(HATL_Set_Text_Alignment)(BSTR locater);
476 STDMETHOD(HATL_Set_Text_Font)(BSTR text_font);
479 STDMETHOD(HATL_Set_Text_Path)(
float x,
float y,
float z);
482 STDMETHOD(HATL_Set_Text_Region)(
int pCount, VARIANT *points_var, BSTR options);
485 STDMETHOD(HATL_Set_Text_Spacing)(
float spacing);
488 STDMETHOD(HATL_Set_Texture_Matrix)(VARIANT *matrix_var);
491 STDMETHOD(HATL_Set_Trim_Operation)(
int index, BSTR operation);
494 STDMETHOD(HATL_Set_Unicode_Options)(VARIANT *options_var);
497 STDMETHOD(HATL_Set_User_Index)(
int index, VARIANT *data_var);
500 STDMETHOD(HATL_Set_User_Options)(BSTR list);
509 STDMETHOD(HATL_Set_Visibility)(BSTR vis);
512 STDMETHOD(HATL_Set_Variable_Edge_Weight)(BSTR weight);
515 STDMETHOD(HATL_Set_Variable_Line_Weight)(BSTR weight);
518 STDMETHOD(HATL_Set_Variable_Marker_Size)(BSTR weight);
521 STDMETHOD(HATL_Set_Window)(
float left,
float right,
float bottom,
float top);
524 STDMETHOD(HATL_Set_Window_Frame)(BSTR flag);
527 STDMETHOD(HATL_Set_Window_Pattern)(BSTR pattern);
534 STDMETHOD(HATL_UnSet_Camera)();
537 STDMETHOD(HATL_UnSet_Color)();
540 STDMETHOD(HATL_UnSet_Color_Map)();
543 STDMETHOD(HATL_UnSet_Driver_Options)();
546 STDMETHOD(HATL_UnSet_Edge_Pattern)();
549 STDMETHOD(HATL_UnSet_Edge_Weight)();
552 STDMETHOD(HATL_UnSet_Face_Pattern)();
555 STDMETHOD(HATL_UnSet_Handedness)();
558 STDMETHOD(HATL_UnSet_Heuristics)();
561 STDMETHOD(HATL_UnSet_Line_Pattern)();
564 STDMETHOD(HATL_UnSet_Line_Weight)();
567 STDMETHOD(HATL_UnSet_Marker_Size)();
570 STDMETHOD(HATL_UnSet_Marker_Symbol)();
573 STDMETHOD(HATL_UnSet_Modelling_Matrix)();
576 STDMETHOD(HATL_UnSet_Normal)();
579 STDMETHOD(HATL_UnSet_One_Color)(BSTR which);
582 STDMETHOD(HATL_UnSet_One_Driver_Option)(BSTR which);
585 STDMETHOD(HATL_UnSet_One_Heuristic)(BSTR which);
588 STDMETHOD(HATL_UnSet_One_Rendering_Option)(BSTR which);
591 STDMETHOD(HATL_UnSet_One_Selectability)(BSTR which);
594 STDMETHOD(HATL_UnSet_One_Text_Font)(BSTR which);
597 STDMETHOD(HATL_UnSet_One_User_Index)(
long which);
600 STDMETHOD(HATL_UnSet_One_User_Option)(BSTR which);
603 STDMETHOD(HATL_UnSet_One_Visibility)(BSTR which);
606 STDMETHOD(HATL_UnSet_Parameter)();
609 STDMETHOD(HATL_UnSet_Rendering_Options)();
612 STDMETHOD(HATL_UnSet_Selectability)();
615 STDMETHOD(HATL_UnSet_Streaming_Mode)();
618 STDMETHOD(HATL_UnSet_Text_Alignment)();
621 STDMETHOD(HATL_UnSet_Text_Font)();
624 STDMETHOD(HATL_UnSet_Text_Path)();
627 STDMETHOD(HATL_UnSet_Text_Spacing)();
630 STDMETHOD(HATL_UnSet_Texture_Matrix)();
633 STDMETHOD(HATL_UnSet_User_Options)();
636 STDMETHOD(HATL_UnSet_Visibility)();
639 STDMETHOD(HATL_UnSet_Window)();
642 STDMETHOD(HATL_UnSet_Window_Frame)();
645 STDMETHOD(HATL_UnSet_Window_Pattern)();
652 STDMETHOD(HATL_Define_Alias)(BSTR name, BSTR expansion);
655 STDMETHOD(HATL_Define_Color_Name)(BSTR name, BSTR er_name, BSTR ish_name, BSTR definition);
658 STDMETHOD(HATL_Define_Font)(BSTR name, BSTR options,
int data_length, VARIANT *data_var);
661 STDMETHOD(HATL_Define_Glyph)(BSTR name,
int data_size, BSTR data);
664 STDMETHOD(HATL_Define_Line_Style)(BSTR name, BSTR definition);
667 STDMETHOD(HATL_Define_Local_Texture)(BSTR name, BSTR definition);
670 STDMETHOD(HATL_Define_System_Options)(BSTR list);
673 STDMETHOD(HATL_Define_Texture)(BSTR name, BSTR definition);
680 STDMETHOD(HATL_Show_Color)(BSTR *color_spec);
683 STDMETHOD(HATL_Show_Alias)(BSTR alias, BSTR *expansion);
686 STDMETHOD(HATL_Show_Button)(BSTR *button);
689 STDMETHOD(HATL_Show_Button_Source)();
699 STDMETHOD(get_HasModelStructureInfo)( BOOL *pVal);
708 STDMETHOD(SetSelectionMarkerColor)(
float r,
float g,
float b,
float a);
717 STDMETHOD(SetSelectionEdgeColor)(
float r,
float g,
float b,
float a);
726 STDMETHOD(SetSelectionFaceColor)(
float r,
float g,
float b,
float a);
732 STDMETHOD(get_SmoothTransitionMode)( BOOL *pVal);
738 STDMETHOD(put_SmoothTransitionMode)( BOOL newVal);
744 STDMETHOD(get_DataNavigatorMode)( BOOL *pVal);
750 STDMETHOD(get_UndoAvailable)( BOOL *pVal);
756 STDMETHOD(get_RedoAvailable)( BOOL *pVal);
762 STDMETHOD(put_DataNavigatorMode)( BOOL newVal);
768 STDMETHOD(put_ConfigFile)(BSTR newVal);
774 STDMETHOD(get_ConfigFile)(BSTR *newVal);
780 STDMETHOD(put_DefaultConfigFile)(BSTR newVal);
782 STDMETHOD(put_SegmentDL)( BOOL newVal);
783 STDMETHOD(get_SegmentDL)( BOOL *pVal);
790 STDMETHOD(get_TransparencyOptions)(BSTR *newVal);
791 STDMETHOD(put_TransparencyOptions)(BSTR newVal);
798 STDMETHOD(get_DriverType)(BSTR *newVal);
799 STDMETHOD(put_DriverType)(BSTR newVal);
805 STDMETHOD(put_FramerateType)(BSTR newVal);
806 STDMETHOD(get_FramerateType)(BSTR *pVal);
813 STDMETHOD(put_CullingThreshold)(
int newVal);
814 STDMETHOD(get_CullingThreshold)(
int *pVal);
821 STDMETHOD(put_MaximumThreshold)(
int newVal);
822 STDMETHOD(get_MaximumThreshold)(
int *pVal);
829 STDMETHOD(get_DefaultConfigFile)(BSTR *newVal);
834 STDMETHOD(ShowOptionsDialog)();
842 STDMETHOD(GetPathFromIndex)(
int index, BSTR *pPath);
849 STDMETHOD(KeyToIndex)( BSTR key,
int* pIndex);
856 STDMETHOD(get_CuttingPlaneStatus)(BSTR name, BOOL *pVal);
862 STDMETHOD(Run)(BSTR command);
868 STDMETHOD(get_ProjectionMode)( BSTR *pVal);
874 STDMETHOD(put_ProjectionMode)( BSTR newVal);
880 STDMETHOD(put_SoftwareRendering)( BOOL newVal);
886 STDMETHOD(get_SoftwareRendering)( BOOL *pVal);
893 STDMETHOD(Select)(BSTR key);
899 STDMETHOD(SelectFromIdentifier)(
int identifier);
905 STDMETHOD(SelectFromPath)(BSTR path);
912 STDMETHOD(AddFileType)(BSTR filetype);
920 STDMETHOD(FilterIdentifier)(
int oldidentifier,
int *newidentifier);
928 STDMETHOD(GenerateNavigationInfo)(
int level, BSTR *filepath);
935 STDMETHOD(GenerateNavigationInfoFromNodePath)(BSTR nodepath, BSTR *filepath);
941 STDMETHOD(ShowPageSetupDialog)();
946 STDMETHOD(ShowPrintDialog)();
952 STDMETHOD(CopyToClipboard)();
957 STDMETHOD(ShowFileSaveDialog)();
965 STDMETHOD(ShowFileOpenDialog)();
972 STDMETHODIMP SetRenderMode(BSTR rendermode);
982 STDMETHOD(ShowCuttingPlane)(BSTR name, BOOL onoff);
988 STDMETHOD(BhvPlay)();
993 STDMETHOD(FlushScene)();
999 STDMETHOD(BhvPause)();
1004 STDMETHOD(BhvRewind)();
1010 STDMETHOD(OpenModelSegment)();
1015 STDMETHOD(OpenSceneSegment)();
1022 STDMETHOD(SetFramerateMode)(BOOL onoff);
1028 STDMETHOD(SetBackplaneCullingMode)(BOOL onoff);
1033 STDMETHOD(SetPolygonHandednessNone)();
1038 STDMETHOD(SetPolygonHandednessRight)();
1043 STDMETHOD(SetPolygonHandednessLeft)();
1048 STDMETHOD(AntialiasScene)();
1054 STDMETHOD(SetShadowMode)(BOOL onoff);
1059 STDMETHOD(SetProjectionModeOrthographic)();
1064 STDMETHOD(SetProjectionModePerspective)();
1070 STDMETHOD(SaveRestoreMarkup)(
int layernum);
1075 STDMETHOD(SetCameraToIsometric)();
1080 STDMETHOD(SetCameraToPlaneYX)();
1085 STDMETHOD(SetCameraToPlaneZY)();
1090 STDMETHOD(SetCameraToPlaneZX)();
1095 STDMETHOD(SetCameraToPlaneYZ)();
1100 STDMETHOD(SetCameraToPlaneXZ)();
1105 STDMETHOD(SetViewAxis)(
float fx,
float fy,
float fz,
1106 float tx,
float ty,
float tz);
1110 STDMETHOD(SetCameraToPlaneXY)();
1115 STDMETHOD(InsertCuttingPlane)();
1120 STDMETHOD(SetRenderModeHiddenLine)();
1125 STDMETHOD(SetRenderModeWireframe)();
1130 STDMETHOD(SetRenderModeGouraud)();
1135 STDMETHOD(SetRenderModeGouraudWithEdges)();
1140 STDMETHOD(SetRenderModeFlat)();
1145 STDMETHOD(SetRenderModeShaded)();
1151 STDMETHOD(SetOperator)(BSTR operator_name);
1156 STDMETHOD(SetBackgroundColors)(
float r_top,
float g_top,
float b_top,
float r_bottom,
float g_bottom,
float b_bottom,
int percent);
1162 STDMETHOD(SetAmbientColor)(
float r_top,
float g_top,
float b_top);
1170 STDMETHOD(get_AllowMenu)( BOOL *pVal);
1176 STDMETHOD(put_AllowMenu)( BOOL newVal);
1184 STDMETHOD(get_FileType)( BSTR *pVal);
1190 STDMETHOD(put_FileType)( BSTR newVal);
1196 STDMETHOD(get_NoOrbit)( BOOL *pVal);
1202 STDMETHOD(put_NoOrbit)( BOOL newVal);
1209 STDMETHOD(get_Antialiasing)( BOOL *pVal);
1216 STDMETHOD(put_Antialiasing)( BOOL newVal);
1219 STDMETHOD(get_FrameRate)(
float *pVal);
1226 STDMETHOD(put_FrameRate)(
float newVal);
1234 STDMETHOD(put_HardwareAntialiasing)( BOOL newVal);
1240 STDMETHOD(get_HardwareAntialiasing)( BOOL *pVal);
1247 STDMETHOD(put_AllowEntitySelection)( BOOL newVal);
1253 STDMETHOD(get_AllowEntitySelection)( BOOL *pVal);
1262 STDMETHOD(put_BhvContinuousPlay)( BOOL newVal);
1269 STDMETHOD(get_BhvContinuousPlay)( BOOL *pVal);
1277 STDMETHOD(put_AxisMode)( BOOL newVal);
1283 STDMETHOD(get_AxisMode)( BOOL *pVal);
1290 STDMETHOD(get_Key)( LONG *pVal);
1297 STDMETHOD(get_String1)( BSTR *pVal);
1298 STDMETHOD(get_String2)( BSTR *pVal);
1299 STDMETHOD(get_String3)( BSTR *pVal);
1300 STDMETHOD(get_Int1)(
int *pVal);
1307 STDMETHOD(get_Embed)( BOOL *pVal);
1320 STDMETHOD(put_AntialiasingLevel)(
int newVal);
1321 STDMETHOD(get_AntialiasingLevel)(
int *pVal);
1328 STDMETHOD(put_StaticModel)( BOOL newVal);
1329 STDMETHOD(get_StaticModel)( BOOL *pVal);
1336 STDMETHOD(put_Embed)( BOOL newVal);
1343 STDMETHOD(get_CameraParameters)( BSTR *pVal);
1359 STDMETHOD(SetCamera)(
float px,
float py,
float pz,
float tx,
float ty,
float tz,
float ux,
float uy,
float uz,
float width,
float height);
1364 STDMETHOD(FitWorld)();
1370 STDMETHOD(get_CurrentOperator)( BSTR *pVal);
1377 STDMETHOD(get_ModelStructureTypeList)( BSTR *pVal);
1383 STDMETHOD(AbortDownload)();
1389 STDMETHOD(get_DownloadDataMax)(
long *pVal);
1395 STDMETHOD(get_DownloadDataReceived)(
long *pVal);
1401 STDMETHOD(get_DLinProgress)( BOOL *pVal);
1413 STDMETHOD(get_Filename)( BSTR *pVal);
1420 STDMETHOD(put_Filename)( BSTR newVal);
1429 STDMETHOD(put_FlushOnLoad)( BOOL newVal);
1438 STDMETHOD(get_FlushOnLoad)( BOOL *pVal);
1445 STDMETHOD(put_ModelStructureFilter)( BSTR newVal);
1452 STDMETHOD(get_ControlActive)( BOOL *pVal);
1458 STDMETHOD(get_IsPlaying)( BOOL *pVal);
1464 STDMETHOD (BhvActivateAllAnimations)();
1469 STDMETHOD (BhvDeactivateAllAnimations)();
1476 STDMETHOD (BhvActivateAnimation)(BSTR animationname, BOOL allowPartial);
1483 STDMETHOD (BhvDeactivateAnimation)(BSTR animationname, BOOL allowPartial);
1489 STDMETHOD (BhvStartAnimation)(BSTR animationname);
1495 STDMETHOD (BhvStopAnimation)(BSTR animationname);
1501 STDMETHOD (BhvRewindAnimation)(BSTR animationname);
1509 STDMETHOD(BhvSetInfinitePlay)(BOOL onoff);
1518 STDMETHOD(ConfigureFromFile)();
1523 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 );
1526 DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)
1537 HRESULT OnDraw(ATL_DRAWINFO& di);
1547 bool GetConfigProperty(
char *tagname,
char *propertyname,
char *result, vlist_s *configurationlist = 0);
1553 HUtilityXMLTag * GetConfigTag(
char *tagname);
1563 bool ReadConfigFile(
char *ConfigFile,
struct vlist_s *ConfigurationList);
1578 static void ConvertToChar(
char *mbstr,
const wchar_t *wcstr,
size_t count);
1585 static void ConvertToBSTR(
wchar_t *wcstr,
const char *mbstr,
size_t count) ;
1590 bool RestoreCamera();
1595 void Set2dModel(
bool modeltype);
1601 void SetNoOrbit(
bool noorbit);
1613 static HRESULT WINAPI UpdateRegistry(BOOL bRegister)
1615 _ATL_REGMAP_ENTRY entries[3];
1624 FixGuid(
"CLSIDCTRLCLASS", CLSID_HOOPS3DSTREAMCTRL_CLASS, key1, data1);
1625 FixGuid(
"CLSIDTYPELIB", CLSID_HOOPS3DSTREAMCTRL_TYPELIB, key2, data2);
1627 entries[0].szKey = key1;
1628 entries[0].szData = data1;
1629 entries[1].szKey = key2;
1630 entries[1].szData = data2;
1631 entries[2].szKey = 0;
1632 entries[2].szData = 0;
1634 _Module.UpdateRegistryFromResource(IDR_Hoops3dStreamCTRL,
1635 bRegister, entries);
1648 HRESULT ShowFileDialog(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1656 static HRESULT ShowFileDialog2(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1665 static HRESULT ShowFileSaveDialog(TCHAR * ret_filename_buff,
unsigned int buff_size, HWND owner = 0);
1668 static void *XMLCallback(HUtilityXMLTag *xt,
bool open,
void *m_pExtraData);
1674 void SerializeConfiguration();
1676 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1682 STDMETHOD(UIDeactivate)(void)
1685 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::UIDeactivate();
1693 STDMETHOD(InPlaceDeactivate)(void)
1696 CComPtr<IOleInPlaceObject> pIPO;
1697 ControlQueryInterface(__uuidof(IOleInPlaceObject), (
void**)&pIPO);
1699 IOleInPlaceObjectWindowlessImpl<CHoops3dStreamCtrl>::InPlaceDeactivate();
1705 m_bInPlaceActive = FALSE;
1712 if (::IsWindow(m_hWndCD))
1717 if (m_spInPlaceSite)
1718 m_spInPlaceSite->OnInPlaceDeactivate();
1723 STDMETHOD(Close)(DWORD dwSaveOption)
1725 CComPtr<IOleInPlaceObject> pIPO;
1726 ControlQueryInterface(__uuidof(IOleInPlaceObject), (
void**)&pIPO);
1728 return IOleObjectImpl<CHoops3dStreamCtrl>::Close(dwSaveOption);
1736 if ((dwSaveOption == OLECLOSE_SAVEIFDIRTY ||
1737 dwSaveOption == OLECLOSE_PROMPTSAVE) && m_bRequiresSave)
1740 m_spClientSite->SaveObject();
1744 m_spInPlaceSite.Release();
1745 m_bNegotiatedWnd = FALSE;
1747 m_bInPlaceSiteEx = FALSE;
1748 m_spAdviseSink.Release();
1753 LRESULT OnInputLangChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1754 LRESULT OnInputLangChangeRequest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1755 LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1756 LRESULT OnLButtonDblClk(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1757 LRESULT OnLButtonUP(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1758 LRESULT OnRButtonUP(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1759 LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1760 LRESULT OnMouseActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1761 LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1762 LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1763 LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1764 LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1765 LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1766 LRESULT OnOrbit(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1767 LRESULT OnFileOpen(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1768 LRESULT OnZoom(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1769 LRESULT OnPan(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1770 LRESULT OnReset(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1771 LRESULT OnWindowColor(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1772 LRESULT OnZoomWindow(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1773 LRESULT OnSmoothTransition(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1774 LRESULT OnToolsVisibilityText(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1775 LRESULT OnToolsVisibilityLines(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1776 LRESULT OnToolsVisibilityFaces(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1777 LRESULT OnAnnotate(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1778 LRESULT OnAddNote(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1779 LRESULT OnRedline(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1780 LRESULT OnSmoothShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1781 LRESULT OnFlatShaded(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1782 LRESULT OnWireframe(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1783 LRESULT OnHiddenLine(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1784 LRESULT OnShadowSmooth(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1786 LRESULT OnPrint(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1787 LRESULT OnCopy(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1788 LRESULT OnAboutBox(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1789 LRESULT OnExitMenuLoop(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1790 LRESULT OnBhvPlay(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1791 LRESULT OnBhvPause(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1792 LRESULT OnBhvRewind(UINT uMsg, WPARAM wParam, HWND lParam, BOOL& bHandled);
1793 LRESULT OnXMLParsingComplete(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1796 HRESULT IPersistStreamInit_Load(LPSTREAM pStm,
const ATL_PROPMAP_ENTRY* pMap);
1797 HRESULT IPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty,
const ATL_PROPMAP_ENTRY* pMap);
1799 bool FullyQualifyUrl (
char *urlname);
1800 bool FullyQualifyUnicodeUrl (BSTR urlname);
1801 bool BreakUrl (
const char * urlname,
1805 bool & bIsLocalFile);
1806 bool BreakUnicodeUrl (
const wchar_t * urlname,
1810 bool & bIsLocalFile);
1821 STDMETHOD(put_LocalFilename)( BSTR newVal);
1846 void DrawToMetafile (HWND hWnd, HDC hDC);
1847 void WriteFileToArchive (LPSTREAM pStm);
1848 void ReadFileFromArchive (LPSTREAM pStm);
1850 void StartDownload();
1851 void OnData (CBindStatusCallback<CHoops3dStreamCtrl>* pbsc, BYTE* pBytes, DWORD dwSize);
1854 bool SaveFile( LPCTSTR csFilePathName );
1868 void GetPointArrayFromVariant(VARIANT * varKeys,
HPoint **array,
int &length);
1875 void GetFloatArrayFromVariant(VARIANT * varKeys,
float **array,
int &length);
1882 void GetByteArrayFromVariant(VARIANT * varKeys,
char **array,
int &length);
1891 void GetArrayFromVariant(VARIANT * varKeys,
float **arrayfloat,
int **arrayint,
char **arraychar,
int &length);
1899 void GetArrayFromVariant2(VARIANT * varKeys,
void **ret_array,
char *type,
int &length);
1906 void GetIntegerArrayFromVariant(VARIANT * varKeys,
int **arrayint,
int &length);
1914 void GetShortArrayFromVariant(VARIANT * varKeys,
short **arrayshort,
int &length);
1922 static bool signal_selected(
int signal,
void *signal_data,
void *user_data);
1926 bool OnSignalSelected();
1931 static bool signal_deselected_all(
int signal,
void *signal_data,
void *user_data);
1935 bool OnSignalDeSelectedAll();
1949 HPALETTE m_pPalette;
1950 HC_KEY m_activelayerkeys[NUM_MARKUP_LAYERS];
1952 HPoint m_camPosition, m_camTarget, m_camUp;
1953 HPoint m_window_top_color, m_window_bottom_color, m_ambient_color;
1954 float m_camWidth, m_camHeight;
1955 char m_camProjection[256];
1956 bool m_bCameraRestored;
1957 IWebBrowserApp * m_pInternetExplorer;
1958 static void FixGuid(
char *in1,
char *in2,
wchar_t *out1,
wchar_t *out2);
1959 unsigned long MapFlags(
unsigned long state );
1960 bool OperatorStarted();
1961 bool IsVisible(
char *geom);
1962 bool ContainerIsIE (
void);
1963 bool m_bJustCreated;
1966 char m_DriverType[4096];
1967 char m_TransparencyOptions[4096];
1968 char m_ConfigFile[4096];
1969 char m_DefaultConfigFile[4096];
1971 long m_CookieSelected;
1972 long m_CookieDeSelectedAll;
1973 bool m_bContinuousPlay;
1976 bool m_bDataNavigatorMode;
1982 bool m_bFlushOnLoad;
1983 bool m_bFileOpenActive;
1985 bool m_bStaticModel;
1986 int m_AntialiasingLevel;
1987 int m_CullingThreshold;
1988 int m_MaximumThreshold;
1990 LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
1992 LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
1995 DefWindowProc(uMsg, wParam, lParam);
1998 LRESULT OnToolsOptimizemodel(WORD , WORD , HWND , BOOL& );
1999 LRESULT OnToolsSaveas(WORD , WORD , HWND , BOOL& );
2002 static bool menuActive;
2004 static void create_mouse_hook(HINSTANCE hinst);
2005 static LRESULT CALLBACK mouse_hook_callback(
int code,WPARAM wParam, LPARAM lParam);
2006 static void set_menu_active(
bool active);
2035 #endif //__Hoops3dStreamCTRL_H_
BSTR m_Filename
Definition: Hoops3dStreamCtrl.h:1839
bool m_bEmbed
Definition: Hoops3dStreamCtrl.h:1841
HCtrlDB * m_pHDB
Definition: Hoops3dStreamCtrl.h:1826
Custom HTK_Bounding class. Used to correctly setup camera for stream file processing.
Definition: Hoops3dStreamCtrl.h:2014
TK_Custom_Bounding(unsigned char opcode, CHoops3dStreamCtrl *pCtrl)
Definition: Hoops3dStreamCtrl.h:2024
bool m_bUseAntialiasing
Definition: Hoops3dStreamCtrl.h:1835
bool m_bFastPrint
Definition: Hoops3dStreamCtrl.h:1834
bool m_bIs2dModel
Definition: Hoops3dStreamCtrl.h:1842
bool m_bClipboardTruecolor
Definition: Hoops3dStreamCtrl.h:1838
bool m_bAllowEntitySelection
Definition: Hoops3dStreamCtrl.h:1857
A HOOPS/ATL specific implmentation of the HOOPS/MVO HDB class.
Definition: HCtrlDB.h:27
CDataLoader * GetDataLoader()
Definition: Hoops3dStreamCtrl.h:1607
HBaseModel * m_pModel
Definition: Hoops3dStreamCtrl.h:1827
bool m_bUseHardwareAntialiasing
Definition: Hoops3dStreamCtrl.h:1836
The CHoops3dStreamCtrl is the primary HOOPS ATL Control class.
Definition: Hoops3dStreamCtrl.h:68
struct vlist_s * m_ConfigurationList
Definition: Hoops3dStreamCtrl.h:1823
The CDataLoader class provides support for loading a file in a piecwise fashion (streaming) ...
Definition: DataLoader.h:55
HCtrlView * m_pView
Definition: Hoops3dStreamCtrl.h:1825
int m_MetafileType
Definition: Hoops3dStreamCtrl.h:1837
bool m_bAllowMenu
Definition: Hoops3dStreamCtrl.h:1844
bool m_bSoftwareRendering
Definition: Hoops3dStreamCtrl.h:1833
bool m_bMetaPrint
Definition: Hoops3dStreamCtrl.h:1832
A HOOPS/ActiveX specific implmentation of the HOOPS/MVO HBaseView class.
Definition: HCtrlView.h:32
bool m_bNoOrbit
Definition: Hoops3dStreamCtrl.h:1843
int m_iPrintFlag
Definition: Hoops3dStreamCtrl.h:1858
struct vlist_s * m_FileTypeList
Definition: Hoops3dStreamCtrl.h:1830
bool m_bFilenameChanged
Definition: Hoops3dStreamCtrl.h:1840
Definition: Hoops3dStream.idl:36
CDataLoader * m_pDataLoader
Definition: Hoops3dStreamCtrl.h:1828