HOpcodeHandler.h
1 // Copyright (c) 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 #include <limits>
18 
19 inline bool safe (double v, bool check_roundoff = false) {
20  if (std::abs(v) > (std::numeric_limits<float>::max)())
21  return false;
22  if (check_roundoff) {
23  if (std::abs(v - float(v)) > std::numeric_limits<float>::epsilon() * 0.001 * std::abs(v))
24  return false;
25  }
26  return true;
27 }
28 
29 inline bool safe (int c, double const * vs, bool check_roundoff = false) {
30  while (c-- > 0)
31  if (!safe(*vs++, check_roundoff))
32  return false;
33  return true;
34 }
35 
36 
37 
38 
39 
41 
43 
53 class HBINFILETK_API HTK_Open_Segment : public TK_Open_Segment {
54  public:
56  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
57  { return TK_Open_Segment::Interpret(tk, key, variant); }
58  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
59  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
60 };
61 
62 
64 
74 class HBINFILETK_API HTK_Close_Segment : public TK_Close_Segment {
75  public:
77  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
78  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
79  { return TK_Close_Segment::Interpret(tk, key, special); }
80  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
81 };
82 
84 class HBINFILETK_API HTK_Reopen_Segment : public TK_Reopen_Segment {
85  public:
87  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
88  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
89  { return TK_Reopen_Segment::Interpret(tk, key, special); }
90  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
91 };
92 
94 
104 class HBINFILETK_API HTK_Referenced_Segment : public TK_Referenced_Segment {
105  protected:
106  int mh_stage;
107  HC_KEY m_root;
109  public:
111  HTK_Referenced_Segment (char opcode) : TK_Referenced_Segment (opcode), mh_stage (0) {}
112 
115  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
116  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
117  { return TK_Referenced_Segment::Interpret(tk, key, special); }
118  void Reset ();
119  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
120 
123  void SetRoot (HC_KEY root) { m_root = root; }
124 
126  HC_KEY GetRoot () const { return m_root; }
127 };
128 
130 
140 class HBINFILETK_API HTK_Reference : public TK_Reference {
141  protected:
142  int mh_stage;
145  public:
147  HTK_Reference () : TK_Reference (), mh_stage (0), mh_owner (-1) {}
148 
151  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
152  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
153  { return TK_Reference::Interpret(tk, key, special); }
154  bool NeedsContext (BStreamFileToolkit & tk) const;
155  void Reset ();
156  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
157 
158  bool Direct() const { return m_referee == 0; }
159 };
160 
162 
172 class HBINFILETK_API HTK_Instance : public TK_Instance {
173  public:
175  HTK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
176  int options=0, float const * xform=0);
177 
179  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
180  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
181  { return TK_Instance::Interpret(tk, key, special); }
182  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
183 };
184 
185 
187 class HBINFILETK_API HTK_Delete_Object : public TK_Delete_Object {
188  public:
190  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
191  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
192  { return TK_Delete_Object::Interpret(tk, key, special); }
193  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
194 };
195 
198 
206 class HBINFILETK_API HTK_LOD : public TK_LOD {
207  public:
209  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
210  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
211  { return TK_LOD::Interpret(tk, key, special); }
212  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
213 };
214 
215 
218 
228 class HBINFILETK_API HTK_Renumber : public TK_Renumber {
229  public:
231  HTK_Renumber (unsigned char opcode, HC_KEY key = 0) : TK_Renumber (opcode, key) {}
232 
234  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
235  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
236  { return TK_Renumber::Interpret(tk, key, special); }
237  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
238 };
239 
241 
243 
253 class HBINFILETK_API HTK_Color : public TK_Color {
254  friend class HTK_Color_Composite;
255  public:
257  HTK_Color (int mask=0, int channels=0)
258  : TK_Color () { m_mask = mask; m_channels = (short)channels; }
259 
261  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
262  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
263  { return TK_Color::Interpret(tk, key, special); }
264  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
265 };
266 
268 
278 class HBINFILETK_API HTK_Color_RGB : public TK_Color_RGB {
279  public:
281  HTK_Color_RGB (int mask=0, float const * rgb=0)
282  : TK_Color_RGB () {
283  m_mask = mask;
284  if (rgb != 0) {
285  m_rgb[0] = rgb[0]; m_rgb[1] = rgb[1]; m_rgb[2] = rgb[2];
286  }
287  }
288 
290  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
291  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
292  { return TK_Color_RGB::Interpret(tk, key, special); }
293  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
294 };
295 
297 
307 class HBINFILETK_API HTK_Color_By_Value : public TK_Color_By_Value {
308  public:
310  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
311  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
312  { return TK_Color_By_Value::Interpret(tk, key, special); }
313  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
314 };
315 
317 
327 class HBINFILETK_API HTK_Color_By_Index : public TK_Color_By_Index {
328  public:
330  HTK_Color_By_Index (unsigned char opcode, int mask=0, int index=0)
331  : TK_Color_By_Index (opcode) { m_mask = mask; m_index = index; }
332 
334  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
335  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
336  { return TK_Color_By_Index::Interpret(tk, key, special); }
337  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
338 };
339 
340 
342 
352 class HBINFILETK_API HTK_Color_By_FIndex : public TK_Color_By_FIndex {
353  public:
355  HTK_Color_By_FIndex (int mask=0, float index=0.0f)
356  : TK_Color_By_FIndex () { m_mask = mask; m_index = index; }
357 
359  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
360  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
361  { return TK_Color_By_FIndex::Interpret(tk, key, special); }
362  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
363 };
364 
368 class HBINFILETK_API HTK_Color_Composite : public BBaseOpcodeHandler {
369  protected:
370  BBaseOpcodeHandler * m_parts[16];
371 
372  public:
375 
379  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
380  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
381  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
382  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
383 };
384 
385 
387 
389 
399 class HBINFILETK_API HTK_PBR : public TK_PBR {
400  public:
403  : TK_PBR () {}
404 
406  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
407  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
408  { return TK_PBR::Interpret(tk, key, special); }
409  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
410 
411 };
412 
415 
425 class HBINFILETK_API HTK_Color_Map : public TK_Color_Map {
426  public:
428  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
429  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
430  { return TK_Color_Map::Interpret(tk, key, special); }
431  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
432 };
433 
436 
446 class HBINFILETK_API HTK_Callback : public TK_Callback {
447  public:
449  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
450  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
451  { return TK_Callback::Interpret(tk, key, special); }
452  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
453 };
454 
456 
458 
468 class HBINFILETK_API HTK_Rendering_Options : public TK_Rendering_Options {
469  public:
471  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
472  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
473  { return TK_Rendering_Options::Interpret(tk, key, special); }
474  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
475 };
476 
479 
489 class HBINFILETK_API HTK_Heuristics : public TK_Heuristics {
490  public:
492  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
493  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
494  { return TK_Heuristics::Interpret(tk, key, special); }
495  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
496 };
497 
500 
510 class HBINFILETK_API HTK_Geometry_Options : public TK_Geometry_Options {
511  public:
513  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
514  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
515  { return TK_Geometry_Options::Interpret(tk, key, special); }
516  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
517 };
518 
521 
531 class HBINFILETK_API HTK_Visibility : public TK_Visibility {
532  public:
534  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
535  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
536  { return TK_Visibility::Interpret(tk, key, special); }
537  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
538 };
539 
542 
552 class HBINFILETK_API HTK_Selectability : public TK_Selectability {
553  public:
555  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
556  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
557  { return TK_Selectability::Interpret(tk, key, special); }
558  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
559 };
560 
562 
572 class HBINFILETK_API HTK_Matrix : public TK_Matrix {
573  public:
575  HTK_Matrix (unsigned char opcode) : TK_Matrix (opcode) {}
576 
578  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
579  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
580  { return TK_Matrix::Interpret(tk, key, special); }
581  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
582 };
583 
585 
590 class HBINFILETK_API HTK_Enumerated : public TK_Enumerated {
591  public:
593  HTK_Enumerated (unsigned char opcode) : TK_Enumerated (opcode) {}
594 
596  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
597  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
598  { return TK_Enumerated::Interpret(tk, key, special); }
599  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
600 };
601 
603 class HBINFILETK_API HTK_Size : public TK_Size {
604  public:
606  HTK_Size (unsigned char opcode) : TK_Size (opcode) {}
607 
609  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
610  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
611  { return TK_Size::Interpret(tk, key, special); }
612  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
613 };
614 
616 
620 class HBINFILETK_API HTK_Linear_Pattern : public TK_Linear_Pattern {
621  public:
623  HTK_Linear_Pattern (unsigned char opcode) : TK_Linear_Pattern (opcode) {}
624 
626  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
627  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
628  { return TK_Linear_Pattern::Interpret(tk, key, special); }
629  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
630 };
631 
633 
636 class HBINFILETK_API HTK_Named : public TK_Named {
637  public:
639  HTK_Named (unsigned char opcode) : TK_Named (opcode) {}
640 
642  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0);
643  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
644  { return TK_Named::Interpret(tk, key, special); }
645  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
646 };
647 
651 class HBINFILETK_API HTK_Animation : public TK_Animation {
652 public:
655 
657  TK_Status Interpret(BStreamFileToolkit & tk, ID_Key key = -1, int variant = 0);
658  TK_Status Interpret(BStreamFileToolkit & tk, ID_Key key, char const * special);
659  TK_Status Clone(BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
660 };
661 
662 
664 class HBINFILETK_API HTK_Streaming : public TK_Streaming {
665  public:
667  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
668  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
669  { return TK_Streaming::Interpret(tk, key, special); }
670  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
671 };
672 
675 
685 class HBINFILETK_API HTK_Conditions : public TK_Conditions {
686  public:
688  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
689  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
690  { return TK_Conditions::Interpret(tk, key, special); }
691  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
692 };
693 
696 
706 class HBINFILETK_API HTK_Conditional_Action : public TK_Conditional_Action {
707  friend class HTK_Conditional_Actions;
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_Conditional_Action::Interpret(tk, key, special); }
713  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
714 };
715 
719 class HBINFILETK_API HTK_Conditional_Actions : public BBaseOpcodeHandler {
720  protected:
721  BBaseOpcodeHandler * m_parts[16];
722 
723  public:
726 
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 BBaseOpcodeHandler::Interpret(tk, key, special); }
733  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
734 };
735 
738 
748 class HBINFILETK_API HTK_User_Options : public TK_User_Options {
749  public:
751  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
752  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
753  { return TK_User_Options::Interpret(tk, key, special); }
754  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
755 };
756 
759 
769 class HBINFILETK_API HTK_Unicode_Options : public TK_Unicode_Options {
770  public:
772  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
773  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
774  { return TK_Unicode_Options::Interpret(tk, key, special); }
775  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
776 };
777 
779 
789 class HBINFILETK_API HTK_User_Index : public TK_User_Index {
790  public:
792  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
793  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
794  { return TK_User_Index::Interpret(tk, key, special); }
795  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
796 };
797 
799 
809 class HBINFILETK_API HTK_User_Index_Data : public TK_User_Index_Data {
810 public:
812  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
813  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
814  { return TK_User_Index_Data::Interpret(tk, key, special); }
815  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
816 };
817 
819 
829 class HBINFILETK_API HTK_User_Value : public TK_User_Value {
830  public:
832  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
833  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
834  { return TK_User_Value::Interpret(tk, key, special); }
835  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
836 };
837 
839 
849 class HBINFILETK_API2 HTK_Camera : public TK_Camera {
850  public:
852  HTK_Camera (unsigned char opcode = TKE_Camera) : TK_Camera (opcode) {}
853 
855  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
856  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
857  { return TK_Camera::Interpret(tk, key, special); }
858  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
859 };
860 
861 
863 
873 class HBINFILETK_API HTK_Window : public TK_Window {
874  public:
876  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
877  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
878  { return TK_Window::Interpret(tk, key, special); }
879  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
880 };
881 
882 
884 
895 class HBINFILETK_API HTK_Clip_Region : public TK_Clip_Region {
896  public:
898  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
899  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
900  { return TK_Clip_Region::Interpret(tk, key, special); }
901  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
902 };
903 
904 
906 
917 class HBINFILETK_API HTK_Complex_Clip_Region : public TK_Complex_Clip_Region {
918  public:
920  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
921  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
922  { return TK_Complex_Clip_Region::Interpret(tk, key, special); }
923  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
924 };
925 
926 
928 
938 class HBINFILETK_API HTK_Clip_Rectangle : public TK_Clip_Rectangle {
939  public:
941  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
942 };
943 
944 
946 
956 class HBINFILETK_API HTK_Text_Font : public TK_Text_Font {
957  public:
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_Text_Font::Interpret(tk, key, special); }
962  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
963 };
964 
966 
968 
982 class HBINFILETK_API2 HTK_Bounding : public TK_Bounding {
983  public:
985  HTK_Bounding (unsigned char opcode)
986  : TK_Bounding (opcode) {}
988  HTK_Bounding (unsigned char opcode, float * min, float * max)
989  : TK_Bounding (opcode, min, max) {}
991  HTK_Bounding (unsigned char opcode, float * center, float radius)
992  : TK_Bounding (opcode, center, radius) {}
993 
995  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
996  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
997  { return TK_Bounding::Interpret(tk, key, special); }
998  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
999 };
1000 
1003 
1013 class HBINFILETK_API HTK_Point : public TK_Point {
1014  public:
1016  HTK_Point (unsigned char opcode) : TK_Point (opcode) {}
1017 
1019  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1020  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1021  { return TK_Point::Interpret(tk, key, special); }
1022  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1023 };
1024 
1025 
1027 
1037 class HBINFILETK_API HTK_Line : public TK_Line {
1038  public:
1040  HTK_Line (unsigned char opcode = TKE_Line) : TK_Line (opcode) {}
1041 
1043  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1044  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1045  { return TK_Line::Interpret(tk, key, special); }
1046  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1047 };
1048 
1050 
1060 class HBINFILETK_API HTK_Polypoint : public TK_Polypoint {
1061  public:
1063  HTK_Polypoint (unsigned char opcode) : TK_Polypoint (opcode) {}
1064 
1066  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1067  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1068  { return TK_Polypoint::Interpret(tk, key, special); }
1069  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1070 };
1071 
1073 
1083 class HBINFILETK_API HTK_NURBS_Curve : public TK_NURBS_Curve {
1084  public:
1085 
1087  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1088  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1089  { return TK_NURBS_Curve::Interpret(tk, key, special); }
1090  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1091 };
1092 
1094 
1104 class HBINFILETK_API HTK_NURBS_Surface : public TK_NURBS_Surface {
1105  protected:
1106 
1108  TK_Status interpret_trim (BStreamFileToolkit & tk, int);
1110  TK_Status execute_trim (BStreamFileToolkit & tk, HT_NURBS_Trim *);
1111 
1112  public:
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_NURBS_Surface::Interpret(tk, key, special); }
1118  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1119 };
1120 
1122 
1132 class HBINFILETK_API HTK_Area_Light : public TK_Area_Light {
1133  public:
1134 
1136  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1137  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1138  { return TK_Area_Light::Interpret(tk, key, special); }
1139  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1140 };
1141 
1143 
1153 class HBINFILETK_API HTK_Spot_Light : public TK_Spot_Light {
1154  public:
1156  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1157  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1158  { return TK_Spot_Light::Interpret(tk, key, special); }
1159  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1160 };
1161 
1163 
1173 class HBINFILETK_API HTK_Cutting_Plane : public TK_Cutting_Plane {
1174  public:
1176  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1177  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1178  { return TK_Cutting_Plane::Interpret(tk, key, special); }
1179  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1180 };
1181 
1183 
1193 class HBINFILETK_API HTK_Circle : public TK_Circle {
1194  public:
1196  HTK_Circle (unsigned char opcode) : TK_Circle (opcode) {}
1197 
1199  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1200  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1201  { return TK_Circle::Interpret(tk, key, special); }
1202  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1203 };
1204 
1206 
1216 class HBINFILETK_API HTK_Ellipse : public TK_Ellipse {
1217  public:
1219  HTK_Ellipse (unsigned char opcode) : TK_Ellipse (opcode) {}
1220 
1222  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1223  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1224  { return TK_Ellipse::Interpret(tk, key, special); }
1225  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1226 };
1227 
1229 
1239 class HBINFILETK_API HTK_Sphere : public TK_Sphere {
1240  public:
1243 
1245  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1246  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1247  { return TK_Sphere::Interpret(tk, key, special); }
1248  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1249 };
1250 
1252 
1262 class HBINFILETK_API HTK_Cylinder : public TK_Cylinder {
1263  public:
1266 
1268  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1269  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1270  { return TK_Cylinder::Interpret(tk, key, special); }
1271  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1272 };
1273 
1275 
1285 class HBINFILETK_API HTK_PolyCylinder : public TK_PolyCylinder {
1286  public:
1289 
1291  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1292  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1293  { return TK_PolyCylinder::Interpret(tk, key, special); }
1294  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1295 };
1296 
1298 
1308 class HBINFILETK_API HTK_Grid : public TK_Grid {
1309  public:
1311  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1312  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1313  { return TK_Grid::Interpret(tk, key, special); }
1314  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1315 };
1316 
1319 
1329 class HBINFILETK_API HTK_Text : public TK_Text {
1330  public:
1332  HTK_Text (unsigned char opcode) : TK_Text (opcode) {}
1333 
1335  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1336  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1337  { return TK_Text::Interpret(tk, key, special); }
1338  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1339 };
1340 
1343 
1353 class HBINFILETK_API HTK_Font : public TK_Font {
1354  public:
1356  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1357  { return TK_Font::Interpret(tk, key, variant); }
1358  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1359  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1360 };
1361 
1362 
1365 
1375 class HBINFILETK_API2 HTK_Image : public TK_Image {
1376  public:
1377  HTK_Image () {
1378  m_jpeg_native = true;
1379  }
1380 
1382  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1383  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1384  { return TK_Image::Interpret(tk, key, special); }
1385  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1386 };
1387 
1388 
1391 
1401 class HBINFILETK_API2 HTK_Texture : public TK_Texture {
1402  protected:
1403  int mh_stage;
1405  HC_KEY m_key;
1406 
1407  public:
1408  HTK_Texture () : mh_stage (0), m_referee (0) {}
1409  ~HTK_Texture ();
1410 
1413  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1414  { return TK_Texture::Interpret(tk, key, variant); }
1415  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1416  void Reset ();
1417  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1418 };
1419 
1421 class HBINFILETK_API2 HTK_Texture_Definitions : public BBaseOpcodeHandler {
1422  protected:
1426 
1427  public:
1428  HTK_Texture_Definitions (bool shader = false);
1430 
1434  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1435  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1436  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1437 
1438  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1439 };
1440 
1443 
1453 class HBINFILETK_API2 HTK_Glyph_Definition : public TK_Glyph_Definition {
1454  public:
1456  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1457  { return TK_Glyph_Definition::Interpret(tk, key, variant); }
1458  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1459  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1460 };
1461 
1464 class HBINFILETK_API2 HTK_Glyph_Definitions : public BBaseOpcodeHandler {
1465  protected:
1468  public:
1471 
1475  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1476  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1477  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1478  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1479 };
1480 
1483 
1493 class HBINFILETK_API2 HTK_Shape_Definition : public TK_Shape_Definition {
1494  public:
1496  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1497  { return TK_Shape_Definition::Interpret(tk, key, variant); }
1498  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1499  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1500 };
1501 
1504 class HBINFILETK_API2 HTK_Shape_Definitions : public BBaseOpcodeHandler {
1505  protected:
1508  public:
1511 
1515  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1516  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1517  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1518  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1519 };
1520 
1523 
1533 class HBINFILETK_API2 HTK_Named_Style_Def : public TK_Named_Style_Def {
1534  protected:
1535  HC_KEY m_key;
1536  int mh_stage;
1537  HC_KEY m_root;
1538  public:
1540  HTK_Named_Style_Def () : TK_Named_Style_Def (), mh_stage (0) {}
1541 
1544  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1545  { return TK_Named_Style_Def::Interpret(tk, key, variant); }
1546  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1547  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1548 
1549  void SetRoot (HC_KEY root) { m_root = root; }
1550  HC_KEY GetRoot () const { return m_root; }
1551 
1552  void Reset ();
1553 };
1554 
1557 class HBINFILETK_API2 HTK_Named_Style_Defs : public BBaseOpcodeHandler {
1558  protected:
1561  HC_KEY m_root;
1562  public:
1565 
1569  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1570  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1571  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1572  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1573 
1574  void SetRoot (HC_KEY root) { m_root = root; }
1575  HC_KEY GetRoot () const { return m_root; }
1576 };
1577 
1578 
1581 
1591 class HBINFILETK_API2 HTK_Line_Style : public TK_Line_Style {
1592  public:
1594  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1595  { return TK_Line_Style::Interpret(tk, key, variant); }
1596  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1597  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1598 };
1599 
1602 class HBINFILETK_API2 HTK_Line_Styles : public BBaseOpcodeHandler {
1603  protected:
1606  public:
1607  HTK_Line_Styles ();
1608  ~HTK_Line_Styles ();
1609 
1613  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1614  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1615  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1616  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1617 };
1618 
1619 #endif //HOPCODE_HANDLER
1620 
BBaseOpcodeHandler ** m_parts
Array of line pattern def handlers.
Definition: HOpcodeHandler.h:1604
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:856
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:493
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1413
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:514
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:311
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:88
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:597
HC_KEY m_root
relative root
Definition: HOpcodeHandler.h:1561
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:668
HTK_Animation()
Definition: HOpcodeHandler.h:654
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1157
HC_KEY m_root
Definition: HOpcodeHandler.h:107
ID_Key mh_owner
Definition: HOpcodeHandler.h:143
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1336
HTK_Bounding(unsigned char opcode)
Definition: HOpcodeHandler.h:985
Provides HOOPS/3dGS-specific handling of the TKE_User_Options opcode.
Definition: HOpcodeHandler.h:748
HTK_Size(unsigned char opcode)
Definition: HOpcodeHandler.h:606
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1256
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:429
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Delete_Object opcode.
Definition: HOpcodeHandler.h:187
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1228
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4207
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1356
HTK_Cylinder()
Definition: HOpcodeHandler.h:1265
Definition: HOpcodeHandler.h:1464
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:180
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6469
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
int mh_stage
Definition: HOpcodeHandler.h:1403
Provides HOOPS/3dGS-specific handling of the TKE_Geometry_Options opcode.
Definition: HOpcodeHandler.h:510
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:226
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:689
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:472
Provides HOOPS/3dGS-specific handling of the TKE_Glyph_Definition.
Definition: HOpcodeHandler.h:1453
Definition: BOpcodeHandler.h:4593
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:1329
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1381
Provides HOOPS/3dGS-specific handling of the TKE_LOD opcode.
Definition: HOpcodeHandler.h:206
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4367
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:262
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:116
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7456
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:191
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcode.
Definition: HOpcodeHandler.h:84
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Color_RGB opcode.
Definition: HOpcodeHandler.h:278
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:813
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7624
Definition: HOpcodeHandler.h:1421
Provides HOOPS/3dGS-specific handling of the TKE_Rendering_Options opcode.
Definition: HOpcodeHandler.h:468
Definition: BOpcodeHandler.h:2365
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Surface opcode.
Definition: HOpcodeHandler.h:1104
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7209
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:833
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1287
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1269
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Camera opcode.
Definition: HOpcodeHandler.h:849
Provides HOOPS/3dGS-specific handling of the TKE_Streaming_Mode opcode.
Definition: HOpcodeHandler.h:664
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1506
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1456
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5750
HC_KEY m_root
Definition: HOpcodeHandler.h:1537
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1044
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_PolyCylinder opcode.
Definition: HOpcodeHandler.h:1285
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2403
Provides HOOPS/3dGS-specific handling of various opcodes.
Definition: HOpcodeHandler.h:590
Provides HOOPS/3dGS-specific handling of the TKE_Spot_Light opcode.
Definition: HOpcodeHandler.h:1153
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1605
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:643
int mh_stage
Definition: HOpcodeHandler.h:142
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1169
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1594
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:752
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6348
int mh_stage
Definition: HOpcodeHandler.h:1536
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4838
Provides HOOPS/3dGS-specific handling of the TKE_Callback opcode.
Definition: HOpcodeHandler.h:446
Provides HOOPS/3dGS-specific handling of the TKE_Visibility opcode.
Definition: HOpcodeHandler.h:531
Provides HOOPS/3dGS-specific handling of the TKE_Image opcode.
Definition: HOpcodeHandler.h:1375
TK_Status Write(BStreamFileToolkit &tk)
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7078
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1292
BBaseOpcodeHandler * m_referee
for internal use only
Definition: HOpcodeHandler.h:1404
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6957
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4800
BBaseOpcodeHandler ** m_parts
Array of shape def handlers.
Definition: HOpcodeHandler.h:1506
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:56
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1712
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4009
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:407
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1467
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6127
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:1533
Definition: BOpcodeHandler.h:4566
Provides HOOPS/3dGS-specific handling of the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: HOpcodeHandler.h:1216
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5920
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6064
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:228
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7554
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1223
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1591
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:152
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcodes.
Definition: HOpcodeHandler.h:104
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1466
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1578
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7780
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:1088
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:210
Definition: BOpcodeHandler.h:4507
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1449
Provides HOOPS/3dGS-specific handling of the TKE_Selectability opcode.
Definition: HOpcodeHandler.h:552
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:5663
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4665
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:579
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1424
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1570
Provides HOOPS/3dGS-specific handling of the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: HOpcodeHandler.h:982
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Sphere opcode.
Definition: HOpcodeHandler.h:1239
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Curve opcode.
Definition: HOpcodeHandler.h:1083
Provides HOOPS/3dGS-specific handling of the TKE_Edge_Pattern opcode.
Definition: HOpcodeHandler.h:620
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:253
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HC_KEY m_key
segment key
Definition: HOpcodeHandler.h:1535
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:921
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1020
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7674
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5189
int mh_stage
Definition: HOpcodeHandler.h:106
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4886
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1544
Definition: BOpcodeHandler.h:4534
Provides HOOPS/3dGS-specific handling of the TKE_User_Value opcode.
Definition: HOpcodeHandler.h:829
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:1557
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Polyine and TKE_Polygon opcodes. ...
Definition: HOpcodeHandler.h:1060
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Value opcode.
Definition: HOpcodeHandler.h:307
Provides HOOPS/3dGS-specific handling of the TKE_Close_Segment opcode.
Definition: HOpcodeHandler.h:74
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1116
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5483
HTK_Color(int mask=0, int channels=0)
Definition: HOpcodeHandler.h:257
HTK_Named(unsigned char opcode)
Definition: HOpcodeHandler.h:639
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1614
Provides HOOPS/3dGS-specific handling of the TKE_Conditional_Action opcode.
Definition: HOpcodeHandler.h:706
HTK_Referenced_Segment(char opcode)
Definition: HOpcodeHandler.h:111
Provides HOOPS/3dGS-specific handling of the TKE_Shape_Definition.
Definition: HOpcodeHandler.h:1493
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:627
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:235
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Window opcode.
Definition: HOpcodeHandler.h:873
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:877
Definition: HOpcodeHandler.h:1504
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4466
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:535
Definition: HOpcodeHandler.h:368
HTK_Circle(unsigned char opcode)
Definition: HOpcodeHandler.h:1196
Handles the TKE_Color_RGB opcode.
Definition: BOpcodeHandler.h:1905
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Rectangle opcode.
Definition: HOpcodeHandler.h:938
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1516
HC_KEY GetRoot() const
Definition: HOpcodeHandler.h:126
HTK_PolyCylinder()
Definition: HOpcodeHandler.h:1288
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:360
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6561
HTK_Line(unsigned char opcode=TKE_Line)
Definition: HOpcodeHandler.h:1040
Provides HOOPS/3dGS-specific handling of the TKE_Matrix opcode.
Definition: HOpcodeHandler.h:572
HTK_Renumber(unsigned char opcode, HC_KEY key=0)
Definition: HOpcodeHandler.h:231
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Line_Weight, TKE_Edge_Weight, TKE_Marker_Size and TK...
Definition: HOpcodeHandler.h:603
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5602
HTK_Polypoint(unsigned char opcode)
Definition: HOpcodeHandler.h:1063
Provides HOOPS/3dGS-specific handling of the TKE_Text_Font opcode.
Definition: HOpcodeHandler.h:956
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5429
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7505
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4976
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:78
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Region opcode.
Definition: HOpcodeHandler.h:895
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode...
Definition: HOpcodeHandler.h:327
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:6818
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1560
Definition: HOpcodeHandler.h:651
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2464
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:216
HTK_Linear_Pattern(unsigned char opcode)
Definition: HOpcodeHandler.h:623
Provides HOOPS/3dGS-specific handling of the TKE_Grid opcode.
Definition: HOpcodeHandler.h:1308
BBaseOpcodeHandler ** m_parts
Array of style def handlers.
Definition: HOpcodeHandler.h:1559
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:996
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:291
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:55
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_FIndex opcode.
Definition: HOpcodeHandler.h:352
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:276
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5138
Provides HOOPS/3dGS-specific handling of the TKE_Cylinder opcode.
Definition: HOpcodeHandler.h:1262
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4312
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:793
HTK_Ellipse(unsigned char opcode)
Definition: HOpcodeHandler.h:1219
Provides HOOPS/3dGS-specific handling of the TKE_Unicode_Options opcode.
Definition: HOpcodeHandler.h:769
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Color_Map opcode.
Definition: HOpcodeHandler.h:425
Provides HOOPS/3dGS-specific handling of the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE...
Definition: HOpcodeHandler.h:1193
Provides HOOPS/3dGS-specific handling of the TKE_User_Index opcode.
Definition: HOpcodeHandler.h:789
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1067
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Camera(unsigned char opcode=TKE_Camera)
Definition: HOpcodeHandler.h:852
HTK_Enumerated(unsigned char opcode)
Definition: HOpcodeHandler.h:593
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5836
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:917
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2018
#define ID_Key
Definition: BStream.h:252
HTK_Color_RGB(int mask=0, float const *rgb=0)
Definition: HOpcodeHandler.h:281
void SetRoot(HC_KEY root)
Definition: HOpcodeHandler.h:123
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1312
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:335
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1476
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1200
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4754
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7716
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:731
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1246
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
bool m_is_shader
search for shaders, not textures
Definition: HOpcodeHandler.h:1425
Definition: HOpcodeHandler.h:1602
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2118
Provides HOOPS/3dGS-specific handling of the TKE_Marker_Symbol, TKE_Line_Pattern, and TKE_Edge_Patter...
Definition: HOpcodeHandler.h:636
Definition: HOpcodeHandler.h:719
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Matrix(unsigned char opcode)
Definition: HOpcodeHandler.h:575
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:899
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:556
Provides HOOPS/3dGS-specific handling of the TKE_Font opcode.
Definition: HOpcodeHandler.h:1353
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1177
HTK_Color_By_FIndex(int mask=0, float index=0.0f)
Definition: HOpcodeHandler.h:355
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1435
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1137
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4704
HTK_PBR()
Definition: HOpcodeHandler.h:402
Provides HOOPS/3dGS-specific handling of the TKE_Heuristics opcode.
Definition: HOpcodeHandler.h:489
Provides HOOPS/3dGS-specific handling of the TKE_Open_Segment opcode.
Definition: HOpcodeHandler.h:53
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:4637
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1507
void Reset()
Provides HOOPS/3dGS-specific handling of the TKE_PBR opcode.
Definition: HOpcodeHandler.h:399
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1496
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1383
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1477
Provides HOOPS/3dGS-specific handling of the TKE_Repeat_Object opcode.
Definition: HOpcodeHandler.h:172
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:711
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:5981
HC_KEY m_key
for internal use only
Definition: HOpcodeHandler.h:1405
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Conditions opcode.
Definition: HOpcodeHandler.h:685
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:380
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5543
virtual TK_Status Execute(BStreamFileToolkit &tk)
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1401
Provides HOOPS/3dGS-specific handling of the TKE_Cutting_Plane opcode.
Definition: HOpcodeHandler.h:1173
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:610
HTK_Bounding(unsigned char opcode, float *min, float *max)
Definition: HOpcodeHandler.h:988
HTK_Named_Style_Def()
Definition: HOpcodeHandler.h:1540
Provides HOOPS/3dGS-specific handling of the TKE_User_Index_Data opcode.
Definition: HOpcodeHandler.h:809
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:773
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6258
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6686
HTK_Color_By_Index(unsigned char opcode, int mask=0, int index=0)
Definition: HOpcodeHandler.h:330
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Area_Light opcode.
Definition: HOpcodeHandler.h:1132
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Text(unsigned char opcode)
Definition: HOpcodeHandler.h:1332
virtual TK_Status Write(BStreamFileToolkit &tk)=0
Handles the TKE_PBR opcode.
Definition: BOpcodeHandler.h:2191
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_User_Value opcode.
Definition: BOpcodeHandler.h:4947
HTK_Bounding(unsigned char opcode, float *center, float radius)
Definition: HOpcodeHandler.h:991
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Line, TKE_Infinite_Line, and TKE_Infinite_Ray opcode...
Definition: HOpcodeHandler.h:1037
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:960
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2067
Provides HOOPS/3dGS-specific handling of the TKE_Reference opcode.
Definition: HOpcodeHandler.h:140
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Sphere()
Definition: HOpcodeHandler.h:1242
Provides HOOPS/3dGS-specific handling of the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: HOpcodeHandler.h:1013
HTK_Reference()
Definition: HOpcodeHandler.h:147
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:450
BBaseOpcodeHandler ** m_parts
Array of texture handlers.
Definition: HOpcodeHandler.h:1423
HTK_Point(unsigned char opcode)
Definition: HOpcodeHandler.h:1016