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 
648 
650 class HBINFILETK_API HTK_Streaming : public TK_Streaming {
651  public:
653  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
654  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
655  { return TK_Streaming::Interpret(tk, key, special); }
656  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
657 };
658 
661 
671 class HBINFILETK_API HTK_Conditions : public TK_Conditions {
672  public:
674  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
675  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
676  { return TK_Conditions::Interpret(tk, key, special); }
677  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
678 };
679 
682 
692 class HBINFILETK_API HTK_Conditional_Action : public TK_Conditional_Action {
693  friend class HTK_Conditional_Actions;
694  public:
696  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
697  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
698  { return TK_Conditional_Action::Interpret(tk, key, special); }
699  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
700 };
701 
705 class HBINFILETK_API HTK_Conditional_Actions : public BBaseOpcodeHandler {
706  protected:
707  BBaseOpcodeHandler * m_parts[16];
708 
709  public:
712 
716  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
717  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
718  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
719  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
720 };
721 
724 
734 class HBINFILETK_API HTK_User_Options : public TK_User_Options {
735  public:
737  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
738  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
739  { return TK_User_Options::Interpret(tk, key, special); }
740  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
741 };
742 
745 
755 class HBINFILETK_API HTK_Unicode_Options : public TK_Unicode_Options {
756  public:
758  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
759  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
760  { return TK_Unicode_Options::Interpret(tk, key, special); }
761  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
762 };
763 
765 
775 class HBINFILETK_API HTK_User_Index : public TK_User_Index {
776  public:
778  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
779  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
780  { return TK_User_Index::Interpret(tk, key, special); }
781  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
782 };
783 
785 
795 class HBINFILETK_API HTK_User_Index_Data : public TK_User_Index_Data {
796 public:
798  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
799  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
800  { return TK_User_Index_Data::Interpret(tk, key, special); }
801  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
802 };
803 
805 
815 class HBINFILETK_API HTK_User_Value : public TK_User_Value {
816  public:
818  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
819  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
820  { return TK_User_Value::Interpret(tk, key, special); }
821  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
822 };
823 
825 
835 class HBINFILETK_API2 HTK_Camera : public TK_Camera {
836  public:
838  HTK_Camera (unsigned char opcode = TKE_Camera) : TK_Camera (opcode) {}
839 
841  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
842  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
843  { return TK_Camera::Interpret(tk, key, special); }
844  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
845 };
846 
847 
849 
859 class HBINFILETK_API HTK_Window : public TK_Window {
860  public:
862  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
863  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
864  { return TK_Window::Interpret(tk, key, special); }
865  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
866 };
867 
868 
870 
881 class HBINFILETK_API HTK_Clip_Region : public TK_Clip_Region {
882  public:
884  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
885  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
886  { return TK_Clip_Region::Interpret(tk, key, special); }
887  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
888 };
889 
890 
892 
903 class HBINFILETK_API HTK_Complex_Clip_Region : public TK_Complex_Clip_Region {
904  public:
906  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
907  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
908  { return TK_Complex_Clip_Region::Interpret(tk, key, special); }
909  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
910 };
911 
912 
914 
924 class HBINFILETK_API HTK_Clip_Rectangle : public TK_Clip_Rectangle {
925  public:
927  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
928 };
929 
930 
932 
942 class HBINFILETK_API HTK_Text_Font : public TK_Text_Font {
943  public:
945  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
946  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
947  { return TK_Text_Font::Interpret(tk, key, special); }
948  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
949 };
950 
952 
954 
968 class HBINFILETK_API2 HTK_Bounding : public TK_Bounding {
969  public:
971  HTK_Bounding (unsigned char opcode)
972  : TK_Bounding (opcode) {}
974  HTK_Bounding (unsigned char opcode, float * min, float * max)
975  : TK_Bounding (opcode, min, max) {}
977  HTK_Bounding (unsigned char opcode, float * center, float radius)
978  : TK_Bounding (opcode, center, radius) {}
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_Bounding::Interpret(tk, key, special); }
984  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
985 };
986 
989 
999 class HBINFILETK_API HTK_Point : public TK_Point {
1000  public:
1002  HTK_Point (unsigned char opcode) : TK_Point (opcode) {}
1003 
1005  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1006  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1007  { return TK_Point::Interpret(tk, key, special); }
1008  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1009 };
1010 
1011 
1013 
1023 class HBINFILETK_API HTK_Line : public TK_Line {
1024  public:
1026  HTK_Line (unsigned char opcode = TKE_Line) : TK_Line (opcode) {}
1027 
1029  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1030  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1031  { return TK_Line::Interpret(tk, key, special); }
1032  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1033 };
1034 
1036 
1046 class HBINFILETK_API HTK_Polypoint : public TK_Polypoint {
1047  public:
1049  HTK_Polypoint (unsigned char opcode) : TK_Polypoint (opcode) {}
1050 
1052  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1053  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1054  { return TK_Polypoint::Interpret(tk, key, special); }
1055  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1056 };
1057 
1059 
1069 class HBINFILETK_API HTK_NURBS_Curve : public TK_NURBS_Curve {
1070  public:
1071 
1073  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1074  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1075  { return TK_NURBS_Curve::Interpret(tk, key, special); }
1076  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1077 };
1078 
1080 
1090 class HBINFILETK_API HTK_NURBS_Surface : public TK_NURBS_Surface {
1091  protected:
1092 
1094  TK_Status interpret_trim (BStreamFileToolkit & tk, int);
1096  TK_Status execute_trim (BStreamFileToolkit & tk, HT_NURBS_Trim *);
1097 
1098  public:
1099 
1101  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1102  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1103  { return TK_NURBS_Surface::Interpret(tk, key, special); }
1104  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1105 };
1106 
1108 
1118 class HBINFILETK_API HTK_Area_Light : public TK_Area_Light {
1119  public:
1120 
1122  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1123  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1124  { return TK_Area_Light::Interpret(tk, key, special); }
1125  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1126 };
1127 
1129 
1139 class HBINFILETK_API HTK_Spot_Light : public TK_Spot_Light {
1140  public:
1142  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1143  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1144  { return TK_Spot_Light::Interpret(tk, key, special); }
1145  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1146 };
1147 
1149 
1159 class HBINFILETK_API HTK_Cutting_Plane : public TK_Cutting_Plane {
1160  public:
1162  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1163  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1164  { return TK_Cutting_Plane::Interpret(tk, key, special); }
1165  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1166 };
1167 
1169 
1179 class HBINFILETK_API HTK_Circle : public TK_Circle {
1180  public:
1182  HTK_Circle (unsigned char opcode) : TK_Circle (opcode) {}
1183 
1185  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1186  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1187  { return TK_Circle::Interpret(tk, key, special); }
1188  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1189 };
1190 
1192 
1202 class HBINFILETK_API HTK_Ellipse : public TK_Ellipse {
1203  public:
1205  HTK_Ellipse (unsigned char opcode) : TK_Ellipse (opcode) {}
1206 
1208  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1209  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1210  { return TK_Ellipse::Interpret(tk, key, special); }
1211  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1212 };
1213 
1215 
1225 class HBINFILETK_API HTK_Sphere : public TK_Sphere {
1226  public:
1229 
1231  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1232  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1233  { return TK_Sphere::Interpret(tk, key, special); }
1234  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1235 };
1236 
1238 
1248 class HBINFILETK_API HTK_Cylinder : public TK_Cylinder {
1249  public:
1252 
1254  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1255  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1256  { return TK_Cylinder::Interpret(tk, key, special); }
1257  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1258 };
1259 
1261 
1271 class HBINFILETK_API HTK_PolyCylinder : public TK_PolyCylinder {
1272  public:
1275 
1277  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1278  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1279  { return TK_PolyCylinder::Interpret(tk, key, special); }
1280  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1281 };
1282 
1284 
1294 class HBINFILETK_API HTK_Grid : public TK_Grid {
1295  public:
1297  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1298  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1299  { return TK_Grid::Interpret(tk, key, special); }
1300  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1301 };
1302 
1305 
1315 class HBINFILETK_API HTK_Text : public TK_Text {
1316  public:
1318  HTK_Text (unsigned char opcode) : TK_Text (opcode) {}
1319 
1321  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1322  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1323  { return TK_Text::Interpret(tk, key, special); }
1324  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1325 };
1326 
1329 
1339 class HBINFILETK_API HTK_Font : public TK_Font {
1340  public:
1342  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1343  { return TK_Font::Interpret(tk, key, variant); }
1344  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1345  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1346 };
1347 
1348 
1351 
1361 class HBINFILETK_API2 HTK_Image : public TK_Image {
1362  public:
1363  HTK_Image () {
1364  m_jpeg_native = true;
1365  }
1366 
1368  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1369  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1370  { return TK_Image::Interpret(tk, key, special); }
1371  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1372 };
1373 
1374 
1377 
1387 class HBINFILETK_API2 HTK_Texture : public TK_Texture {
1388  protected:
1389  int mh_stage;
1391  HC_KEY m_key;
1392 
1393  public:
1394  HTK_Texture () : mh_stage (0), m_referee (0) {}
1395  ~HTK_Texture ();
1396 
1399  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1400  { return TK_Texture::Interpret(tk, key, variant); }
1401  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1402  void Reset ();
1403  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1404 };
1405 
1407 class HBINFILETK_API2 HTK_Texture_Definitions : public BBaseOpcodeHandler {
1408  protected:
1412 
1413  public:
1414  HTK_Texture_Definitions (bool shader = false);
1416 
1420  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1421  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1422  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1423 
1424  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1425 };
1426 
1429 
1439 class HBINFILETK_API2 HTK_Glyph_Definition : public TK_Glyph_Definition {
1440  public:
1442  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1443  { return TK_Glyph_Definition::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 
1450 class HBINFILETK_API2 HTK_Glyph_Definitions : public BBaseOpcodeHandler {
1451  protected:
1454  public:
1457 
1461  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1462  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1463  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1464  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1465 };
1466 
1469 
1479 class HBINFILETK_API2 HTK_Shape_Definition : public TK_Shape_Definition {
1480  public:
1482  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1483  { return TK_Shape_Definition::Interpret(tk, key, variant); }
1484  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1485  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1486 };
1487 
1490 class HBINFILETK_API2 HTK_Shape_Definitions : public BBaseOpcodeHandler {
1491  protected:
1494  public:
1497 
1501  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1502  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1503  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1504  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1505 };
1506 
1509 
1519 class HBINFILETK_API2 HTK_Named_Style_Def : public TK_Named_Style_Def {
1520  protected:
1521  HC_KEY m_key;
1522  int mh_stage;
1523  HC_KEY m_root;
1524  public:
1526  HTK_Named_Style_Def () : TK_Named_Style_Def (), mh_stage (0) {}
1527 
1530  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1531  { return TK_Named_Style_Def::Interpret(tk, key, variant); }
1532  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1533  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1534 
1535  void SetRoot (HC_KEY root) { m_root = root; }
1536  HC_KEY GetRoot () const { return m_root; }
1537 
1538  void Reset ();
1539 };
1540 
1543 class HBINFILETK_API2 HTK_Named_Style_Defs : public BBaseOpcodeHandler {
1544  protected:
1547  HC_KEY m_root;
1548  public:
1551 
1555  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1556  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1557  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1558  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1559 
1560  void SetRoot (HC_KEY root) { m_root = root; }
1561  HC_KEY GetRoot () const { return m_root; }
1562 };
1563 
1564 
1567 
1577 class HBINFILETK_API2 HTK_Line_Style : public TK_Line_Style {
1578  public:
1580  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0)
1581  { return TK_Line_Style::Interpret(tk, key, variant); }
1582  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
1583  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1584 };
1585 
1588 class HBINFILETK_API2 HTK_Line_Styles : public BBaseOpcodeHandler {
1589  protected:
1592  public:
1593  HTK_Line_Styles ();
1594  ~HTK_Line_Styles ();
1595 
1599  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1600  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1601  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1602  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1603 };
1604 
1605 #endif //HOPCODE_HANDLER
1606 
BBaseOpcodeHandler ** m_parts
Array of line pattern def handlers.
Definition: HOpcodeHandler.h:1590
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:842
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:1399
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:1547
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:654
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1143
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:1322
HTK_Bounding(unsigned char opcode)
Definition: HOpcodeHandler.h:971
Provides HOOPS/3dGS-specific handling of the TKE_User_Options opcode.
Definition: HOpcodeHandler.h:734
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:4159
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1342
HTK_Cylinder()
Definition: HOpcodeHandler.h:1251
Definition: HOpcodeHandler.h:1450
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:6421
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
int mh_stage
Definition: HOpcodeHandler.h:1389
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:675
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:1439
Definition: BOpcodeHandler.h:4545
Provides HOOPS/3dGS-specific handling of the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: HOpcodeHandler.h:1315
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:4319
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:7408
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:799
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7576
Definition: HOpcodeHandler.h:1407
Provides HOOPS/3dGS-specific handling of the TKE_Rendering_Options opcode.
Definition: HOpcodeHandler.h:468
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Surface opcode.
Definition: HOpcodeHandler.h:1090
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7161
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:819
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:1255
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Camera opcode.
Definition: HOpcodeHandler.h:835
Provides HOOPS/3dGS-specific handling of the TKE_Streaming_Mode opcode.
Definition: HOpcodeHandler.h:650
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:1442
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:5702
HC_KEY m_root
Definition: HOpcodeHandler.h:1523
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1030
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_PolyCylinder opcode.
Definition: HOpcodeHandler.h:1271
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2367
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:1139
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1591
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:1580
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:738
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6300
int mh_stage
Definition: HOpcodeHandler.h:1522
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4790
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:1361
TK_Status Write(BStreamFileToolkit &tk)
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7030
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1278
BBaseOpcodeHandler * m_referee
for internal use only
Definition: HOpcodeHandler.h:1390
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6909
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4752
BBaseOpcodeHandler ** m_parts
Array of shape def handlers.
Definition: HOpcodeHandler.h:1492
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:3967
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:1453
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6079
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:1519
Definition: BOpcodeHandler.h:4518
Provides HOOPS/3dGS-specific handling of the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: HOpcodeHandler.h:1202
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5872
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6016
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:7506
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1209
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1577
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:1452
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:7732
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:1074
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:210
Definition: BOpcodeHandler.h:4459
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:5615
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4617
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:1410
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1556
Provides HOOPS/3dGS-specific handling of the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: HOpcodeHandler.h:968
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Sphere opcode.
Definition: HOpcodeHandler.h:1225
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Curve opcode.
Definition: HOpcodeHandler.h:1069
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:1521
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:907
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1006
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7626
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5141
int mh_stage
Definition: HOpcodeHandler.h:106
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4838
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
Definition: HOpcodeHandler.h:1530
Definition: BOpcodeHandler.h:4486
Provides HOOPS/3dGS-specific handling of the TKE_User_Value opcode.
Definition: HOpcodeHandler.h:815
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:1543
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Polyine and TKE_Polygon opcodes. ...
Definition: HOpcodeHandler.h:1046
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:1102
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5435
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:1600
Provides HOOPS/3dGS-specific handling of the TKE_Conditional_Action opcode.
Definition: HOpcodeHandler.h:692
HTK_Referenced_Segment(char opcode)
Definition: HOpcodeHandler.h:111
Provides HOOPS/3dGS-specific handling of the TKE_Shape_Definition.
Definition: HOpcodeHandler.h:1479
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:859
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:863
Definition: HOpcodeHandler.h:1490
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4418
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:1182
Handles the TKE_Color_RGB opcode.
Definition: BOpcodeHandler.h:1905
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Rectangle opcode.
Definition: HOpcodeHandler.h:924
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1502
HC_KEY GetRoot() const
Definition: HOpcodeHandler.h:126
HTK_PolyCylinder()
Definition: HOpcodeHandler.h:1274
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:360
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6513
HTK_Line(unsigned char opcode=TKE_Line)
Definition: HOpcodeHandler.h:1026
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:5554
HTK_Polypoint(unsigned char opcode)
Definition: HOpcodeHandler.h:1049
Provides HOOPS/3dGS-specific handling of the TKE_Text_Font opcode.
Definition: HOpcodeHandler.h:942
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5381
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7457
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4928
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:881
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:6770
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1546
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2428
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:1294
BBaseOpcodeHandler ** m_parts
Array of style def handlers.
Definition: HOpcodeHandler.h:1545
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:982
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:274
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5090
Provides HOOPS/3dGS-specific handling of the TKE_Cylinder opcode.
Definition: HOpcodeHandler.h:1248
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4264
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:779
HTK_Ellipse(unsigned char opcode)
Definition: HOpcodeHandler.h:1205
Provides HOOPS/3dGS-specific handling of the TKE_Unicode_Options opcode.
Definition: HOpcodeHandler.h:755
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:1179
Provides HOOPS/3dGS-specific handling of the TKE_User_Index opcode.
Definition: HOpcodeHandler.h:775
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1053
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Camera(unsigned char opcode=TKE_Camera)
Definition: HOpcodeHandler.h:838
HTK_Enumerated(unsigned char opcode)
Definition: HOpcodeHandler.h:593
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5788
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:903
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2018
#define ID_Key
Definition: BStream.h:250
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:1298
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:1462
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1186
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4706
TK_Status Write(BStreamFileToolkit &tk)
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7668
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:717
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1232
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:1411
Definition: HOpcodeHandler.h:1588
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:705
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:885
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:1339
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1163
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:1421
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1123
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4656
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:4589
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:1493
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:1482
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:1369
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:697
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:5933
HC_KEY m_key
for internal use only
Definition: HOpcodeHandler.h:1391
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Conditions opcode.
Definition: HOpcodeHandler.h:671
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:380
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5495
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:1387
Provides HOOPS/3dGS-specific handling of the TKE_Cutting_Plane opcode.
Definition: HOpcodeHandler.h:1159
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:974
HTK_Named_Style_Def()
Definition: HOpcodeHandler.h:1526
Provides HOOPS/3dGS-specific handling of the TKE_User_Index_Data opcode.
Definition: HOpcodeHandler.h:795
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:759
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6210
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6638
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:1118
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Text(unsigned char opcode)
Definition: HOpcodeHandler.h:1318
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:4899
HTK_Bounding(unsigned char opcode, float *center, float radius)
Definition: HOpcodeHandler.h:977
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:1023
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: HOpcodeHandler.h:946
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:1228
Provides HOOPS/3dGS-specific handling of the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: HOpcodeHandler.h:999
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:1409
HTK_Point(unsigned char opcode)
Definition: HOpcodeHandler.h:1002