Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

HOpcodeHandler.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: 8ed2267c4a48151c86c7a94b28646881301958d2 $
13 //
14 
15 #ifndef HOPCODE_HANDLER
16 #define HOPCODE_HANDLER
17 
18 #ifndef HBINFILETK_TOOLKIT
19  #include "HStreamFileToolkit.h"
20 #endif
21 
22 
24 
26 
36 class HBINFILETK_API HTK_Open_Segment : public TK_Open_Segment {
37  public:
39  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter
40  { return TK_Open_Segment::Interpret(tk, key, variant); }
41  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
42  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
43 };
44 
45 
47 
57 class HBINFILETK_API HTK_Close_Segment : public TK_Close_Segment {
58  public:
60  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
61  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
62  { return TK_Close_Segment::Interpret(tk, key, special); }
63  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
64 };
65 
67 class HBINFILETK_API HTK_Reopen_Segment : public TK_Reopen_Segment {
68  public:
70  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
71  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
72  { return TK_Reopen_Segment::Interpret(tk, key, special); }
73  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
74 };
75 
77 
87 class HBINFILETK_API HTK_Referenced_Segment : public TK_Referenced_Segment {
88  protected:
89  int mh_stage;
92  public:
94  HTK_Referenced_Segment (char opcode) : TK_Referenced_Segment (opcode), mh_stage (0) {}
95 
98  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
99  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
100  { return TK_Referenced_Segment::Interpret(tk, key, special); }
101  void Reset () alter;
102  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
103 
106  void SetRoot (HC_KEY root) alter { m_root = root; }
107 
109  HC_KEY GetRoot () const { return m_root; }
110 };
111 
113 
123 class HBINFILETK_API HTK_Reference : public TK_Reference {
124  protected:
125  int mh_stage;
128  public:
130  HTK_Reference () : TK_Reference (), mh_stage (0), mh_owner (-1) {}
131 
134  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
135  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
136  { return TK_Reference::Interpret(tk, key, special); }
137  bool NeedsContext (BStreamFileToolkit & tk) const;
138  void Reset () alter;
139  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
140 
141  bool Direct() const { return m_referee == 0; }
142 };
143 
145 
155 class HBINFILETK_API HTK_Instance : public TK_Instance {
156  public:
158  HTK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
159  int options=0, float const * xform=0);
160 
162  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant) alter;
163  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
164  { return TK_Instance::Interpret(tk, key, special); }
165  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
166 };
167 
168 
170 class HBINFILETK_API HTK_Delete_Object : public TK_Delete_Object {
171  public:
173  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
174  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
175  { return TK_Delete_Object::Interpret(tk, key, special); }
176  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
177 };
178 
181 
189 class HBINFILETK_API HTK_LOD : public TK_LOD {
190  public:
192  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
193  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
194  { return TK_LOD::Interpret(tk, key, special); }
195  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
196 };
197 
198 
201 
211 class HBINFILETK_API HTK_Renumber : public TK_Renumber {
212  public:
214  HTK_Renumber (unsigned char opcode, HC_KEY key = 0) : TK_Renumber (opcode, key) {}
215 
217  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
218  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
219  { return TK_Renumber::Interpret(tk, key, special); }
220  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
221 };
222 
224 
226 
236 class HBINFILETK_API HTK_Color : public TK_Color {
237  friend class HTK_Color_Composite;
238  public:
240  HTK_Color (int mask=0, int channels=0)
241  : TK_Color () { m_mask = mask; m_channels = (short)channels; }
242 
244  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
245  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
246  { return TK_Color::Interpret(tk, key, special); }
247  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
248 
249 };
250 
252 
262 class HBINFILETK_API HTK_Color_RGB : public TK_Color_RGB {
263  public:
265  HTK_Color_RGB (int mask=0, float const * rgb=0)
266  : TK_Color_RGB () {
267  m_mask = mask;
268  if (rgb != 0) {
269  m_rgb[0] = rgb[0]; m_rgb[1] = rgb[1]; m_rgb[2] = rgb[2];
270  }
271  }
272 
274  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
275  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
276  { return TK_Color_RGB::Interpret(tk, key, special); }
277  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
278 };
279 
281 
291 class HBINFILETK_API HTK_Color_By_Value : public TK_Color_By_Value {
292  public:
294  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
295  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
296  { return TK_Color_By_Value::Interpret(tk, key, special); }
297  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
298 };
299 
301 
311 class HBINFILETK_API HTK_Color_By_Index : public TK_Color_By_Index {
312  public:
314  HTK_Color_By_Index (unsigned char opcode, int mask=0, int index=0)
315  : TK_Color_By_Index (opcode) { m_mask = mask; m_index = index; }
316 
318  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
319  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
320  { return TK_Color_By_Index::Interpret(tk, key, special); }
321  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
322 };
323 
324 
326 
336 class HBINFILETK_API HTK_Color_By_FIndex : public TK_Color_By_FIndex {
337  public:
339  HTK_Color_By_FIndex (int mask=0, float index=0.0f)
340  : TK_Color_By_FIndex () { m_mask = mask; m_index = index; }
341 
343  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
344  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
345  { return TK_Color_By_FIndex::Interpret(tk, key, special); }
346  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
347 };
348 
352 class HBINFILETK_API HTK_Color_Composite : public BBaseOpcodeHandler {
353  protected:
354  BBaseOpcodeHandler * m_parts[16];
355 
356  public:
359 
363  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
364  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
365  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
366  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
367 };
368 
369 
372 
382 class HBINFILETK_API HTK_Color_Map : public TK_Color_Map {
383  public:
385  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
386  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
387  { return TK_Color_Map::Interpret(tk, key, special); }
388  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
389 };
390 
393 
403 class HBINFILETK_API HTK_Callback : public TK_Callback {
404  public:
406  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
407  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
408  { return TK_Callback::Interpret(tk, key, special); }
409  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
410 };
411 
413 
415 
425 class HBINFILETK_API HTK_Rendering_Options : public TK_Rendering_Options {
426  public:
428  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
429  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
430  { return TK_Rendering_Options::Interpret(tk, key, special); }
431  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
432 };
433 
436 
446 class HBINFILETK_API HTK_Heuristics : public TK_Heuristics {
447  public:
449  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
450  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
451  { return TK_Heuristics::Interpret(tk, key, special); }
452  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
453 };
454 
457 
467 class HBINFILETK_API HTK_Geometry_Options : public TK_Geometry_Options {
468  public:
470  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
471  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
472  { return TK_Geometry_Options::Interpret(tk, key, special); }
473  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
474 };
475 
478 
488 class HBINFILETK_API HTK_Visibility : public TK_Visibility {
489  public:
491  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
492  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
493  { return TK_Visibility::Interpret(tk, key, special); }
494  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
495 };
496 
499 
509 class HBINFILETK_API HTK_Selectability : public TK_Selectability {
510  public:
512  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
513  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
514  { return TK_Selectability::Interpret(tk, key, special); }
515  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
516 };
517 
519 
529 class HBINFILETK_API HTK_Matrix : public TK_Matrix {
530  public:
532  HTK_Matrix (unsigned char opcode) : TK_Matrix (opcode) {}
533 
535  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
536  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
537  { return TK_Matrix::Interpret(tk, key, special); }
538  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
539 };
540 
542 
547 class HBINFILETK_API HTK_Enumerated : public TK_Enumerated {
548  public:
550  HTK_Enumerated (unsigned char opcode) : TK_Enumerated (opcode) {}
551 
553  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0) alter;
554  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
555  { return TK_Enumerated::Interpret(tk, key, special); }
556  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
557 };
558 
560 class HBINFILETK_API HTK_Size : public TK_Size {
561  public:
563  HTK_Size (unsigned char opcode) : TK_Size (opcode) {}
564 
566  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
567  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
568  { return TK_Size::Interpret(tk, key, special); }
569  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
570 };
571 
573 
577 class HBINFILETK_API HTK_Linear_Pattern : public TK_Linear_Pattern {
578  public:
580  HTK_Linear_Pattern (unsigned char opcode) : TK_Linear_Pattern (opcode) {}
581 
583  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0) alter;
584  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
585  { return TK_Linear_Pattern::Interpret(tk, key, special); }
586  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
587 };
588 
590 
593 class HBINFILETK_API HTK_Named : public TK_Named {
594  public:
596  HTK_Named (unsigned char opcode) : TK_Named (opcode) {}
597 
599  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key=-1, int variant=0) alter;
600  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
601  { return TK_Named::Interpret(tk, key, special); }
602  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
603 };
604 
605 
607 class HBINFILETK_API HTK_Streaming : public TK_Streaming {
608  public:
610  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
611  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
612  { return TK_Streaming::Interpret(tk, key, special); }
613  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
614 };
615 
618 
628 class HBINFILETK_API HTK_Conditions : public TK_Conditions {
629  public:
631  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
632  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
633  { return TK_Conditions::Interpret(tk, key, special); }
634  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
635 };
636 
639 
649 class HBINFILETK_API HTK_Conditional_Action : public TK_Conditional_Action {
650  friend class HTK_Conditional_Actions;
651  public:
653  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
654  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
655  { return TK_Conditional_Action::Interpret(tk, key, special); }
656  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
657 };
658 
662 class HBINFILETK_API HTK_Conditional_Actions : public BBaseOpcodeHandler {
663  protected:
664  BBaseOpcodeHandler * m_parts[16];
665 
666  public:
669 
673  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
674  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
675  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
676  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
677 };
678 
681 
691 class HBINFILETK_API HTK_User_Options : public TK_User_Options {
692  public:
694  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
695  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
696  { return TK_User_Options::Interpret(tk, key, special); }
697  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
698 };
699 
702 
712 class HBINFILETK_API HTK_Unicode_Options : public TK_Unicode_Options {
713  public:
715  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
716  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
717  { return TK_Unicode_Options::Interpret(tk, key, special); }
718  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
719 };
720 
722 
732 class HBINFILETK_API HTK_User_Index : public TK_User_Index {
733  public:
735  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
736  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
737  { return TK_User_Index::Interpret(tk, key, special); }
738  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
739 };
740 
742 
752 class HBINFILETK_API HTK_User_Index_Data : public TK_User_Index_Data {
753 public:
755  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
756  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
757  { return TK_User_Index_Data::Interpret(tk, key, special); }
758  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
759 };
760 
762 
772 class HBINFILETK_API HTK_User_Value : public TK_User_Value {
773  public:
775  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
776  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
777  { return TK_User_Value::Interpret(tk, key, special); }
778  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
779 };
780 
782 
792 class HBINFILETK_API2 HTK_Camera : public TK_Camera {
793  public:
795  HTK_Camera (unsigned char opcode = TKE_Camera) : TK_Camera (opcode) {}
796 
798  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
799  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
800  { return TK_Camera::Interpret(tk, key, special); }
801  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
802 };
803 
804 
806 
816 class HBINFILETK_API HTK_Window : public TK_Window {
817  public:
819  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
820  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
821  { return TK_Window::Interpret(tk, key, special); }
822  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
823 };
824 
825 
827 
838 class HBINFILETK_API HTK_Clip_Region : public TK_Clip_Region {
839  public:
841  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
842  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
843  { return TK_Clip_Region::Interpret(tk, key, special); }
844  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
845 };
846 
847 
849 
859 class HBINFILETK_API HTK_Clip_Rectangle : public TK_Clip_Rectangle {
860  public:
862  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
863 };
864 
865 
867 
877 class HBINFILETK_API HTK_Text_Font : public TK_Text_Font {
878  public:
880  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
881  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
882  { return TK_Text_Font::Interpret(tk, key, special); }
883  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
884 };
885 
887 
889 
903 class HBINFILETK_API2 HTK_Bounding : public TK_Bounding {
904  public:
906  HTK_Bounding (unsigned char opcode)
907  : TK_Bounding (opcode) {}
909  HTK_Bounding (unsigned char opcode, float * min, float * max)
910  : TK_Bounding (opcode, min, max) {}
912  HTK_Bounding (unsigned char opcode, float * center, float radius)
913  : TK_Bounding (opcode, center, radius) {}
914 
916  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
917  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
918  { return TK_Bounding::Interpret(tk, key, special); }
919  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
920 };
921 
924 
934 class HBINFILETK_API HTK_Point : public TK_Point {
935  public:
937  HTK_Point (unsigned char opcode) : TK_Point (opcode) {}
938 
940  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
941  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
942  { return TK_Point::Interpret(tk, key, special); }
943  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
944 };
945 
946 
948 
958 class HBINFILETK_API HTK_Line : public TK_Line {
959  public:
961  HTK_Line (unsigned char opcode = TKE_Line) : TK_Line (opcode) {}
962 
964  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
965  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
966  { return TK_Line::Interpret(tk, key, special); }
967  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
968 };
969 
971 
981 class HBINFILETK_API HTK_Polypoint : public TK_Polypoint {
982  public:
984  HTK_Polypoint (unsigned char opcode) : TK_Polypoint (opcode) {}
985 
987  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
988  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
989  { return TK_Polypoint::Interpret(tk, key, special); }
990  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
991 };
992 
994 
1004 class HBINFILETK_API HTK_NURBS_Curve : public TK_NURBS_Curve {
1005  public:
1006 
1008  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1009  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1010  { return TK_NURBS_Curve::Interpret(tk, key, special); }
1011  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1012 };
1013 
1015 
1025 class HBINFILETK_API HTK_NURBS_Surface : public TK_NURBS_Surface {
1026  protected:
1027 
1029  TK_Status interpret_trim (BStreamFileToolkit & tk, int) alter;
1031  TK_Status execute_trim (BStreamFileToolkit & tk, HT_NURBS_Trim *) alter;
1032 
1033  public:
1034 
1036  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1037  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1038  { return TK_NURBS_Surface::Interpret(tk, key, special); }
1039  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1040 };
1041 
1043 
1053 class HBINFILETK_API HTK_Area_Light : public TK_Area_Light {
1054  public:
1055 
1057  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1058  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1059  { return TK_Area_Light::Interpret(tk, key, special); }
1060  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1061 };
1062 
1064 
1074 class HBINFILETK_API HTK_Spot_Light : public TK_Spot_Light {
1075  public:
1077  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1078  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1079  { return TK_Spot_Light::Interpret(tk, key, special); }
1080  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1081 };
1082 
1084 
1094 class HBINFILETK_API HTK_Cutting_Plane : public TK_Cutting_Plane {
1095  public:
1097  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1098  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1099  { return TK_Cutting_Plane::Interpret(tk, key, special); }
1100  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1101 };
1102 
1104 
1114 class HBINFILETK_API HTK_Circle : public TK_Circle {
1115  public:
1117  HTK_Circle (unsigned char opcode) : TK_Circle (opcode) {}
1118 
1120  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1121  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1122  { return TK_Circle::Interpret(tk, key, special); }
1123  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1124 };
1125 
1127 
1137 class HBINFILETK_API HTK_Ellipse : public TK_Ellipse {
1138  public:
1140  HTK_Ellipse (unsigned char opcode) : TK_Ellipse (opcode) {}
1141 
1143  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1144  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1145  { return TK_Ellipse::Interpret(tk, key, special); }
1146  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1147 };
1148 
1150 
1160 class HBINFILETK_API HTK_Sphere : public TK_Sphere {
1161  public:
1164 
1166  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1167  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1168  { return TK_Sphere::Interpret(tk, key, special); }
1169  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1170 };
1171 
1173 
1183 class HBINFILETK_API HTK_Cylinder : public TK_Cylinder {
1184  public:
1187 
1189  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1190  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1191  { return TK_Cylinder::Interpret(tk, key, special); }
1192  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1193 };
1194 
1196 
1206 class HBINFILETK_API HTK_PolyCylinder : public TK_PolyCylinder {
1207  public:
1210 
1212  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1213  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1214  { return TK_PolyCylinder::Interpret(tk, key, special); }
1215  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1216 };
1217 
1219 
1229 class HBINFILETK_API HTK_Grid : public TK_Grid {
1230  public:
1232  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1233  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1234  { return TK_Grid::Interpret(tk, key, special); }
1235  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1236 };
1237 
1240 
1250 class HBINFILETK_API HTK_Text : public TK_Text {
1251  public:
1253  HTK_Text (unsigned char opcode) : TK_Text (opcode) {}
1254 
1256  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1257  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1258  { return TK_Text::Interpret(tk, key, special); }
1259  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1260 };
1261 
1264 
1274 class HBINFILETK_API HTK_Font : public TK_Font {
1275  public:
1278  { return TK_Font::Interpret(tk, key, variant); }
1279  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
1280  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1281 };
1282 
1283 
1286 
1296 class HBINFILETK_API2 HTK_Image : public TK_Image {
1297  public:
1298  HTK_Image () {
1299  m_jpeg_native = true;
1300  }
1301 
1303  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1304  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1305  { return TK_Image::Interpret(tk, key, special); }
1306  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1307 };
1308 
1309 
1312 
1322 class HBINFILETK_API2 HTK_Texture : public TK_Texture {
1323  protected:
1324  int mh_stage;
1327 
1328  public:
1329  HTK_Texture () : mh_stage (0), m_referee (0) {}
1330  ~HTK_Texture ();
1331 
1335  { return TK_Texture::Interpret(tk, key, variant); }
1336  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
1337  void Reset () alter;
1338  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1339 };
1340 
1342 class HBINFILETK_API2 HTK_Texture_Definitions : public BBaseOpcodeHandler {
1343  protected:
1344  BBaseOpcodeHandler ** m_parts;
1347 
1348  public:
1349  HTK_Texture_Definitions (bool shader = false);
1351 
1355  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1356  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1357  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1358 
1359  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1360 };
1361 
1364 
1374 class HBINFILETK_API2 HTK_Glyph_Definition : public TK_Glyph_Definition {
1375  public:
1378  { return TK_Glyph_Definition::Interpret(tk, key, variant); }
1379  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
1380  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1381 };
1382 
1385 class HBINFILETK_API2 HTK_Glyph_Definitions : public BBaseOpcodeHandler {
1386  protected:
1389  public:
1392 
1396  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1397  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1398  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1399  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1400 };
1401 
1404 
1414 class HBINFILETK_API2 HTK_Named_Style_Def : public TK_Named_Style_Def {
1415  protected:
1417  int mh_stage;
1419  public:
1421  HTK_Named_Style_Def () : TK_Named_Style_Def (), mh_stage (0) {}
1422 
1426  { return TK_Named_Style_Def::Interpret(tk, key, variant); }
1427  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
1428  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1429 
1430  void SetRoot (HC_KEY root) alter { m_root = root; }
1431  HC_KEY GetRoot () const { return m_root; }
1432 
1433  void Reset () alter;
1434 };
1435 
1438 class HBINFILETK_API2 HTK_Named_Style_Defs : public BBaseOpcodeHandler {
1439  protected:
1440  BBaseOpcodeHandler ** m_parts;
1443  public:
1446 
1450  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1451  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1452  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1453  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1454 
1455  void SetRoot (HC_KEY root) alter { m_root = root; }
1456  HC_KEY GetRoot () const { return m_root; }
1457 };
1458 
1459 
1462 
1472 class HBINFILETK_API2 HTK_Line_Style : public TK_Line_Style {
1473  public:
1476  { return TK_Line_Style::Interpret(tk, key, variant); }
1477  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter;
1478  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1479 };
1480 
1483 class HBINFILETK_API2 HTK_Line_Styles : public BBaseOpcodeHandler {
1484  protected:
1487  public:
1488  HTK_Line_Styles ();
1489  ~HTK_Line_Styles ();
1490 
1494  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0) alter;
1495  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special) alter
1496  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1497  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1498 };
1499 
1500 #endif //HOPCODE_HANDLER
1501 
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
BBaseOpcodeHandler ** m_parts
Array of line pattern def handlers.
Definition: HOpcodeHandler.h:1485
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:209
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HC_KEY m_root
relative root
Definition: HOpcodeHandler.h:1442
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:842
HC_KEY m_root
Definition: HOpcodeHandler.h:90
ID_Key mh_owner
Definition: HOpcodeHandler.h:126
HTK_Bounding(unsigned char opcode)
Definition: HOpcodeHandler.h:906
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1233
Provides HOOPS/3dGS-specific handling of the TKE_User_Options opcode.
Definition: HOpcodeHandler.h:691
HTK_Size(unsigned char opcode)
Definition: HOpcodeHandler.h:563
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1184
TK_Status Read(BStreamFileToolkit &tk) alter
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Delete_Object opcode.
Definition: HOpcodeHandler.h:170
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1156
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4577
HTK_Cylinder()
Definition: HOpcodeHandler.h:1186
Definition: HOpcodeHandler.h:1385
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6741
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1999
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:295
int mh_stage
Definition: HOpcodeHandler.h:1324
Provides HOOPS/3dGS-specific handling of the TKE_Geometry_Options opcode.
Definition: HOpcodeHandler.h:467
#define alter
complementary to const, indicates we thought about it instead of a forgotten "const" ...
Definition: BStream.h:225
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1009
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:776
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Glyph_Definition.
Definition: HOpcodeHandler.h:1374
Definition: BOpcodeHandler.h:5044
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:1475
Provides HOOPS/3dGS-specific handling of the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: HOpcodeHandler.h:1250
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1304
Provides HOOPS/3dGS-specific handling of the TKE_LOD opcode.
Definition: HOpcodeHandler.h:189
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:328
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4679
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7826
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:163
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1078
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcode.
Definition: HOpcodeHandler.h:67
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:611
Provides HOOPS/3dGS-specific handling of the TKE_Color_RGB opcode.
Definition: HOpcodeHandler.h:262
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7940
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:1342
Provides HOOPS/3dGS-specific handling of the TKE_Rendering_Options opcode.
Definition: HOpcodeHandler.h:425
HC_KEY GetRoot() const
Definition: HOpcodeHandler.h:109
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Surface opcode.
Definition: HOpcodeHandler.h:1025
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7571
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1215
#define HC_KEY
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:1425
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:756
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Camera opcode.
Definition: HOpcodeHandler.h:792
Provides HOOPS/3dGS-specific handling of the TKE_Streaming_Mode opcode.
Definition: HOpcodeHandler.h:607
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1436
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:6179
HC_KEY m_root
Definition: HOpcodeHandler.h:1418
Provides HOOPS/3dGS-specific handling of the TKE_PolyCylinder opcode.
Definition: HOpcodeHandler.h:1206
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2240
Provides HOOPS/3dGS-specific handling of various opcodes.
Definition: HOpcodeHandler.h:547
Provides HOOPS/3dGS-specific handling of the TKE_Spot_Light opcode.
Definition: HOpcodeHandler.h:1074
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1486
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:1334
int mh_stage
Definition: HOpcodeHandler.h:125
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1098
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:492
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6662
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int mh_stage
Definition: HOpcodeHandler.h:1417
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5299
TK_Status Write(BStreamFileToolkit &tk) alter
Provides HOOPS/3dGS-specific handling of the TKE_Callback opcode.
Definition: HOpcodeHandler.h:403
Provides HOOPS/3dGS-specific handling of the TKE_Visibility opcode.
Definition: HOpcodeHandler.h:488
Provides HOOPS/3dGS-specific handling of the TKE_Image opcode.
Definition: HOpcodeHandler.h:1296
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7320
BBaseOpcodeHandler * m_referee
for internal use only
Definition: HOpcodeHandler.h:1325
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:7156
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:5261
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1758
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4415
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:1377
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1388
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6519
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Named_Style_Defs.
Definition: HOpcodeHandler.h:1414
Definition: BOpcodeHandler.h:5017
Provides HOOPS/3dGS-specific handling of the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: HOpcodeHandler.h:1137
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:6330
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6464
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:174
Provides HOOPS/3dGS-specific handling of the TKE_Renumber_Key_Local and TKE_Renumber_Key_Global opcod...
Definition: HOpcodeHandler.h:211
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7875
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1472
Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcodes.
Definition: HOpcodeHandler.h:87
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1387
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1508
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:4942
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1379
Provides HOOPS/3dGS-specific handling of the TKE_Selectability opcode.
Definition: HOpcodeHandler.h:509
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:6099
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:5116
void Reset() alter
virtual TK_Status Read(BStreamFileToolkit &tk) alter=0
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1345
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:39
Provides HOOPS/3dGS-specific handling of the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: HOpcodeHandler.h:903
Provides HOOPS/3dGS-specific handling of the TKE_Sphere opcode.
Definition: HOpcodeHandler.h:1160
Provides HOOPS/3dGS-specific handling of the TKE_NURBS_Curve opcode.
Definition: HOpcodeHandler.h:1004
Provides HOOPS/3dGS-specific handling of the TKE_Edge_Pattern opcode.
Definition: HOpcodeHandler.h:577
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Color opcode.
Definition: HOpcodeHandler.h:236
HC_KEY m_key
segment key
Definition: HOpcodeHandler.h:1416
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:632
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7990
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5692
int mh_stage
Definition: HOpcodeHandler.h:89
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5347
Definition: BOpcodeHandler.h:4985
Provides HOOPS/3dGS-specific handling of the TKE_User_Value opcode.
Definition: HOpcodeHandler.h:772
Definition: HOpcodeHandler.h:1438
virtual TK_Status Execute(BStreamFileToolkit &tk) alter
Provides HOOPS/3dGS-specific handling of the TKE_Polyine and TKE_Polygon opcodes. ...
Definition: HOpcodeHandler.h:981
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Value opcode.
Definition: HOpcodeHandler.h:291
Provides HOOPS/3dGS-specific handling of the TKE_Close_Segment opcode.
Definition: HOpcodeHandler.h:57
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5958
HTK_Color(int mask=0, int channels=0)
Definition: HOpcodeHandler.h:240
HTK_Named(unsigned char opcode)
Definition: HOpcodeHandler.h:596
Provides HOOPS/3dGS-specific handling of the TKE_Conditional_Action opcode.
Definition: HOpcodeHandler.h:649
HTK_Referenced_Segment(char opcode)
Definition: HOpcodeHandler.h:94
Provides HOOPS/3dGS-specific handling of the TKE_Window opcode.
Definition: HOpcodeHandler.h:816
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:654
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4778
Definition: HOpcodeHandler.h:352
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Circle(unsigned char opcode)
Definition: HOpcodeHandler.h:1117
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1947
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Rectangle opcode.
Definition: HOpcodeHandler.h:859
HTK_PolyCylinder()
Definition: HOpcodeHandler.h:1209
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6808
HTK_Line(unsigned char opcode=TKE_Line)
Definition: HOpcodeHandler.h:961
Provides HOOPS/3dGS-specific handling of the TKE_Matrix opcode.
Definition: HOpcodeHandler.h:529
HTK_Renumber(unsigned char opcode, HC_KEY key=0)
Definition: HOpcodeHandler.h:214
Provides HOOPS/3dGS-specific handling of the TKE_Line_Weight, TKE_Edge_Weight, TKE_Marker_Size and TK...
Definition: HOpcodeHandler.h:560
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:6049
HTK_Polypoint(unsigned char opcode)
Definition: HOpcodeHandler.h:984
Provides HOOPS/3dGS-specific handling of the TKE_Text_Font opcode.
Definition: HOpcodeHandler.h:877
Handles the TKE_Bounding, and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5909
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:61
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:5457
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Clip_Region opcode.
Definition: HOpcodeHandler.h:838
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode...
Definition: HOpcodeHandler.h:311
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:7062
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
int m_num_parts
number of handlers
Definition: HOpcodeHandler.h:1441
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2747
HTK_Linear_Pattern(unsigned char opcode)
Definition: HOpcodeHandler.h:580
Provides HOOPS/3dGS-specific handling of the TKE_Grid opcode.
Definition: HOpcodeHandler.h:1229
BBaseOpcodeHandler ** m_parts
Array of glyph def handlers.
Definition: HOpcodeHandler.h:1440
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:60
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Color_By_FIndex opcode.
Definition: HOpcodeHandler.h:336
TK_Status Write(BStreamFileToolkit &tk) alter
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:386
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:237
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5571
Provides HOOPS/3dGS-specific handling of the TKE_Cylinder opcode.
Definition: HOpcodeHandler.h:1183
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4624
HTK_Ellipse(unsigned char opcode)
Definition: HOpcodeHandler.h:1140
Provides HOOPS/3dGS-specific handling of the TKE_Unicode_Options opcode.
Definition: HOpcodeHandler.h:712
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1058
Provides HOOPS/3dGS-specific handling of the TKE_Color_Map opcode.
Definition: HOpcodeHandler.h:382
Provides HOOPS/3dGS-specific handling of the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE...
Definition: HOpcodeHandler.h:1114
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_User_Index opcode.
Definition: HOpcodeHandler.h:732
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1098
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Camera(unsigned char opcode=TKE_Camera)
Definition: HOpcodeHandler.h:795
HTK_Enumerated(unsigned char opcode)
Definition: HOpcodeHandler.h:550
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:6257
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2060
#define ID_Key
Definition: BStream.h:219
HTK_Color_RGB(int mask=0, float const *rgb=0)
Definition: HOpcodeHandler.h:265
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Write(BStreamFileToolkit &tk) alter
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:5215
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:8043
TK_Status Write(BStreamFileToolkit &tk) alter
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
Definition: HOpcodeHandler.h:1277
bool m_is_shader
search for shaders, not textures
Definition: HOpcodeHandler.h:1346
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:429
Definition: HOpcodeHandler.h:1483
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2167
Provides HOOPS/3dGS-specific handling of the TKE_Marker_Symbol, TKE_Line_Pattern, and TKE_Edge_Patter...
Definition: HOpcodeHandler.h:593
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: HOpcodeHandler.h:662
HTK_Matrix(unsigned char opcode)
Definition: HOpcodeHandler.h:532
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1037
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:513
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Font opcode.
Definition: HOpcodeHandler.h:1274
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:820
HTK_Color_By_FIndex(int mask=0, float index=0.0f)
Definition: HOpcodeHandler.h:339
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:1304
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:407
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:5165
Provides HOOPS/3dGS-specific handling of the TKE_Heuristics opcode.
Definition: HOpcodeHandler.h:446
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:450
Provides HOOPS/3dGS-specific handling of the TKE_Open_Segment opcode.
Definition: HOpcodeHandler.h:36
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:199
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:716
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:881
TK_Status Read(BStreamFileToolkit &tk) alter
Definition: BOpcodeHandler.h:5088
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:71
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1407
Provides HOOPS/3dGS-specific handling of the TKE_Repeat_Object opcode.
Definition: HOpcodeHandler.h:155
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:6399
HC_KEY m_key
for internal use only
Definition: HOpcodeHandler.h:1326
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Provides HOOPS/3dGS-specific handling of the TKE_Conditions opcode.
Definition: HOpcodeHandler.h:628
virtual TK_Status Write(BStreamFileToolkit &tk) alter=0
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:6007
Provides HOOPS/3dGS-specific handling of the TKE_Texture.
Definition: HOpcodeHandler.h:1322
Provides HOOPS/3dGS-specific handling of the TKE_Cutting_Plane opcode.
Definition: HOpcodeHandler.h:1094
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Bounding(unsigned char opcode, float *min, float *max)
Definition: HOpcodeHandler.h:909
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Named_Style_Def()
Definition: HOpcodeHandler.h:1421
Provides HOOPS/3dGS-specific handling of the TKE_User_Index_Data opcode.
Definition: HOpcodeHandler.h:752
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6599
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:193
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6904
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
void Reset() alter
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:471
HTK_Color_By_Index(unsigned char opcode, int mask=0, int index=0)
Definition: HOpcodeHandler.h:314
Provides HOOPS/3dGS-specific handling of the TKE_Area_Light opcode.
Definition: HOpcodeHandler.h:1053
HTK_Text(unsigned char opcode)
Definition: HOpcodeHandler.h:1253
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:736
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:5408
HTK_Bounding(unsigned char opcode, float *center, float radius)
Definition: HOpcodeHandler.h:912
Provides HOOPS/3dGS-specific handling of the TKE_Line, TKE_Infinite_Line, and TKE_Infinite_Ray opcode...
Definition: HOpcodeHandler.h:958
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2109
Provides HOOPS/3dGS-specific handling of the TKE_Reference opcode.
Definition: HOpcodeHandler.h:123
void Reset() alter
HTK_Sphere()
Definition: HOpcodeHandler.h:1163
Provides HOOPS/3dGS-specific handling of the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: HOpcodeHandler.h:934
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special) alter
Definition: HOpcodeHandler.h:695
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Reference()
Definition: HOpcodeHandler.h:130
BBaseOpcodeHandler ** m_parts
Array of texture handlers.
Definition: HOpcodeHandler.h:1344
TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
HTK_Point(unsigned char opcode)
Definition: HOpcodeHandler.h:937