Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

HOpcodeHandler.h
1 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #ifndef HOPCODE_HANDLER
11 #define HOPCODE_HANDLER
12 
13 #ifndef HBINFILETK_TOOLKIT
14  #include "HStreamFileToolkit.h"
15 #endif
16 
17 
19 
21 
31 class HBINFILETK_API HTK_Open_Segment : public TK_Open_Segment {
32  public:
34  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
35  { return TK_Open_Segment::Interpret(tk, key, variant); }
36  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
37  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
38 };
39 
40 
42 
52 class HBINFILETK_API HTK_Close_Segment : public TK_Close_Segment {
53  public:
55  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
56  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
57  { return TK_Close_Segment::Interpret(tk, key, special); }
58  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
59 };
60 
62 class HBINFILETK_API HTK_Reopen_Segment : public TK_Reopen_Segment {
63  public:
65  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
66  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
67  { return TK_Reopen_Segment::Interpret(tk, key, special); }
68  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
69 };
70 
72 
82 class HBINFILETK_API HTK_Referenced_Segment : public TK_Referenced_Segment {
83  protected:
84  int mh_stage;
87  public:
89  HTK_Referenced_Segment (char opcode) : TK_Referenced_Segment (opcode), mh_stage (0) {}
90 
93  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
94  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
95  { return TK_Referenced_Segment::Interpret(tk, key, special); }
96  void Reset ();
97  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
98 
101  void SetRoot (HC_KEY root) { m_root = root; }
102 
104  HC_KEY GetRoot () const { return m_root; }
105 };
106 
108 
118 class HBINFILETK_API HTK_Reference : public TK_Reference {
119  protected:
120  int mh_stage;
123  public:
125  HTK_Reference () : TK_Reference (), mh_stage (0), mh_owner (-1) {}
126 
129  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
130  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
131  { return TK_Reference::Interpret(tk, key, special); }
132  bool NeedsContext (BStreamFileToolkit & tk) const;
133  void Reset ();
134  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
135 
136  bool Direct() const { return m_referee == 0; }
137 };
138 
140 
150 class HBINFILETK_API HTK_Instance : public TK_Instance {
151  public:
153  HTK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
154  int options=0, float const * xform=0);
155 
157  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
158  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
159  { return TK_Instance::Interpret(tk, key, special); }
160  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
161 };
162 
163 
165 class HBINFILETK_API HTK_Delete_Object : public TK_Delete_Object {
166  public:
168  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
169  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
170  { return TK_Delete_Object::Interpret(tk, key, special); }
171  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
172 };
173 
176 
184 class HBINFILETK_API HTK_LOD : public TK_LOD {
185  public:
187  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
188  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
189  { return TK_LOD::Interpret(tk, key, special); }
190  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
191 };
192 
193 
196 
206 class HBINFILETK_API HTK_Renumber : public TK_Renumber {
207  public:
209  HTK_Renumber (unsigned char opcode, HC_KEY key = 0) : TK_Renumber (opcode, key) {}
210 
212  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
213  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
214  { return TK_Renumber::Interpret(tk, key, special); }
215  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
216 };
217 
219 
221 
231 class HBINFILETK_API HTK_Color : public TK_Color {
232  friend class HTK_Color_Composite;
233  public:
235  HTK_Color (int mask=0, int channels=0)
236  : TK_Color () { m_mask = mask; m_channels = (short)channels; }
237 
239  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
240  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
241  { return TK_Color::Interpret(tk, key, special); }
242  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
243 
244 };
245 
247 
257 class HBINFILETK_API HTK_Color_RGB : public TK_Color_RGB {
258  public:
260  HTK_Color_RGB (int mask=0, float const * rgb=0)
261  : TK_Color_RGB () {
262  m_mask = mask;
263  if (rgb != 0) {
264  m_rgb[0] = rgb[0]; m_rgb[1] = rgb[1]; m_rgb[2] = rgb[2];
265  }
266  }
267 
269  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
270  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
271  { return TK_Color_RGB::Interpret(tk, key, special); }
272  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
273 };
274 
276 
286 class HBINFILETK_API HTK_Color_By_Value : public TK_Color_By_Value {
287  public:
289  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
290  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
291  { return TK_Color_By_Value::Interpret(tk, key, special); }
292  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
293 };
294 
296 
306 class HBINFILETK_API HTK_Color_By_Index : public TK_Color_By_Index {
307  public:
309  HTK_Color_By_Index (unsigned char opcode, int mask=0, int index=0)
310  : TK_Color_By_Index (opcode) { m_mask = mask; m_index = index; }
311 
313  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
314  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
315  { return TK_Color_By_Index::Interpret(tk, key, special); }
316  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
317 };
318 
319 
321 
331 class HBINFILETK_API HTK_Color_By_FIndex : public TK_Color_By_FIndex {
332  public:
334  HTK_Color_By_FIndex (int mask=0, float index=0.0f)
335  : TK_Color_By_FIndex () { m_mask = mask; m_index = index; }
336 
338  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
339  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
340  { return TK_Color_By_FIndex::Interpret(tk, key, special); }
341  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
342 };
343 
347 class HBINFILETK_API HTK_Color_Composite : public BBaseOpcodeHandler {
348  protected:
349  BBaseOpcodeHandler * m_parts[16];
350 
351  public:
354 
358  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
359  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
360  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
361  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
362 };
363 
364 
367 
377 class HBINFILETK_API HTK_Color_Map : public TK_Color_Map {
378  public:
380  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
381  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
382  { return TK_Color_Map::Interpret(tk, key, special); }
383  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
384 };
385 
388 
398 class HBINFILETK_API HTK_Callback : public TK_Callback {
399  public:
401  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
402  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
403  { return TK_Callback::Interpret(tk, key, special); }
404  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
405 };
406 
408 
410 
420 class HBINFILETK_API HTK_Rendering_Options : public TK_Rendering_Options {
421  public:
423  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
424  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
425  { return TK_Rendering_Options::Interpret(tk, key, special); }
426  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
427 };
428 
431 
441 class HBINFILETK_API HTK_Heuristics : public TK_Heuristics {
442  public:
444  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
445  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
446  { return TK_Heuristics::Interpret(tk, key, special); }
447  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
448 };
449 
452 
462 class HBINFILETK_API HTK_Geometry_Options : public TK_Geometry_Options {
463  public:
465  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
466  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
467  { return TK_Geometry_Options::Interpret(tk, key, special); }
468  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
469 };
470 
473 
483 class HBINFILETK_API HTK_Visibility : public TK_Visibility {
484  public:
486  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
487  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
488  { return TK_Visibility::Interpret(tk, key, special); }
489  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
490 };
491 
494 
504 class HBINFILETK_API HTK_Selectability : public TK_Selectability {
505  public:
507  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
508  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
509  { return TK_Selectability::Interpret(tk, key, special); }
510  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
511 };
512 
514 
524 class HBINFILETK_API HTK_Matrix : public TK_Matrix {
525  public:
527  HTK_Matrix (unsigned char opcode) : TK_Matrix (opcode) {}
528 
530  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
531  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
532  { return TK_Matrix::Interpret(tk, key, special); }
533  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
534 };
535 
537 
542 class HBINFILETK_API HTK_Enumerated : public TK_Enumerated {
543  public:
545  HTK_Enumerated (unsigned char opcode) : TK_Enumerated (opcode) {}
546 
548  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
549  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
550  { return TK_Enumerated::Interpret(tk, key, special); }
551  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
552 };
553 
555 class HBINFILETK_API HTK_Size : public TK_Size {
556  public:
558  HTK_Size (unsigned char opcode) : TK_Size (opcode) {}
559 
561  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
562  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
563  { return TK_Size::Interpret(tk, key, special); }
564  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
565 };
566 
568 
572 class HBINFILETK_API HTK_Linear_Pattern : public TK_Linear_Pattern {
573  public:
575  HTK_Linear_Pattern (unsigned char opcode) : TK_Linear_Pattern (opcode) {}
576 
578  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
579  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
580  { return TK_Linear_Pattern::Interpret(tk, key, special); }
581  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
582 };
583 
585 
588 class HBINFILETK_API HTK_Named : public TK_Named {
589  public:
591  HTK_Named (unsigned char opcode) : TK_Named (opcode) {}
592 
594  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
595  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
596  { return TK_Named::Interpret(tk, key, special); }
597  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
598 };
599 
600 
602 class HBINFILETK_API HTK_Streaming : public TK_Streaming {
603  public:
605  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
606  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
607  { return TK_Streaming::Interpret(tk, key, special); }
608  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
609 };
610 
613 
623 class HBINFILETK_API HTK_Conditions : public TK_Conditions {
624  public:
626  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
627  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
628  { return TK_Conditions::Interpret(tk, key, special); }
629  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
630 };
631 
634 
644 class HBINFILETK_API HTK_Conditional_Action : public TK_Conditional_Action {
645  friend class HTK_Conditional_Actions;
646  public:
648  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
649  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
650  { return TK_Conditional_Action::Interpret(tk, key, special); }
651  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
652 };
653 
657 class HBINFILETK_API HTK_Conditional_Actions : public BBaseOpcodeHandler {
658  protected:
659  BBaseOpcodeHandler * m_parts[16];
660 
661  public:
664 
668  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
669  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
670  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
671  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
672 };
673 
676 
686 class HBINFILETK_API HTK_User_Options : public TK_User_Options {
687  public:
689  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
690  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
691  { return TK_User_Options::Interpret(tk, key, special); }
692  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
693 };
694 
697 
707 class HBINFILETK_API HTK_Unicode_Options : public TK_Unicode_Options {
708  public:
710  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
711  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
712  { return TK_Unicode_Options::Interpret(tk, key, special); }
713  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
714 };
715 
717 
727 class HBINFILETK_API HTK_User_Index : public TK_User_Index {
728  public:
730  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
731  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
732  { return TK_User_Index::Interpret(tk, key, special); }
733  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
734 };
735 
737 
747 class HBINFILETK_API HTK_User_Index_Data : public TK_User_Index_Data {
748 public:
750  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
751  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
752  { return TK_User_Index_Data::Interpret(tk, key, special); }
753  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
754 };
755 
757 
767 class HBINFILETK_API HTK_User_Value : public TK_User_Value {
768  public:
770  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
771  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
772  { return TK_User_Value::Interpret(tk, key, special); }
773  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
774 };
775 
777 
787 class HBINFILETK_API2 HTK_Camera : public TK_Camera {
788  public:
790  HTK_Camera (unsigned char opcode = TKE_Camera) : TK_Camera (opcode) {}
791 
793  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
794  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
795  { return TK_Camera::Interpret(tk, key, special); }
796  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
797 };
798 
799 
801 
811 class HBINFILETK_API HTK_Window : public TK_Window {
812  public:
814  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
815  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
816  { return TK_Window::Interpret(tk, key, special); }
817  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
818 };
819 
820 
822 
833 class HBINFILETK_API HTK_Clip_Region : public TK_Clip_Region {
834  public:
836  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
837  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
838  { return TK_Clip_Region::Interpret(tk, key, special); }
839  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
840 };
841 
842 
844 
854 class HBINFILETK_API HTK_Clip_Rectangle : public TK_Clip_Rectangle {
855  public:
857  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
858 };
859 
860 
862 
872 class HBINFILETK_API HTK_Text_Font : public TK_Text_Font {
873  public:
875  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
876  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
877  { return TK_Text_Font::Interpret(tk, key, special); }
878  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
879 };
880 
882 
884 
898 class HBINFILETK_API2 HTK_Bounding : public TK_Bounding {
899  public:
901  HTK_Bounding (unsigned char opcode)
902  : TK_Bounding (opcode) {}
904  HTK_Bounding (unsigned char opcode, float * min, float * max)
905  : TK_Bounding (opcode, min, max) {}
907  HTK_Bounding (unsigned char opcode, float * center, float radius)
908  : TK_Bounding (opcode, center, radius) {}
909 
911  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
912  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
913  { return TK_Bounding::Interpret(tk, key, special); }
914  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
915 };
916 
919 
929 class HBINFILETK_API HTK_Point : public TK_Point {
930  public:
932  HTK_Point (unsigned char opcode) : TK_Point (opcode) {}
933 
935  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
936  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
937  { return TK_Point::Interpret(tk, key, special); }
938  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
939 };
940 
941 
943 
953 class HBINFILETK_API HTK_Line : public TK_Line {
954  public:
956  HTK_Line (unsigned char opcode = TKE_Line) : TK_Line (opcode) {}
957 
959  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
960  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
961  { return TK_Line::Interpret(tk, key, special); }
962  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
963 };
964 
966 
976 class HBINFILETK_API HTK_Polypoint : public TK_Polypoint {
977  public:
979  HTK_Polypoint (unsigned char opcode) : TK_Polypoint (opcode) {}
980 
982  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
983  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
984  { return TK_Polypoint::Interpret(tk, key, special); }
985  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
986 };
987 
989 
999 class HBINFILETK_API HTK_NURBS_Curve : public TK_NURBS_Curve {
1000  public:
1001 
1003  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1004  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1005  { return TK_NURBS_Curve::Interpret(tk, key, special); }
1006  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1007 };
1008 
1010 
1020 class HBINFILETK_API HTK_NURBS_Surface : public TK_NURBS_Surface {
1021  protected:
1022 
1024  TK_Status interpret_trim (BStreamFileToolkit & tk, int);
1026  TK_Status execute_trim (BStreamFileToolkit & tk, HT_NURBS_Trim *);
1027 
1028  public:
1029 
1031  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1032  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1033  { return TK_NURBS_Surface::Interpret(tk, key, special); }
1034  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1035 };
1036 
1038 
1048 class HBINFILETK_API HTK_Area_Light : public TK_Area_Light {
1049  public:
1050 
1052  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1053  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1054  { return TK_Area_Light::Interpret(tk, key, special); }
1055  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1056 };
1057 
1059 
1069 class HBINFILETK_API HTK_Spot_Light : public TK_Spot_Light {
1070  public:
1072  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1073  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1074  { return TK_Spot_Light::Interpret(tk, key, special); }
1075  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1076 };
1077 
1079 
1089 class HBINFILETK_API HTK_Cutting_Plane : public TK_Cutting_Plane {
1090  public:
1092  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1093  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1094  { return TK_Cutting_Plane::Interpret(tk, key, special); }
1095  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1096 };
1097 
1099 
1109 class HBINFILETK_API HTK_Circle : public TK_Circle {
1110  public:
1112  HTK_Circle (unsigned char opcode) : TK_Circle (opcode) {}
1113 
1115  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1116  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1117  { return TK_Circle::Interpret(tk, key, special); }
1118  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1119 };
1120 
1122 
1132 class HBINFILETK_API HTK_Ellipse : public TK_Ellipse {
1133  public:
1135  HTK_Ellipse (unsigned char opcode) : TK_Ellipse (opcode) {}
1136 
1138  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1139  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1140  { return TK_Ellipse::Interpret(tk, key, special); }
1141  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1142 };
1143 
1145 
1155 class HBINFILETK_API HTK_Sphere : public TK_Sphere {
1156  public:
1159 
1161  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1162  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1163  { return TK_Sphere::Interpret(tk, key, special); }
1164  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1165 };
1166 
1168 
1178 class HBINFILETK_API HTK_Cylinder : public TK_Cylinder {
1179  public:
1182 
1184  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1185  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1186  { return TK_Cylinder::Interpret(tk, key, special); }
1187  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1188 };
1189 
1191 
1201 class HBINFILETK_API HTK_PolyCylinder : public TK_PolyCylinder {
1202  public:
1205 
1207  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1208  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1209  { return TK_PolyCylinder::Interpret(tk, key, special); }
1210  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1211 };
1212 
1214 
1224 class HBINFILETK_API HTK_Grid : public TK_Grid {
1225  public:
1227  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1228  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1229  { return TK_Grid::Interpret(tk, key, special); }
1230  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1231 };
1232 
1235 
1245 class HBINFILETK_API HTK_Text : public TK_Text {
1246  public:
1248  HTK_Text (unsigned char opcode) : TK_Text (opcode) {}
1249 
1251  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1252  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1253  { return TK_Text::Interpret(tk, key, special); }
1254  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1255 };
1256 
1259 
1269 class HBINFILETK_API HTK_Font : public TK_Font {
1270  public:
1272  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1273  { return TK_Font::Interpret(tk, key, variant); }
1274  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1275  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1276 };
1277 
1278 
1281 
1291 class HBINFILETK_API2 HTK_Image : public TK_Image {
1292  public:
1293  HTK_Image () {
1294  m_jpeg_native = true;
1295  }
1296 
1298  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1299  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1300  { return TK_Image::Interpret(tk, key, special); }
1301  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1302 };
1303 
1304 
1307 
1317 class HBINFILETK_API2 HTK_Texture : public TK_Texture {
1318  protected:
1319  int mh_stage;
1322 
1323  public:
1324  HTK_Texture () : mh_stage (0), m_referee (0) {}
1325  ~HTK_Texture ();
1326 
1329  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1330  { return TK_Texture::Interpret(tk, key, variant); }
1331  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1332  void Reset ();
1333  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1334 };
1335 
1337 class HBINFILETK_API2 HTK_Texture_Definitions : public BBaseOpcodeHandler {
1338  protected:
1342 
1343  public:
1344  HTK_Texture_Definitions (bool shader = false);
1346 
1350  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1351  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1352  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1353 
1354  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1355 };
1356 
1359 
1369 class HBINFILETK_API2 HTK_Glyph_Definition : public TK_Glyph_Definition {
1370  public:
1372  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1373  { return TK_Glyph_Definition::Interpret(tk, key, variant); }
1374  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1375  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1376 };
1377 
1380 class HBINFILETK_API2 HTK_Glyph_Definitions : public BBaseOpcodeHandler {
1381  protected:
1384  public:
1387 
1391  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1392  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1393  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1394  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1395 };
1396 
1399 
1409 class HBINFILETK_API2 HTK_Named_Style_Def : public TK_Named_Style_Def {
1410  protected:
1412  int mh_stage;
1414  public:
1416  HTK_Named_Style_Def () : TK_Named_Style_Def (), mh_stage (0) {}
1417 
1420  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1421  { return TK_Named_Style_Def::Interpret(tk, key, variant); }
1422  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1423  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1424 
1425  void SetRoot (HC_KEY root) { m_root = root; }
1426  HC_KEY GetRoot () const { return m_root; }
1427 
1428  void Reset ();
1429 };
1430 
1433 class HBINFILETK_API2 HTK_Named_Style_Defs : public BBaseOpcodeHandler {
1434  protected:
1438  public:
1441 
1445  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1446  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1447  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1448  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1449 
1450  void SetRoot (HC_KEY root) { m_root = root; }
1451  HC_KEY GetRoot () const { return m_root; }
1452 };
1453 
1454 
1457 
1467 class HBINFILETK_API2 HTK_Line_Style : public TK_Line_Style {
1468  public:
1470  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1471  { return TK_Line_Style::Interpret(tk, key, variant); }
1472  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1473  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1474 };
1475 
1478 class HBINFILETK_API2 HTK_Line_Styles : public BBaseOpcodeHandler {
1479  protected:
1482  public:
1483  HTK_Line_Styles ();
1484  ~HTK_Line_Styles ();
1485 
1489  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1490  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1491  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1492  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1493 };
1494 
1495 #endif //HOPCODE_HANDLER
1496 
BBaseOpcodeHandler ** m_parts
Array of line pattern def handlers.
Definition: HOpcodeHandler.h:1480
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:215
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:794
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:445
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1329
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:466
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:290
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:66
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:549
HC_KEY m_root
relative root
Definition: HOpcodeHandler.h:1437
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:606
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1073
HC_KEY m_root
Definition: HOpcodeHandler.h:85
ID_Key mh_owner
Definition: HOpcodeHandler.h:121
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1252
HTK_Bounding(unsigned char opcode)
Definition: HOpcodeHandler.h:901
Provides HOOPS/3dGS-specific handling of the TKE_User_Options opcode.
Definition: HOpcodeHandler.h:686
HTK_Size(unsigned char opcode)
Definition: HOpcodeHandler.h:558
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1552
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:381
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Delete_Object opcode.
Definition: HOpcodeHandler.h:165
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1524
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4714
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1272
HTK_Cylinder()
Definition: HOpcodeHandler.h:1181
Definition: HOpcodeHandler.h:1380
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:158
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:7189
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:2257
int mh_stage
Definition: HOpcodeHandler.h:1319
Provides HOOPS/3dGS-specific handling of the TKE_Geometry_Options opcode.
Definition: HOpcodeHandler.h:462
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:627
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:424
Provides HOOPS/3dGS-specific handling of the TKE_Glyph_Definition.
Definition: HOpcodeHandler.h:1369
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:5190
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: HOpcodeHandler.h:1245
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1674
Provides HOOPS/3dGS-specific handling of the TKE_LOD opcode.
Definition: HOpcodeHandler.h:184
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4816
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:240
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:94
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:8389
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:169
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcode.
Definition: HOpcodeHandler.h:62
Provides HOOPS/3dGS-specific handling of the TKE_Color_RGB opcode.
Definition: HOpcodeHandler.h:257
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:751
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:8508
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:1337
Provides HOOPS/3dGS-specific handling of the TKE_Rendering_Options opcode.
Definition: HOpcodeHandler.h:420
HC_KEY GetRoot() const
Definition: HOpcodeHandler.h:104
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Surface opcode.
Definition: HOpcodeHandler.h:1020
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:8133
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:771
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1583
#define HC_KEY
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1185
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Camera opcode.
Definition: HOpcodeHandler.h:787
Provides HOOPS/3dGS-specific handling of the TKE_Streaming_Mode opcode.
Definition: HOpcodeHandler.h:602
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1806
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1372
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:6451
HC_KEY m_root
Definition: HOpcodeHandler.h:1413
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:960
Provides HOOPS/3dGS-specific handling of the TKE_PolyCylinder opcode.
Definition: HOpcodeHandler.h:1201
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2500
Provides HOOPS/3dGS-specific handling of various opcodes.
Definition: HOpcodeHandler.h:542
Provides HOOPS/3dGS-specific handling of the TKE_Spot_Light opcode.
Definition: HOpcodeHandler.h:1069
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1481
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:595
int mh_stage
Definition: HOpcodeHandler.h:120
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1465
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1470
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:690
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:7068
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int mh_stage
Definition: HOpcodeHandler.h:1412
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5445
Provides HOOPS/3dGS-specific handling of the TKE_Callback opcode.
Definition: HOpcodeHandler.h:398
Provides HOOPS/3dGS-specific handling of the TKE_Visibility opcode.
Definition: HOpcodeHandler.h:483
Provides HOOPS/3dGS-specific handling of the TKE_Image opcode.
Definition: HOpcodeHandler.h:1291
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7872
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1208
BBaseOpcodeHandler * m_referee
for internal use only
Definition: HOpcodeHandler.h:1320
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:7708
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:5407
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:34
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2012
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4551
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1383
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6847
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Write(BStreamFileToolkit &tk)
Provides HOOPS/3dGS-specific handling of the TKE_Named_Style_Defs.
Definition: HOpcodeHandler.h:1409
Definition: BOpcodeHandler.h:5163
Provides HOOPS/3dGS-specific handling of the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: HOpcodeHandler.h:1132
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:6613
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6777
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Provides HOOPS/3dGS-specific handling of the TKE_Renumber_Key_Local and TKE_Renumber_Key_Global opcod...
Definition: HOpcodeHandler.h:206
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:8438
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1139
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1467
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:130
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcodes.
Definition: HOpcodeHandler.h:82
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1382
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1878
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1004
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:188
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:5088
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1749
Provides HOOPS/3dGS-specific handling of the TKE_Selectability opcode.
Definition: HOpcodeHandler.h:504
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:6364
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:5262
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:531
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1340
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1446
Provides HOOPS/3dGS-specific handling of the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: HOpcodeHandler.h:898
Provides HOOPS/3dGS-specific handling of the TKE_Sphere opcode.
Definition: HOpcodeHandler.h:1155
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Curve opcode.
Definition: HOpcodeHandler.h:999
Provides HOOPS/3dGS-specific handling of the TKE_Edge_Pattern opcode.
Definition: HOpcodeHandler.h:572
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Write(BStreamFileToolkit &tk)
Provides HOOPS/3dGS-specific handling of the TKE_Color opcode.
Definition: HOpcodeHandler.h:231
HC_KEY m_key
segment key
Definition: HOpcodeHandler.h:1411
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:936
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:8558
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5897
int mh_stage
Definition: HOpcodeHandler.h:84
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5493
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1420
Definition: BOpcodeHandler.h:5131
Provides HOOPS/3dGS-specific handling of the TKE_User_Value opcode.
Definition: HOpcodeHandler.h:767
Definition: HOpcodeHandler.h:1433
Provides HOOPS/3dGS-specific handling of the TKE_Polyine and TKE_Polygon opcodes. ...
Definition: HOpcodeHandler.h:976
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Value opcode.
Definition: HOpcodeHandler.h:286
Provides HOOPS/3dGS-specific handling of the TKE_Close_Segment opcode.
Definition: HOpcodeHandler.h:52
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1032
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:6184
HTK_Color(int mask=0, int channels=0)
Definition: HOpcodeHandler.h:235
HTK_Named(unsigned char opcode)
Definition: HOpcodeHandler.h:591
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1490
Provides HOOPS/3dGS-specific handling of the TKE_Conditional_Action opcode.
Definition: HOpcodeHandler.h:644
HTK_Referenced_Segment(char opcode)
Definition: HOpcodeHandler.h:89
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:579
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:213
Provides HOOPS/3dGS-specific handling of the TKE_Window opcode.
Definition: HOpcodeHandler.h:811
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:815
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4915
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:487
Definition: HOpcodeHandler.h:347
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Circle(unsigned char opcode)
Definition: HOpcodeHandler.h:1112
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2205
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Rectangle opcode.
Definition: HOpcodeHandler.h:854
HTK_PolyCylinder()
Definition: HOpcodeHandler.h:1204
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:339
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:7281
HTK_Line(unsigned char opcode=TKE_Line)
Definition: HOpcodeHandler.h:956
Provides HOOPS/3dGS-specific handling of the TKE_Matrix opcode.
Definition: HOpcodeHandler.h:524
HTK_Renumber(unsigned char opcode, HC_KEY key=0)
Definition: HOpcodeHandler.h:209
Provides HOOPS/3dGS-specific handling of the TKE_Line_Weight, TKE_Edge_Weight, TKE_Marker_Size and TK...
Definition: HOpcodeHandler.h:555
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:6303
HTK_Polypoint(unsigned char opcode)
Definition: HOpcodeHandler.h:979
Provides HOOPS/3dGS-specific handling of the TKE_Text_Font opcode.
Definition: HOpcodeHandler.h:872
Handles the TKE_Bounding, and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:6120
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:5603
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:56
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Region opcode.
Definition: HOpcodeHandler.h:833
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode...
Definition: HOpcodeHandler.h:306
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:7606
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1436
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2960
HTK_Linear_Pattern(unsigned char opcode)
Definition: HOpcodeHandler.h:575
Provides HOOPS/3dGS-specific handling of the TKE_Grid opcode.
Definition: HOpcodeHandler.h:1224
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1435
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:912
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:270
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:53
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_FIndex opcode.
Definition: HOpcodeHandler.h:331
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:242
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5765
Provides HOOPS/3dGS-specific handling of the TKE_Cylinder opcode.
Definition: HOpcodeHandler.h:1178
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4761
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:731
HTK_Ellipse(unsigned char opcode)
Definition: HOpcodeHandler.h:1135
Provides HOOPS/3dGS-specific handling of the TKE_Unicode_Options opcode.
Definition: HOpcodeHandler.h:707
Provides HOOPS/3dGS-specific handling of the TKE_Color_Map opcode.
Definition: HOpcodeHandler.h:377
Provides HOOPS/3dGS-specific handling of the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE...
Definition: HOpcodeHandler.h:1109
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_User_Index opcode.
Definition: HOpcodeHandler.h:727
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:983
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Camera(unsigned char opcode=TKE_Camera)
Definition: HOpcodeHandler.h:790
HTK_Enumerated(unsigned char opcode)
Definition: HOpcodeHandler.h:545
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:6529
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2318
#define ID_Key
Definition: BStream.h:218
HTK_Color_RGB(int mask=0, float const *rgb=0)
Definition: HOpcodeHandler.h:260
void SetRoot(HC_KEY root)
Definition: HOpcodeHandler.h:101
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1228
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:314
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1392
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1116
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:5361
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:8611
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:669
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1162
bool m_is_shader
search for shaders, not textures
Definition: HOpcodeHandler.h:1341
Definition: HOpcodeHandler.h:1478
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2425
Provides HOOPS/3dGS-specific handling of the TKE_Marker_Symbol, TKE_Line_Pattern, and TKE_Edge_Patter...
Definition: HOpcodeHandler.h:588
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:657
HTK_Matrix(unsigned char opcode)
Definition: HOpcodeHandler.h:527
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:837
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:508
Provides HOOPS/3dGS-specific handling of the TKE_Font opcode.
Definition: HOpcodeHandler.h:1269
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1093
HTK_Color_By_FIndex(int mask=0, float index=0.0f)
Definition: HOpcodeHandler.h:334
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1351
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1053
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:5311
Provides HOOPS/3dGS-specific handling of the TKE_Heuristics opcode.
Definition: HOpcodeHandler.h:441
Provides HOOPS/3dGS-specific handling of the TKE_Open_Segment opcode.
Definition: HOpcodeHandler.h:31
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:205
Definition: BOpcodeHandler.h:5234
void Reset()
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1299
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1777
Provides HOOPS/3dGS-specific handling of the TKE_Repeat_Object opcode.
Definition: HOpcodeHandler.h:150
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:649
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:6694
HC_KEY m_key
for internal use only
Definition: HOpcodeHandler.h:1321
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Conditions opcode.
Definition: HOpcodeHandler.h:623
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:359
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:6244
virtual TK_Status Execute(BStreamFileToolkit &tk)
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1317
Provides HOOPS/3dGS-specific handling of the TKE_Cutting_Plane opcode.
Definition: HOpcodeHandler.h:1089
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:562
HTK_Bounding(unsigned char opcode, float *min, float *max)
Definition: HOpcodeHandler.h:904
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Named_Style_Def()
Definition: HOpcodeHandler.h:1416
Provides HOOPS/3dGS-specific handling of the TKE_User_Index_Data opcode.
Definition: HOpcodeHandler.h:747
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:711
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6978
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:7406
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Color_By_Index(unsigned char opcode, int mask=0, int index=0)
Definition: HOpcodeHandler.h:309
Provides HOOPS/3dGS-specific handling of the TKE_Area_Light opcode.
Definition: HOpcodeHandler.h:1048
HTK_Text(unsigned char opcode)
Definition: HOpcodeHandler.h:1248
virtual TK_Status Write(BStreamFileToolkit &tk)=0
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:5554
HTK_Bounding(unsigned char opcode, float *center, float radius)
Definition: HOpcodeHandler.h:907
Provides HOOPS/3dGS-specific handling of the TKE_Line, TKE_Infinite_Line, and TKE_Infinite_Ray opcode...
Definition: HOpcodeHandler.h:953
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:876
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2367
Provides HOOPS/3dGS-specific handling of the TKE_Reference opcode.
Definition: HOpcodeHandler.h:118
HTK_Sphere()
Definition: HOpcodeHandler.h:1158
Provides HOOPS/3dGS-specific handling of the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: HOpcodeHandler.h:929
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Reference()
Definition: HOpcodeHandler.h:125
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:402
BBaseOpcodeHandler ** m_parts
Array of texture handlers.
Definition: HOpcodeHandler.h:1339
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Point(unsigned char opcode)
Definition: HOpcodeHandler.h:932