Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

HOpcodeHandler.h
1 // Copyright (c) Tech Soft 3D
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 
855 class HBINFILETK_API HTK_Complex_Clip_Region : public TK_Complex_Clip_Region {
856  public:
858  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
859  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
860  { return TK_Complex_Clip_Region::Interpret(tk, key, special); }
861  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
862 };
863 
864 
866 
876 class HBINFILETK_API HTK_Clip_Rectangle : public TK_Clip_Rectangle {
877  public:
879  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
880 };
881 
882 
884 
894 class HBINFILETK_API HTK_Text_Font : public TK_Text_Font {
895  public:
897  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
898  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
899  { return TK_Text_Font::Interpret(tk, key, special); }
900  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
901 };
902 
904 
906 
920 class HBINFILETK_API2 HTK_Bounding : public TK_Bounding {
921  public:
923  HTK_Bounding (unsigned char opcode)
924  : TK_Bounding (opcode) {}
926  HTK_Bounding (unsigned char opcode, float * min, float * max)
927  : TK_Bounding (opcode, min, max) {}
929  HTK_Bounding (unsigned char opcode, float * center, float radius)
930  : TK_Bounding (opcode, center, radius) {}
931 
933  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
934  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
935  { return TK_Bounding::Interpret(tk, key, special); }
936  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
937 };
938 
941 
951 class HBINFILETK_API HTK_Point : public TK_Point {
952  public:
954  HTK_Point (unsigned char opcode) : TK_Point (opcode) {}
955 
957  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
958  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
959  { return TK_Point::Interpret(tk, key, special); }
960  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
961 };
962 
963 
965 
975 class HBINFILETK_API HTK_Line : public TK_Line {
976  public:
978  HTK_Line (unsigned char opcode = TKE_Line) : TK_Line (opcode) {}
979 
981  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
982  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
983  { return TK_Line::Interpret(tk, key, special); }
984  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
985 };
986 
988 
998 class HBINFILETK_API HTK_Polypoint : public TK_Polypoint {
999  public:
1001  HTK_Polypoint (unsigned char opcode) : TK_Polypoint (opcode) {}
1002 
1004  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1005  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1006  { return TK_Polypoint::Interpret(tk, key, special); }
1007  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1008 };
1009 
1011 
1021 class HBINFILETK_API HTK_NURBS_Curve : public TK_NURBS_Curve {
1022  public:
1023 
1025  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1026  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1027  { return TK_NURBS_Curve::Interpret(tk, key, special); }
1028  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1029 };
1030 
1032 
1042 class HBINFILETK_API HTK_NURBS_Surface : public TK_NURBS_Surface {
1043  protected:
1044 
1046  TK_Status interpret_trim (BStreamFileToolkit & tk, int);
1048  TK_Status execute_trim (BStreamFileToolkit & tk, HT_NURBS_Trim *);
1049 
1050  public:
1051 
1053  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1054  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1055  { return TK_NURBS_Surface::Interpret(tk, key, special); }
1056  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1057 };
1058 
1060 
1070 class HBINFILETK_API HTK_Area_Light : public TK_Area_Light {
1071  public:
1072 
1074  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1075  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1076  { return TK_Area_Light::Interpret(tk, key, special); }
1077  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1078 };
1079 
1081 
1091 class HBINFILETK_API HTK_Spot_Light : public TK_Spot_Light {
1092  public:
1094  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1095  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1096  { return TK_Spot_Light::Interpret(tk, key, special); }
1097  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1098 };
1099 
1101 
1111 class HBINFILETK_API HTK_Cutting_Plane : public TK_Cutting_Plane {
1112  public:
1114  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1115  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1116  { return TK_Cutting_Plane::Interpret(tk, key, special); }
1117  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1118 };
1119 
1121 
1131 class HBINFILETK_API HTK_Circle : public TK_Circle {
1132  public:
1134  HTK_Circle (unsigned char opcode) : TK_Circle (opcode) {}
1135 
1137  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1138  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1139  { return TK_Circle::Interpret(tk, key, special); }
1140  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1141 };
1142 
1144 
1154 class HBINFILETK_API HTK_Ellipse : public TK_Ellipse {
1155  public:
1157  HTK_Ellipse (unsigned char opcode) : TK_Ellipse (opcode) {}
1158 
1160  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1161  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1162  { return TK_Ellipse::Interpret(tk, key, special); }
1163  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1164 };
1165 
1167 
1177 class HBINFILETK_API HTK_Sphere : public TK_Sphere {
1178  public:
1181 
1183  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1184  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1185  { return TK_Sphere::Interpret(tk, key, special); }
1186  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1187 };
1188 
1190 
1200 class HBINFILETK_API HTK_Cylinder : public TK_Cylinder {
1201  public:
1204 
1206  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1207  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1208  { return TK_Cylinder::Interpret(tk, key, special); }
1209  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1210 };
1211 
1213 
1223 class HBINFILETK_API HTK_PolyCylinder : public TK_PolyCylinder {
1224  public:
1227 
1229  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1230  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1231  { return TK_PolyCylinder::Interpret(tk, key, special); }
1232  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1233 };
1234 
1236 
1246 class HBINFILETK_API HTK_Grid : public TK_Grid {
1247  public:
1249  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1250  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1251  { return TK_Grid::Interpret(tk, key, special); }
1252  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1253 };
1254 
1257 
1267 class HBINFILETK_API HTK_Text : public TK_Text {
1268  public:
1270  HTK_Text (unsigned char opcode) : TK_Text (opcode) {}
1271 
1273  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1274  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1275  { return TK_Text::Interpret(tk, key, special); }
1276  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1277 };
1278 
1281 
1291 class HBINFILETK_API HTK_Font : public TK_Font {
1292  public:
1294  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1295  { return TK_Font::Interpret(tk, key, variant); }
1296  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1297  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1298 };
1299 
1300 
1303 
1313 class HBINFILETK_API2 HTK_Image : public TK_Image {
1314  public:
1315  HTK_Image () {
1316  m_jpeg_native = true;
1317  }
1318 
1320  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1321  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1322  { return TK_Image::Interpret(tk, key, special); }
1323  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1324 };
1325 
1326 
1329 
1339 class HBINFILETK_API2 HTK_Texture : public TK_Texture {
1340  protected:
1341  int mh_stage;
1344 
1345  public:
1346  HTK_Texture () : mh_stage (0), m_referee (0) {}
1347  ~HTK_Texture ();
1348 
1351  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1352  { return TK_Texture::Interpret(tk, key, variant); }
1353  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1354  void Reset ();
1355  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1356 };
1357 
1359 class HBINFILETK_API2 HTK_Texture_Definitions : public BBaseOpcodeHandler {
1360  protected:
1364 
1365  public:
1366  HTK_Texture_Definitions (bool shader = false);
1368 
1372  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1373  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1374  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1375 
1376  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1377 };
1378 
1381 
1391 class HBINFILETK_API2 HTK_Glyph_Definition : public TK_Glyph_Definition {
1392  public:
1394  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1395  { return TK_Glyph_Definition::Interpret(tk, key, variant); }
1396  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1397  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1398 };
1399 
1402 class HBINFILETK_API2 HTK_Glyph_Definitions : public BBaseOpcodeHandler {
1403  protected:
1406  public:
1409 
1413  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1414  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1415  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1416  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1417 };
1418 
1421 
1431 class HBINFILETK_API2 HTK_Named_Style_Def : public TK_Named_Style_Def {
1432  protected:
1434  int mh_stage;
1436  public:
1438  HTK_Named_Style_Def () : TK_Named_Style_Def (), mh_stage (0) {}
1439 
1442  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1443  { return TK_Named_Style_Def::Interpret(tk, key, variant); }
1444  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1445  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1446 
1447  void SetRoot (HC_KEY root) { m_root = root; }
1448  HC_KEY GetRoot () const { return m_root; }
1449 
1450  void Reset ();
1451 };
1452 
1455 class HBINFILETK_API2 HTK_Named_Style_Defs : public BBaseOpcodeHandler {
1456  protected:
1460  public:
1463 
1467  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1468  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1469  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1470  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1471 
1472  void SetRoot (HC_KEY root) { m_root = root; }
1473  HC_KEY GetRoot () const { return m_root; }
1474 };
1475 
1476 
1479 
1489 class HBINFILETK_API2 HTK_Line_Style : public TK_Line_Style {
1490  public:
1492  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1493  { return TK_Line_Style::Interpret(tk, key, variant); }
1494  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1495  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1496 };
1497 
1500 class HBINFILETK_API2 HTK_Line_Styles : public BBaseOpcodeHandler {
1501  protected:
1504  public:
1505  HTK_Line_Styles ();
1506  ~HTK_Line_Styles ();
1507 
1511  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1512  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1513  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1514  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1515 };
1516 
1517 #endif //HOPCODE_HANDLER
1518 
BBaseOpcodeHandler ** m_parts
Array of line pattern def handlers.
Definition: HOpcodeHandler.h:1502
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:1351
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:1459
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:1095
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:1274
HTK_Bounding(unsigned char opcode)
Definition: HOpcodeHandler.h:923
Provides HOOPS/3dGS-specific handling of the TKE_User_Options opcode.
Definition: HOpcodeHandler.h:686
HTK_Size(unsigned char opcode)
Definition: HOpcodeHandler.h:558
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1565
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:1537
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4765
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1294
HTK_Cylinder()
Definition: HOpcodeHandler.h:1203
Definition: HOpcodeHandler.h:1402
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:7242
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:2273
int mh_stage
Definition: HOpcodeHandler.h:1341
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:1391
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:5241
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:1267
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1690
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:4867
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:8444
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:8563
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:1359
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:1042
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:8188
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:1596
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1207
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:1822
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1394
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:6504
HC_KEY m_root
Definition: HOpcodeHandler.h:1435
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:982
Provides HOOPS/3dGS-specific handling of the TKE_PolyCylinder opcode.
Definition: HOpcodeHandler.h:1223
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:2516
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:1091
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1503
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:1478
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1492
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:690
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:7121
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int mh_stage
Definition: HOpcodeHandler.h:1434
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5496
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:1313
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7927
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1230
BBaseOpcodeHandler * m_referee
for internal use only
Definition: HOpcodeHandler.h:1342
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:7763
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:5458
#define HC_KEY
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:34
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2028
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4576
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1405
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6900
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:1431
Definition: BOpcodeHandler.h:5214
Provides HOOPS/3dGS-specific handling of the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: HOpcodeHandler.h:1154
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:6666
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6830
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:8493
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1161
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1489
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:1404
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1894
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:8730
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:1026
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:5139
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1765
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:6417
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:5313
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:1362
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1468
Provides HOOPS/3dGS-specific handling of the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: HOpcodeHandler.h:920
Provides HOOPS/3dGS-specific handling of the TKE_Sphere opcode.
Definition: HOpcodeHandler.h:1177
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Curve opcode.
Definition: HOpcodeHandler.h:1021
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:1433
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:859
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:958
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:8613
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5950
int mh_stage
Definition: HOpcodeHandler.h:84
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5544
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1442
Definition: BOpcodeHandler.h:5182
Provides HOOPS/3dGS-specific handling of the TKE_User_Value opcode.
Definition: HOpcodeHandler.h:767
Definition: HOpcodeHandler.h:1455
Provides HOOPS/3dGS-specific handling of the TKE_Polyine and TKE_Polygon opcodes. ...
Definition: HOpcodeHandler.h:998
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:1054
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:6237
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:1512
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:4966
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:1134
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2221
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Rectangle opcode.
Definition: HOpcodeHandler.h:876
HTK_PolyCylinder()
Definition: HOpcodeHandler.h:1226
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:339
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:7334
HTK_Line(unsigned char opcode=TKE_Line)
Definition: HOpcodeHandler.h:978
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:6356
HTK_Polypoint(unsigned char opcode)
Definition: HOpcodeHandler.h:1001
Provides HOOPS/3dGS-specific handling of the TKE_Text_Font opcode.
Definition: HOpcodeHandler.h:894
Handles the TKE_Bounding, and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:6173
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:5654
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:7661
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1458
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2980
HTK_Linear_Pattern(unsigned char opcode)
Definition: HOpcodeHandler.h:575
Provides HOOPS/3dGS-specific handling of the TKE_Grid opcode.
Definition: HOpcodeHandler.h:1246
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1457
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:934
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:254
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5816
Provides HOOPS/3dGS-specific handling of the TKE_Cylinder opcode.
Definition: HOpcodeHandler.h:1200
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4812
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:731
HTK_Ellipse(unsigned char opcode)
Definition: HOpcodeHandler.h:1157
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:1131
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:1005
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:6582
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Complex_Clip_Region opcode.
Definition: HOpcodeHandler.h:855
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:2334
#define ID_Key
Definition: BStream.h:230
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:1250
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:1414
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1138
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:5412
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:8666
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:1184
bool m_is_shader
search for shaders, not textures
Definition: HOpcodeHandler.h:1363
Definition: HOpcodeHandler.h:1500
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2441
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:1291
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1115
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:1373
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1075
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:5362
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:5285
void Reset()
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1321
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1793
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:6747
HC_KEY m_key
for internal use only
Definition: HOpcodeHandler.h:1343
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:6297
virtual TK_Status Execute(BStreamFileToolkit &tk)
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1339
Provides HOOPS/3dGS-specific handling of the TKE_Cutting_Plane opcode.
Definition: HOpcodeHandler.h:1111
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:926
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Named_Style_Def()
Definition: HOpcodeHandler.h:1438
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:7031
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:7459
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:1070
HTK_Text(unsigned char opcode)
Definition: HOpcodeHandler.h:1270
virtual TK_Status Write(BStreamFileToolkit &tk)=0
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:5605
HTK_Bounding(unsigned char opcode, float *center, float radius)
Definition: HOpcodeHandler.h:929
Provides HOOPS/3dGS-specific handling of the TKE_Line, TKE_Infinite_Line, and TKE_Infinite_Ray opcode...
Definition: HOpcodeHandler.h:975
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:898
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2383
Provides HOOPS/3dGS-specific handling of the TKE_Reference opcode.
Definition: HOpcodeHandler.h:118
HTK_Sphere()
Definition: HOpcodeHandler.h:1180
Provides HOOPS/3dGS-specific handling of the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: HOpcodeHandler.h:951
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:1361
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Point(unsigned char opcode)
Definition: HOpcodeHandler.h:954