BOpcodeHandler.h
Go to the documentation of this file.
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 BOPCODE_HANDLER
11 #define BOPCODE_HANDLER
12 
13 #ifndef BBINFILETK_TOOLKIT
14  #include "BStreamFileToolkit.h"
15 #endif
16 
17 #ifndef POINTER_SIZED_INT
18 #if defined(WIN64) || defined(_M_X64) || defined(_WIN64)
19 # define POINTER_SIZED_INT __int64
20 # define POINTER_SIZED_UINT unsigned __int64
21 #else
22 # define POINTER_SIZED_INT long
23 # define POINTER_SIZED_UINT unsigned long
24 #endif
25 #endif
26 
27 #include "BOpcodeEnums.h"
28 
29 
31 
34 
55 class BBINFILETK_API2 BBaseOpcodeHandler
56 #ifdef HPS_CORE_BUILD
57  : public CMO
58 #else
60 #endif
61 {
62  protected:
63  int m_stage;
64  int m_progress;
65  unsigned char m_opcode;
66  unsigned char m_general_flags;
67  bool m_needs_tag;
68 
71  char * m_debug_string;
73  char * m_ascii_buffer;
74  int m_ascii_size;
75  int m_ascii_length;
76 
77  int m_ascii_stage;
79 
80  unsigned char m_byte;
81  unsigned short m_unsigned_short;
82  int m_int;
83  char m_char;
84 
85  public:
92  : m_stage (0), m_progress (0), m_opcode ((unsigned char)op), m_general_flags(0), m_needs_tag (false),
93  m_debug_length (0), m_debug_allocated (0), m_debug_string (0),
94 
95  m_ascii_buffer (0), m_ascii_size (0), m_ascii_length (0), m_ascii_stage (0), m_ascii_progress(0),
96  m_byte(0), m_unsigned_short(0), m_int(0), m_char('\0')
97  {}
98  virtual ~BBaseOpcodeHandler ();
99 
107  virtual TK_Status Read (BStreamFileToolkit & tk) = 0;
108 
116  virtual TK_Status Write (BStreamFileToolkit & tk) = 0;
117 
125  virtual TK_Status Execute (BStreamFileToolkit & tk);
126 
136  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant = 0);
137 
147  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
148 
154  virtual void Reset ();
155 
160  virtual bool Match_Instance (BStreamFileToolkit const & tk, Recorded_Instance * instance);
161 
162 
164  unsigned char Opcode () const { return m_opcode; }
165 
167  unsigned char General_Flags () const { return m_general_flags; }
168 
170  void Set_General_Flags (int f) { m_general_flags = (unsigned char)f; }
171 
176  int Pass (BStreamFileToolkit & tk) const { return tk.pass(); }
177 
182  TK_Status Tag (BStreamFileToolkit & tk, int variant= -1) const { return tk.tag(variant); }
183 
187  bool Tagging (BStreamFileToolkit & tk) const {
188  return m_needs_tag || tk.GetWriteFlags(TK_Force_Tags) != 0;
189  }
190 
194  void SetNeedsTag (bool n) { m_needs_tag = n; }
195 
199  bool NeedsTag () const { return m_needs_tag; }
200 
207  virtual TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const {
208  *handler = 0;
209  return tk.Error();
210  }
211 
217  virtual bool NeedsContext (BStreamFileToolkit & tk) const { (void)tk; return false; }
218 
223  void SetLoggingString (char const * segment);
224 
229  void SetLoggingString (int length);
230 
234  char const * GetLoggingString () const { return m_debug_string; }
239  char * GetLoggingString () { return m_debug_string; }
240 
244  void LogDebug (BStreamFileToolkit & tk, char const * string = 0);
245 
246  protected:
247  // various means of pulling data from the toolkit buffer
248  // Note: format conversion is safe to do in output buffer
249 
251  static TK_Status GetData (BStreamFileToolkit & tk, char * b, int n) { return tk.read (b, n); }
252 
254  static TK_Status GetData (BStreamFileToolkit & tk, short * s, int n) {
255  TK_Status status;
256  if ((status = GetData (tk, (char *)s, n * (int)sizeof (short))) == TK_Normal)
257  fix (s, n);
258  return status;
259  }
260 
262  static TK_Status GetData (BStreamFileToolkit & tk, int * i, int n) {
263  TK_Status status;
264  if ((status = GetData (tk, (char *)i, n * (int)sizeof (int))) == TK_Normal)
265  fix (i, n);
266  return status;
267  }
268 
270  static TK_Status GetData (BStreamFileToolkit & tk, float * f, int n) {
271  TK_Status status;
272  if ((status = GetData (tk, (char *)f, n * (int)sizeof (float))) == TK_Normal)
273  fix_in (f, n);
274  return status;
275  }
276 
278  static TK_Status GetData (BStreamFileToolkit & tk, double * d, int n) {
279  TK_Status status;
280  if ((status = GetData (tk, (char *)d, n * (int)sizeof (double))) == TK_Normal)
281  fix_in (d, n);
282  return status;
283  }
284 
286  static TK_Status GetData (BStreamFileToolkit & tk, unsigned char * b, int n) { return GetData (tk, (char *)b, n); }
287 
289  static TK_Status GetData (BStreamFileToolkit & tk, unsigned short * s, int n) { return GetData (tk, (short *)s, n); }
290 
292  static TK_Status GetData (BStreamFileToolkit & tk, unsigned int * i, int n) { return GetData (tk, (int *)i, n); }
293 
295  static TK_Status GetData (BStreamFileToolkit & tk, char & c) { return GetData (tk, &c, 1); }
296 
298  static TK_Status GetData (BStreamFileToolkit & tk, short & s) { return GetData (tk, &s, 1); }
299 
301  static TK_Status GetData (BStreamFileToolkit & tk, int & i) { return GetData (tk, &i, 1); }
302 
304  static TK_Status GetData (BStreamFileToolkit & tk, unsigned char & b) { return GetData (tk, &b, 1); }
305 
307  static TK_Status GetData (BStreamFileToolkit & tk, unsigned short & s) { return GetData (tk, &s, 1); }
308 
310  static TK_Status GetData (BStreamFileToolkit & tk, unsigned int & i) { return GetData (tk, &i, 1); }
311 
313  static TK_Status GetData (BStreamFileToolkit & tk, float & f) { return GetData (tk, &f, 1); }
314 
316  static TK_Status GetData (BStreamFileToolkit & tk, double & d) { return GetData (tk, &d, 1); }
317 
318 
321  TK_Status status = TK_Normal;
322 
323  if (tk.GetVersion() >= 1975 &&
324  (status = GetData (tk, m_general_flags)) != TK_Normal)
325  return status;
326 
327  return status;
328  }
329 
330 
331 
332 
334  static TK_Status LookatData (BStreamFileToolkit & tk, unsigned char & b) { return tk.lookat ((char &)b); }
335 
336  // various means of putting data into the toolkit buffer
337  // Note: format conversion is NOT safe in input buffer -- use temps
338 
340  static TK_Status PutData (BStreamFileToolkit & tk, char const * b, int n) { return tk.write (b, n); }
341 
343  static TK_Status PutData (BStreamFileToolkit & tk, short const * s, int n) {
344  #ifdef STREAM_BIGENDIAN
345  short * buffer;
346  short * tmp;
347  TK_Status status;
348  int i;
349  BSTREAM_ALLOC_ARRAY(buffer, n, short);
350  tmp = buffer;
351  for (i=0; i<n; ++i)
352  *tmp++ = flip (*s++);
353  status = PutData (tk, (char const *)buffer, n * (int)sizeof (short));
354  BSTREAM_FREE_ARRAY(buffer, n, short);
355  if (status != TK_Normal)
356  return status;
357  return TK_Normal;
358  #else
359  return PutData (tk, (char const *)s, n * (int)sizeof (short));
360  #endif
361  }
362 
364  static TK_Status PutData (BStreamFileToolkit & tk, int const * i, int n) {
365  #ifdef STREAM_BIGENDIAN
366  int * buffer;
367  int * tmp;
368  TK_Status status;
369  int j;
370  BSTREAM_ALLOC_ARRAY(buffer, n, int);
371  tmp = buffer;
372  for (j=0; j<n; ++j)
373  *tmp++ = flip (*i++);
374  status = PutData (tk, (char const *)buffer, n * (int)sizeof (int));
375  BSTREAM_FREE_ARRAY(buffer, n, int);
376  if (status != TK_Normal)
377  return status;
378  return TK_Normal;
379  #else
380  return PutData (tk, (char const *)i, n * (int)sizeof (int));
381  #endif
382  }
383 
385  static TK_Status PutData (BStreamFileToolkit & tk, float const * f, int n) {
386  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
387  float * buffer;
388  float * tmp;
389  TK_Status status;
390  int i;
391  BSTREAM_ALLOC_ARRAY(buffer, n, float);
392  tmp = buffer;
393  for (i=0; i<n; ++i) {
394  *tmp = *f++;
395  fix_out (tmp++, 1);
396  }
397  status = PutData (tk, (char const *)buffer, n * (int)sizeof (float));
398  BSTREAM_FREE_ARRAY(buffer, n, float);
399  if (status != TK_Normal)
400  return status;
401  return TK_Normal;
402  #else
403  return PutData (tk, (char const *)f, n * (int)sizeof (float));
404  #endif
405  }
406 
408  static TK_Status PutData (BStreamFileToolkit & tk, double const * d, int n) {
409  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
410  double * buffer;
411  double * tmp;
412  TK_Status status;
413  int i;
414  BSTREAM_ALLOC_ARRAY(buffer, n, double);
415  tmp = buffer;
416  for (i=0; i<n; ++i) {
417  *tmp = *d++;
418  fix_out (tmp++, 1);
419  }
420  status = PutData (tk, (char const *)buffer, n * (int)sizeof (double));
421  BSTREAM_FREE_ARRAY(buffer, n, double);
422  if (status != TK_Normal)
423  return status;
424  return TK_Normal;
425  #else
426  return PutData (tk, (char const *)d, n * (int)sizeof (double));
427  #endif
428  }
429 
431  static TK_Status PutData (BStreamFileToolkit & tk, unsigned char const * b, int n) { return PutData (tk, (char const *)b, n); }
432 
434  static TK_Status PutData (BStreamFileToolkit & tk, unsigned short const * s, int n) { return PutData (tk, (short const *)s, n); }
435 
437  static TK_Status PutData (BStreamFileToolkit & tk, unsigned int const * i, int n) { return PutData (tk, (int const *)i, n); }
438 
440  static TK_Status PutData (BStreamFileToolkit & tk, char const & c) { return PutData (tk, &c, 1); }
441 
443  static TK_Status PutData (BStreamFileToolkit & tk, short const & s) { return PutData (tk, &s, 1); }
444 
446  static TK_Status PutData (BStreamFileToolkit & tk, int const & i) { return PutData (tk, &i, 1); }
447 
449  static TK_Status PutData (BStreamFileToolkit & tk, unsigned char const & b) { return PutData (tk, &b, 1); }
450 
452  static TK_Status PutData (BStreamFileToolkit & tk, unsigned short const & s) { return PutData (tk, &s, 1); }
453 
455  static TK_Status PutData (BStreamFileToolkit & tk, unsigned int const & i) { return PutData (tk, &i, 1); }
456 
458  static TK_Status PutData (BStreamFileToolkit & tk, float const & f) { return PutData (tk, &f, 1); }
459 
461  static TK_Status PutData (BStreamFileToolkit & tk, double const & d) { return PutData (tk, &d, 1); }
462 
464  TK_Status PutOpcode (BStreamFileToolkit & tk, int adjust = 1) {
465  TK_Status status;
466  unsigned int sequence;
467 
468  if ((status = PutData (tk, Opcode ())) != TK_Normal)
469  return status;
470 
471  tk.adjust_written (adjust);
472 
473  sequence = tk.NextOpcodeSequence();
474  if (tk.GetLogging())
475  log_opcode (tk, sequence, Opcode());
476 
477  return status;
478  }
479 
482  TK_Status status = TK_Normal;
483 
484  if (tk.GetTargetVersion() >= 1975 &&
485  (status = PutData (tk, General_Flags ())) != TK_Normal)
486  return status;
487 
488  return status;
489  }
490 
491 
492 
493  /* note -- fix for int types will work during read OR write phase, but floats need separate routines for native->IEEE and IEEE->native
494  */
496  static short flip (short s) {
497  return (short)(((s >> 8) & 0x00FF) | (s << 8));
498  }
500  static int flip (int i) {
501  return ((i >> 24) & 0x000000FF) | ((i >> 8) & 0x0000FF00) |
502  ((i << 8) & 0x00FF0000) | (i << 24);
503  }
504 
505  #ifdef STREAM_BIGENDIAN
506  static void flip (double * d) {
508  char b[8];
509  memcpy (b, &d, sizeof(double));
510  Swap (b[0], b[7]);
511  Swap (b[1], b[6]);
512  Swap (b[2], b[5]);
513  Swap (b[3], b[4]);
514  memcpy (&d, b, sizeof(double));
515  }
516  #endif
517 
518 #ifndef DOXYGEN_SHOULD_SKIP_THIS
519  #ifndef UNREFERENCED
520  #define UNREFERENCED(x) (void)(x)
521  #endif
522 #endif
523 
525  static void fix (int * i, int n) {
526  #ifdef STREAM_BIGENDIAN
527  while (n--){
528  *i = flip (*i);
529  i++;
530  }
531  #else
532  UNREFERENCED(i);
533  UNREFERENCED(n);
534  #endif
535  }
537  static void fix (short * s, int n) {
538  #ifdef STREAM_BIGENDIAN
539  while (n--){
540  *s = flip (*s);
541  s++;
542  }
543  #else
544  UNREFERENCED(s);
545  UNREFERENCED(n);
546  #endif
547  }
548 
550  static void fix_in (float * f, int n) {
551  #ifdef NON_IEEE
552  // need to re-interpret from IEEE to native format
553  #endif
554 
555  #ifdef STREAM_BIGENDIAN
556  int * i = (int *) f;
557  while (n--) {
558  *i = flip (*i);
559  i++;
560  }
561  #else
562  UNREFERENCED(f);
563  UNREFERENCED(n);
564  #endif
565  }
567  static void fix_in (double * d, int n) {
568  #ifdef NON_IEEE
569  // need to re-interpret from IEEE to native format
570  #endif
571 
572  #ifdef STREAM_BIGENDIAN
573  while (n--) {
574  flip (d++);
575  }
576  #else
577  UNREFERENCED(d);
578  UNREFERENCED(n);
579  #endif
580  }
582  static void fix_out (float * f, int n) {
583  #ifdef NON_IEEE
584  // need to re-interpret from native format to IEEE
585  #endif
586 
587  #ifdef STREAM_BIGENDIAN
588  int * i = (int*) f;
589  while (n--) {
590  *i = flip (*i);
591  i++;
592  }
593  #else
594  UNREFERENCED(f);
595  UNREFERENCED(n);
596  #endif
597  }
599  static void fix_out (double * d, int n) {
600  #ifdef NON_IEEE
601  // need to re-interpret from native format to IEEE
602  #endif
603 
604  #ifdef STREAM_BIGENDIAN
605  while (n--) {
606  flip (d++);
607  }
608  #else
609  UNREFERENCED(d);
610  UNREFERENCED(n);
611  #endif
612  }
613 
615  void log_opcode (BStreamFileToolkit & tk, unsigned int sequence, unsigned char opcode);
616 
617 
618  /* common conversions
619  these two are for converting between floats [0.0,1.0] and unsigned chars [0,255]
620  */
622  void floats_to_bytes (float const * in, unsigned char * out, int count) const {
623  while (count-- > 0)
624  *out++ = char (*in++ * 255.999f);
625  }
627  void bytes_to_floats (unsigned char const * in, float * out, int count) const {
628  while (count-- > 0)
629  *out++ = float (*in++) * (1.0f/255.0f);
630  }
631 
632  // access to toolkit utility functions
634  void add_segment (BStreamFileToolkit & tk, ID_Key key) { tk.add_segment (key); }
636  ID_Key remove_segment (BStreamFileToolkit & tk) { return tk.remove_segment(); }
638  void set_last_key (BStreamFileToolkit & tk, ID_Key key) { tk.set_last_key (key); }
641  if (tk.m_last_keys_used == 1)
642  return tk.m_last_keys[0];
643  else
644  return -1;
645  }
647  void adjust_written (BStreamFileToolkit & tk, int count) { tk.adjust_written (count); }
649  void increase_nesting (BStreamFileToolkit & tk, int amount=1) { tk.increase_nesting (amount); }
651  void decrease_nesting (BStreamFileToolkit & tk, int amount=1) { tk.decrease_nesting (amount); }
652 
656  void Revisit (BStreamFileToolkit & tk, float priority=0.0f, int variant=0) const { tk.revisit (Opcode(), priority, variant); }
657 
661  BBaseOpcodeHandler * Opcode_Handler (BStreamFileToolkit & tk, unsigned char op) const
662  { return tk.opcode_handler (op); }
663 
665  void Record_Instance (BStreamFileToolkit & tk, ID_Key key, int variant,
666  int val1, int val2, int val3) const {
667  tk.record_instance (key, variant, this, val1, val2, val3);
668  }
670  bool Find_Instance (BStreamFileToolkit & tk, int val1, int val2, int val3) {
671  return tk.find_instance (this, val1, val2, val3);
672  }
673 
675  void Remember_Item (BStreamFileToolkit & tk, ID_Key key) const { tk.remember_item(key); }
677  bool Find_Item (BStreamFileToolkit & tk, ID_Key key) const { return tk.find_item(key); }
678 
680  bool validate_count (int count, int limit = 1<<24) const { return 0 <= count && count <= limit; }
681 
685  static float read_float (char const *cp, char const ** newcpp = 0);
687  static float read_float (char const *cp, char ** newcpp)
688  { return read_float (cp, (char const **)newcpp); }
690  static char * write_float (char * buffer, double f);
691 
692 
693 
695  TK_Status SkipNewlineAndTabs(BStreamFileToolkit & tk, unsigned int* readSize=0);
697  TK_Status ReadAsciiLine(BStreamFileToolkit & tk, unsigned int* readSize=0);
699  TK_Status ReadAsciiWord(BStreamFileToolkit & tk, unsigned int* readSize=0);
701  TK_Status ReadEndOpcode(BStreamFileToolkit & tk);
703  bool RemoveAngularBrackets(char* string);
705  bool RemoveQuotes(char* string);
707  TK_Status Read_Referenced_Segment(BStreamFileToolkit & tk, int &i_progress);
708 
709  //TK_Status GetAsciiData(BStreamFileToolkit & tk, float * rFloats, unsigned int n);
710 
712  TK_Status GetAsciiData(BStreamFileToolkit & tk, int * rInts, unsigned int n);
713  //TK_Status GetAsciiData(BStreamFileToolkit & tk, short * rShorts, unsigned int n);
714 
716  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char& value);
718  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char& value);
720  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short& value);
722  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short& value);
724  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int& value);
726  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float& value);
728  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float * rFloats, unsigned int n);
730  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char * m_string, unsigned int n);
732  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char * m_string, unsigned int n);
734  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int * rInts, unsigned int n);
736  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short * rShorts, unsigned int n);
738  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short * rShorts, unsigned int n);
740  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned char &value);
742  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, int &value);
744  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, char &value);
746  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned short &value);
748  TK_Status GetAsciiImageData(BStreamFileToolkit & tk, const char * tag, unsigned char * rValues, unsigned int n);
749 
751  TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1, bool is_end = false, bool want_newline = true);
752  // TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1);
753 
755  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const * b, int n);
757  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const * s, int n);
759  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const * i, int n);
761  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const * f, int n);
763  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const * b, int n);
765  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const * s, int n);
767  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const * i, int n);
769  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const & c);
771  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const & s);
773  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const & i);
775  TK_Status PutAsciiFlag (BStreamFileToolkit & tk, char const *tag, int const & i);
777  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const & b);
779  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const & s);
781  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const & i);
783  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const & f);
785  TK_Status PutAsciiMask (BStreamFileToolkit & tk,char const *tag, int const & i);
787  TK_Status PutAsciiHex (BStreamFileToolkit & tk, char const *tag, int const & i);
789  TK_Status PutStartXMLTag (BStreamFileToolkit & tk, char const *tag);
791  TK_Status PutEndXMLTag (BStreamFileToolkit & tk, char const *tag);
792 };
793 
795 #define IMPLEMENT_CLONE(class_name) \
796  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
797  *newhandler = BSTREAM_NEW(class_name); \
798  if (*newhandler != null) \
799  return TK_Normal; \
800  else \
801  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
802  } //
803 #define IMPLEMENT_CLONE_OPCODE(class_name) \
805  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
806  *newhandler = BSTREAM_NEW(class_name)(Opcode()); \
807  if (*newhandler != null) \
808  return TK_Normal; \
809  else \
810  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
811 } //
812 
814 
820 class BBINFILETK_API TK_Default : public BBaseOpcodeHandler {
821 
822  protected:
823  char * m_opcode_buffer;
824  int m_buffer_count;
825 
826  public:
828  TK_Default () : BBaseOpcodeHandler (TKE_Pseudo_Handler) {m_opcode_buffer = 0, m_buffer_count = 0;}
829 
831 
833 
834 
835  TK_Status ReadAscii (BStreamFileToolkit & tk);
836  TK_Status WriteAscii (BStreamFileToolkit & tk);
837 
838 };
839 
845 class BBINFILETK_API TK_Unavailable : public BBaseOpcodeHandler {
846  public:
848  TK_Unavailable (char opcode) : BBaseOpcodeHandler (opcode) {}
849 
852 };
853 
856 
862 class BBINFILETK_API TK_Header : public BBaseOpcodeHandler {
863  protected:
866 
867  public:
869  TK_Header () : BBaseOpcodeHandler (TKE_Pseudo_Handler), m_current_object (0) {}
870  ~TK_Header();
871 
874 
875 
876  TK_Status ReadAscii (BStreamFileToolkit & tk);
877  TK_Status WriteAscii (BStreamFileToolkit & tk);
878 
879 
880  void Reset ();
881 };
882 
883 
885 
891 class BBINFILETK_API TK_File_Info : public BBaseOpcodeHandler {
892  protected:
894  int m_flags;
895 
896  public:
898  TK_File_Info () : BBaseOpcodeHandler (TKE_File_Info), m_flags (0) {}
899 
900 
904  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
905  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
906  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
907 
908 
909  TK_Status ReadAscii (BStreamFileToolkit & tk);
910  TK_Status WriteAscii (BStreamFileToolkit & tk);
911 
912 
914  void SetFlags (int f) { m_flags = f; }
916  int GetFlags () { return m_flags; }
917 };
918 
919 
921 
929 class BBINFILETK_API TK_Comment : public BBaseOpcodeHandler {
930  protected:
932  int m_length;
936  char * m_comment;
937 
939  void set_comment (char const * comment);
941  void set_comment (int length);
942 
943  public:
945  TK_Comment (char const * comment = 0);
946  ~TK_Comment();
947 
951 
952  TK_Status ReadAscii (BStreamFileToolkit & tk);
953  TK_Status WriteAscii (BStreamFileToolkit & tk);
954  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
957  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant) {
958  (void)tk; (void)key; (void)variant;
959  return TK_Normal;
960  }
961  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
962  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
963  void Reset ();
964 
969  void SetComment (char const * comment) { set_comment (comment); }
974  void SetComment (int length) { set_comment (length); }
978  char const * GetComment () const { return m_comment; }
983  char * GetComment () { return m_comment; }
984 };
985 
986 
988 
996 class BBINFILETK_API TK_Terminator : public BBaseOpcodeHandler {
997  public:
999  TK_Terminator (char opcode, bool is_file_terminator = true) : BBaseOpcodeHandler (opcode),
1000  m_terminate_file(is_file_terminator) {}
1001 
1005 
1006 
1007  TK_Status ReadAscii (BStreamFileToolkit & tk);
1008  TK_Status WriteAscii (BStreamFileToolkit & tk);
1009 
1010  protected:
1012  // meant to terminate the file or something else (viz. LOD collection)
1014 };
1015 
1016 
1018 
1025 class BBINFILETK_API TK_Compression : public BBaseOpcodeHandler {
1026  public:
1028  TK_Compression (char opcode) : BBaseOpcodeHandler (opcode) {}
1029 
1032 
1033  TK_Status ReadAscii (BStreamFileToolkit & tk);
1034  TK_Status WriteAscii (BStreamFileToolkit & tk);
1036  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
1037  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
1038  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1039  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1040 };
1041 
1043 
1044 
1045 // this should be based off a "data handling" interface class broken out from BBaseOpcodeHandler
1046 class BBINFILETK_API Lock_Masks : public BBaseOpcodeHandler {
1047  public:
1048  int mask;
1049  int value;
1090 
1091 
1092  Lock_Masks () : BBaseOpcodeHandler (0) {}
1094  TK_Status Write (BStreamFileToolkit &) { return TK_Error; } //-V524
1095 
1096  TK_Status Read (BStreamFileToolkit & tk, bool mask_only);
1097  TK_Status Write (BStreamFileToolkit & tk, bool mask_only);
1098 
1099  void init() {
1100  mask = value = 0;
1101  color_mask = color_value = 0;
1102  color_face_mask = color_face_value =
1103  color_edge_mask = color_edge_value =
1104  color_line_mask = color_line_value =
1105  color_marker_mask = color_marker_value =
1106  color_text_mask = color_text_value =
1107  color_window_mask = color_window_value =
1108  color_face_contrast_mask = color_face_contrast_value =
1109  color_window_contrast_mask = color_window_contrast_value =
1110  color_back_mask = color_back_value =
1111  color_vertex_mask = color_vertex_value =
1112  color_edge_contrast_mask = color_edge_contrast_value =
1113  color_line_contrast_mask = color_line_contrast_value =
1114  color_marker_contrast_mask = color_marker_contrast_value =
1115  color_vertex_contrast_mask = color_vertex_contrast_value =
1116  color_text_contrast_mask = color_text_contrast_value = 0;
1117  color_simple_reflection_mask = color_simple_reflection_value = 0;
1118  color_cut_face_mask = color_cut_face_value = 0;
1119  color_cut_edge_mask = color_cut_edge_value = 0;
1120  visibility_mask = visibility_value = 0;
1121  }
1122 
1123  void set_color() {
1124  color_mask = color_value = TKO_Geo_All_Colors;
1125  color_face_mask = color_face_value =
1126  color_edge_mask = color_edge_value =
1127  color_line_mask = color_line_value =
1128  color_marker_mask = color_marker_value =
1129  color_text_mask = color_text_value =
1130  color_window_mask = color_window_value =
1131  color_face_contrast_mask = color_face_contrast_value =
1132  color_window_contrast_mask = color_window_contrast_value =
1133  color_back_mask = color_back_value =
1134  color_vertex_mask = color_vertex_value =
1135  color_edge_contrast_mask = color_edge_contrast_value =
1136  color_line_contrast_mask = color_line_contrast_value =
1137  color_marker_contrast_mask = color_marker_contrast_value =
1138  color_vertex_contrast_mask = color_vertex_contrast_value =
1139  color_text_contrast_mask = color_text_contrast_value =
1140  color_simple_reflection_mask = color_simple_reflection_value =
1141  color_cut_face_mask = color_cut_face_value =
1142  color_cut_edge_mask = color_cut_edge_value =
1144  }
1145 };
1146 
1148 
1150 
1160 class BBINFILETK_API TK_Open_Segment : public BBaseOpcodeHandler {
1161  protected:
1162  int m_length;
1164  char * m_string;
1166  void set_segment (char const * segment);
1169  void set_segment (int length);
1170 
1171  public:
1173  TK_Open_Segment () : BBaseOpcodeHandler (TKE_Open_Segment), m_length (0), m_allocated (0), m_string (0) {}
1174  ~TK_Open_Segment();
1175 
1178  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1179 
1180  TK_Status ReadAscii (BStreamFileToolkit & tk);
1181  TK_Status WriteAscii (BStreamFileToolkit & tk);
1182  void Reset ();
1183 
1188  void SetSegment (char const * segment) { set_segment (segment); }
1189 
1194  void SetSegment (int length) { set_segment (length); }
1195 
1199  char const * GetSegment () const { return m_string; }
1204  char * GetSegment () { return m_string; }
1205 
1206 };
1207 
1208 
1210 
1219 class BBINFILETK_API TK_Close_Segment : public BBaseOpcodeHandler {
1220  public:
1222  TK_Close_Segment () : BBaseOpcodeHandler (TKE_Close_Segment) {}
1223 
1226  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1227 
1228  TK_Status ReadAscii (BStreamFileToolkit & tk);
1229  TK_Status WriteAscii (BStreamFileToolkit & tk);
1230 };
1231 
1232 
1233 
1235 
1247 class BBINFILETK_API TK_Reopen_Segment : public BBaseOpcodeHandler {
1248  protected:
1249  int m_index;
1251  public:
1253  TK_Reopen_Segment () : BBaseOpcodeHandler (TKE_Reopen_Segment), m_index (-1) {}
1254 
1257  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1258 
1259  TK_Status ReadAscii (BStreamFileToolkit & tk);
1260  TK_Status WriteAscii (BStreamFileToolkit & tk);
1261 
1263  void SetIndex (int i) { m_index = i; }
1265  int GetIndex () const { return m_index; }
1266 };
1267 
1268 
1270 
1278 class BBINFILETK_API TK_Referenced_Segment : public BBaseOpcodeHandler {
1279  protected:
1280  int m_length;
1282  char * m_string;
1285  char * m_condition;
1289  unsigned char m_renumbered_scope;
1291  bool m_follow;
1293 
1294  bool m_referee_has_priority;
1295  int m_referee_priority;
1296 
1297  void set_segment (char const * segment);
1298  void set_segment (int length);
1299 
1300  public:
1302  TK_Referenced_Segment (unsigned char opcode);
1304 
1307  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1308 
1309  TK_Status ReadAscii (BStreamFileToolkit & tk);
1310  TK_Status WriteAscii (BStreamFileToolkit & tk);
1311  void Reset ();
1312 
1317  void SetSegment (char const * segment) { set_segment (segment); }
1322  void SetSegment (int length) { set_segment (length); }
1326  char const * GetSegment () const { return m_string; }
1331  char * GetSegment () { return m_string; }
1332 
1333 
1338  void SetCondition (char const * condition);
1343  void SetCondition (int length);
1347  char const * GetCondition () const { return m_condition; }
1352  char * GetCondition () { return m_condition; }
1353 
1354 
1356  void SetFollow (bool f) { m_follow = f; }
1358  bool GetFollow () { return m_follow; }
1359 
1360 };
1361 
1362 
1364 
1372 class BBINFILETK_API TK_Reference : public BBaseOpcodeHandler {
1373  protected:
1374  int m_index;
1377  char * m_condition;
1382  bool m_follow;
1383 
1384  public:
1386  TK_Reference ();
1387  ~TK_Reference();
1388 
1391  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1392 
1393  TK_Status ReadAscii (BStreamFileToolkit & tk);
1394  TK_Status WriteAscii (BStreamFileToolkit & tk);
1395  void Reset ();
1396 
1398  void SetIndex (int index) { m_index = index; }
1400  ID_Key GetIndex () { return m_index; }
1401 
1406  void SetCondition (char const * condition);
1411  void SetCondition (int length);
1415  char const * GetCondition () const { return m_condition; }
1420  char * GetCondition () { return m_condition; }
1421 
1422 
1424  void SetFollow (bool f) { m_follow = f; }
1426  bool GetFollow () { return m_follow; }
1427 };
1428 
1430 
1432 
1440 class BBINFILETK_API TK_Instance : public BBaseOpcodeHandler {
1441  protected:
1447  float m_matrix[16];
1448 
1449  public:
1451  TK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
1452  int options=0, float const xform[]=0);
1453 
1456  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1457 
1458  TK_Status ReadAscii (BStreamFileToolkit & tk);
1459  TK_Status WriteAscii (BStreamFileToolkit & tk);
1460 
1461  void Reset ();
1462 };
1463 
1465 
1468 class BBINFILETK_API TK_Delete_Object : public BBaseOpcodeHandler {
1469  protected:
1470  int m_index;
1471 
1472  public:
1475 
1478  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1479 
1480  TK_Status ReadAscii (BStreamFileToolkit & tk);
1481  TK_Status WriteAscii (BStreamFileToolkit & tk);
1482 
1484  void SetIndex (int i) { m_index = i; }
1486  int GetIndex () { return m_index; }
1487 };
1488 
1489 
1491 
1492 
1494 
1497 class BBINFILETK_API TK_LOD : public BBaseOpcodeHandler {
1498  protected:
1504  struct vlist_s *m_current_working;
1506 
1507  TK_Status ReadOneList (BStreamFileToolkit & tk);
1508 
1509  public:
1511  TK_LOD () : BBaseOpcodeHandler (TKE_LOD) {
1512  m_num_primitives = 0;
1513  m_primitives = 0;
1514  m_highest_level = 0;
1515  m_levels_allocated = 0;
1516  m_substage = 0;
1517  m_current_working = 0;
1518  m_current_level = 0;
1519  }
1520  ~TK_LOD();
1521 
1524  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1525 
1526  TK_Status ReadAscii (BStreamFileToolkit & tk);
1527  TK_Status WriteAscii (BStreamFileToolkit & tk);
1528 
1529  void Reset ();
1530 };
1532 #define TKLOD_ESCAPE 255
1533 
1534 
1536 
1538 
1543 class BBINFILETK_API TK_Geometry_Attributes : public BBaseOpcodeHandler {
1544  protected:
1545 
1546  public:
1548  TK_Geometry_Attributes () : BBaseOpcodeHandler (TKE_Geometry_Attributes) {}
1549 
1552 
1553  TK_Status ReadAscii (BStreamFileToolkit & tk);
1554  TK_Status WriteAscii (BStreamFileToolkit & tk);
1556 };
1557 
1559 
1569 class BBINFILETK_API TK_Renumber : public BBaseOpcodeHandler {
1570  protected:
1572 
1573  public:
1577  TK_Renumber (unsigned char opcode, ID_Key key = 0) : BBaseOpcodeHandler (opcode), m_key (key) {}
1578 
1581  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1582 
1583  TK_Status ReadAscii (BStreamFileToolkit & tk);
1584  TK_Status WriteAscii (BStreamFileToolkit & tk);
1585 
1586  void SetKey (ID_Key k) { m_key = k; }
1588  ID_Key GetKey () const { return m_key; }
1589 };
1590 
1591 
1593 
1598 class BBINFILETK_API TK_Tag : public BBaseOpcodeHandler {
1599  protected:
1600 
1601  public:
1603  TK_Tag (unsigned char opcode = TKE_Tag) : BBaseOpcodeHandler (opcode) {}
1604 
1607 
1608  TK_Status ReadAscii (BStreamFileToolkit & tk);
1609  TK_Status WriteAscii (BStreamFileToolkit & tk);
1610 
1612  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1613  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1614  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1615 };
1616 
1618 
1625 // Note: unlike most opcode handlers, this one does not contain its own data, it is primarily a
1626 // wrapper around the key <-> index translation table in the toolkit.
1627 class BBINFILETK_API TK_Dictionary : public BBaseOpcodeHandler {
1628  protected:
1629  unsigned char m_format;
1631  unsigned char m_present;
1633 
1634  Internal_Translator::Index_Key_Pair * m_item;
1635 
1636  public:
1638  TK_Dictionary () : BBaseOpcodeHandler (TKE_Dictionary), m_format (0) {}
1639 
1642 
1643  TK_Status ReadAscii (BStreamFileToolkit & tk);
1644  TK_Status WriteAscii (BStreamFileToolkit & tk);
1645 
1647  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1648  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1649  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1650  void Reset ();
1651 };
1652 
1653 
1655 
1662 class BBINFILETK_API TK_Dictionary_Locater : public BBaseOpcodeHandler {
1663  protected:
1664  int m_size;
1665  int m_offset;
1666 
1667  public:
1669  TK_Dictionary_Locater () : BBaseOpcodeHandler (TKE_Dictionary_Locater), m_offset (0) {}
1670 
1673 
1674  TK_Status ReadAscii (BStreamFileToolkit & tk);
1675  TK_Status WriteAscii (BStreamFileToolkit & tk);
1676 
1678  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1679  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1680  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1681  void Reset ();
1682 
1684  void SetSize (int size) { m_size = size; }
1686  int GetSize () const { return m_size; }
1688  void SetOffset (int offset) { m_offset = offset; }
1690  int GetOffset () const { return m_offset; }
1691 };
1692 
1693 
1695 
1696 
1698 
1703 class BBINFILETK_API TK_Color : public BBaseOpcodeHandler {
1704  protected:
1705  int m_mask;
1706  short m_channels;
1707 
1711  class BBINFILETK_API channel {
1712  public:
1713  float m_rgb[3];
1714  char * m_name;
1715 
1716  channel() : m_name (0) {}
1717  ~channel() { Reset(); }
1718  void Reset () {
1719  if (m_name)
1720  BSTREAM_FREE_ARRAY(m_name, (int)(strlen(m_name) + 1), char);
1721  m_name = 0;
1722  }
1723  };
1724 
1732  float m_gloss;
1733  float m_index;
1735 
1737  void set_channel_rgb (channel & c, float r, float g, float b, int which_channel = -1) {
1738  c.m_rgb[0] = r; c.m_rgb[1] = g; c.m_rgb[2] = b;
1739  if (which_channel != -1) {
1740  m_channels |= (1 << which_channel);
1741  if (which_channel > TKO_Channel_Extended)
1742  m_channels |= (1 << TKO_Channel_Extended);
1743  }
1744  }
1746  void set_channel_name (channel & c, char const * name, int which_channel = -1);
1748  void set_channel_name (channel & c, int length, int which_channel = -1);
1749 
1750  public:
1751  TK_Color ();
1752  ~TK_Color ();
1753 
1754  TK_Status Read (BStreamFileToolkit & tk);
1755  TK_Status Write (BStreamFileToolkit & tk);
1756  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1757 
1758  TK_Status ReadAscii (BStreamFileToolkit & tk);
1759  TK_Status WriteAscii (BStreamFileToolkit & tk);
1760 
1761  void Reset ();
1762 
1764  void SetGeometry (int m) {
1765  m_mask = m & TKO_Geo_All_Colors;
1766  if ((m & TKO_Geo_Extended_Mask) != 0) {
1767  m_mask |= TKO_Geo_Extended;
1768  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1769  m_mask |= TKO_Geo_Extended_Colors;
1770  if ((m & TKO_Geo_Extended2_Mask) != 0)
1771  m_mask |= TKO_Geo_Extended2;
1772  }
1773  }
1774  }
1776  int GetGeometry () const { return m_mask; }
1778  void SetChannels (int c) {
1779  m_channels = (short)c;
1780  if ((c & (((unsigned int)~0) << (TKO_Channel_Extended_Shift))) != 0)
1781  m_channels |= (1 << TKO_Channel_Extended);
1782  }
1784  int GetChannels () const { return (int)m_channels; }
1785 
1787  void SetDiffuse (float r, float g, float b) { set_channel_rgb (m_diffuse, r, g, b, TKO_Channel_Diffuse); }
1789  void SetDiffuse (float const rgb[]) { SetDiffuse (rgb[0], rgb[1], rgb[2]); }
1791  void SetDiffuseName (char const * name) { set_channel_name (m_diffuse, name, TKO_Channel_Diffuse); }
1793  void SetDiffuseName (int length) { set_channel_name (m_diffuse, length, TKO_Channel_Diffuse); }
1795  float const * GetDiffuse () const { return m_diffuse.m_rgb; }
1797  char const * GetDiffuseName () const { return m_diffuse.m_name; }
1799  char * GetDiffuseName () { return m_diffuse.m_name; }
1800 
1802  void SetSpecular (float r, float g, float b) { set_channel_rgb (m_specular, r, g, b, TKO_Channel_Specular);}
1804  void SetSpecular (float const rgb[]) { SetSpecular (rgb[0], rgb[1], rgb[2]); }
1806  void SetSpecularName (char const * name) { set_channel_name (m_specular, name, TKO_Channel_Specular); }
1808  void SetSpecularName (int length) { set_channel_name (m_specular, length, TKO_Channel_Specular);}
1810  float const * GetSpecular () const { return m_specular.m_rgb; }
1812  char const * GetSpecularName () const { return m_specular.m_name; }
1814  char * GetSpecularName () { return m_specular.m_name; }
1815 
1817  void SetMirror (float r, float g, float b) { set_channel_rgb (m_mirror, r, g, b, TKO_Channel_Mirror); }
1819  void SetMirror (float const rgb[]) { SetMirror (rgb[0], rgb[1], rgb[2]); }
1821  void SetMirrorName (char const * name) { set_channel_name (m_mirror, name, TKO_Channel_Mirror); }
1823  void SetMirrorName (int length) { set_channel_name (m_mirror, length, TKO_Channel_Mirror); }
1825  float const * GetMirror () const { return m_mirror.m_rgb; }
1827  char const * GetMirrorName () const { return m_mirror.m_name; }
1829  char * GetMirrorName () { return m_mirror.m_name; }
1830 
1832  void SetTransmission (float r, float g, float b) { set_channel_rgb (m_transmission, r, g, b, TKO_Channel_Transmission); }
1834  void SetTransmission (float const rgb[]) { SetTransmission (rgb[0], rgb[1], rgb[2]); }
1836  void SetTransmissionName (char const * name) { set_channel_name (m_transmission, name, TKO_Channel_Transmission); }
1838  void SetTransmissionName (int length) { set_channel_name (m_transmission, length, TKO_Channel_Transmission); }
1840  float const * GetTransmission () const { return m_transmission.m_rgb; }
1842  char const * GetTransmissionName () const { return m_transmission.m_name; }
1844  char * GetTransmissionName () { return m_transmission.m_name; }
1845 
1847  void SetEmission (float r, float g, float b) { set_channel_rgb (m_emission, r, g, b, TKO_Channel_Emission);}
1849  void SetEmission (float const rgb[]) { SetEmission (rgb[0], rgb[1], rgb[2]); }
1851  void SetEmissionName (char const * name) { set_channel_name (m_emission, name, TKO_Channel_Emission); }
1853  void SetEmissionName (int length) { set_channel_name (m_emission, length, TKO_Channel_Emission);}
1855  float const * GetEmission () const { return m_emission.m_rgb; }
1857  char const * GetEmissionName () const { return m_emission.m_name; }
1859  char * GetEmissionName () { return m_emission.m_name; }
1860 
1862  void SetEnvironmentName (char const * name) { set_channel_name (m_environment, name, TKO_Channel_Environment); }
1864  void SetEnvironmentName (int length) { set_channel_name (m_environment, length, TKO_Channel_Environment); }
1866  char const * GetEnvironmentName () const { return m_environment.m_name; }
1868  char * GetEnvironmentName () { return m_environment.m_name; }
1869 
1871  void SetBumpName (char const * name) { set_channel_name (m_bump, name, TKO_Channel_Bump); }
1873  void SetBumpName (int length) { set_channel_name (m_bump, length, TKO_Channel_Bump); }
1875  char const * GetBumpName () const { return m_bump.m_name; }
1877  char * GetBumpName () { return m_bump.m_name; }
1878 
1880  void SetGloss (float g) { m_gloss = g; m_channels |= (1<<TKO_Channel_Gloss); }
1882  float GetGloss () const { return m_gloss; }
1884  void SetIndex (float i) { m_index = i; m_channels |= (1<<TKO_Channel_Index); }
1886  float GetIndex () const { return m_index; }
1887 };
1888 
1889 
1891 
1896 class BBINFILETK_API TK_Color_RGB : public BBaseOpcodeHandler {
1897  protected:
1898  int m_mask;
1899  float m_rgb[3];
1900 
1901  public:
1903  TK_Color_RGB () : BBaseOpcodeHandler (TKE_Color_RGB), m_mask (0) {}
1904 
1907  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1908 
1909  TK_Status ReadAscii (BStreamFileToolkit & tk);
1910  TK_Status WriteAscii (BStreamFileToolkit & tk);
1911 
1916  void SetGeometry (int m) {
1917  m_mask = m & TKO_Geo_All_Colors;
1918  if ((m & TKO_Geo_Extended_Mask) != 0) {
1919  m_mask |= TKO_Geo_Extended;
1920  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1921  m_mask |= TKO_Geo_Extended_Colors;
1922  if ((m & TKO_Geo_Extended2_Mask) != 0)
1923  m_mask |= TKO_Geo_Extended2;
1924  }
1925  }
1926  }
1931  int GetGeometry () const { return m_mask; }
1932 
1934  void SetRGB (float r, float g, float b) { m_rgb[0] = r; m_rgb[1] = g; m_rgb[2] = b; }
1936  void SetRGB (float const rgb[]) { SetRGB (rgb[0], rgb[1], rgb[2]); }
1938  float const * GetRGB () const { return m_rgb; }
1939 };
1940 
1941 
1943 
1948 class BBINFILETK_API TK_Color_By_Value : public BBaseOpcodeHandler {
1949  protected:
1950  int m_mask;
1951  float m_value[3];
1952  char m_space;
1953 
1954  public:
1956  TK_Color_By_Value () : BBaseOpcodeHandler (TKE_Color_By_Value), m_mask (0) {}
1957 
1960  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1961 
1962  TK_Status ReadAscii (BStreamFileToolkit & tk);
1963  TK_Status WriteAscii (BStreamFileToolkit & tk);
1964 
1969  void SetGeometry (int m) {
1970  m_mask = m & TKO_Geo_All_Colors;
1971  if ((m & TKO_Geo_Extended_Mask) != 0) {
1972  m_mask |= TKO_Geo_Extended;
1973  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1974  m_mask |= TKO_Geo_Extended_Colors;
1975  if ((m & TKO_Geo_Extended2_Mask) != 0)
1976  m_mask |= TKO_Geo_Extended2;
1977  }
1978  }
1979  }
1984  int GetGeometry () const { return m_mask; }
1985 
1987  void SetSpace (int s) { m_space = (char)s; }
1989  int GetSpace () const { return (int)m_space; }
1990 
1992  void SetValue (float a, float b, float c) {
1993  m_value[0] = a; m_value[1] = b; m_value[2] = c;
1994  }
1996  void SetValue (float const triple[]) { SetValue (triple[0], triple[1], triple[2]); }
1998  float const * GetValue () const { return m_value; }
1999 };
2000 
2001 
2003 
2009 class BBINFILETK_API TK_Color_By_Index : public BBaseOpcodeHandler {
2010  protected:
2011  int m_mask;
2012  int m_index;
2013 
2014  public:
2016  TK_Color_By_Index (unsigned char opcode) : BBaseOpcodeHandler (opcode), m_mask (0), m_index (-1) {}
2017 
2020  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2021 
2022  TK_Status ReadAscii (BStreamFileToolkit & tk);
2023  TK_Status WriteAscii (BStreamFileToolkit & tk);
2024 
2029  void SetGeometry (int m) {
2030  m_mask = m & TKO_Geo_All_Colors;
2031  if ((m & TKO_Geo_Extended_Mask) != 0) {
2032  m_mask |= TKO_Geo_Extended;
2033  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2034  m_mask |= TKO_Geo_Extended_Colors;
2035  if ((m & TKO_Geo_Extended2_Mask) != 0)
2036  m_mask |= TKO_Geo_Extended2;
2037  }
2038  }
2039  }
2044  int GetGeometry () const { return m_mask; }
2045 
2047  void SetIndex (int i) { m_index = i; }
2049  int GetIndex () const { return m_index; }
2050 };
2051 
2053 
2058 class BBINFILETK_API TK_Color_By_FIndex : public BBaseOpcodeHandler {
2059  protected:
2060  int m_mask;
2061  float m_index;
2062 
2063  public:
2065  TK_Color_By_FIndex () : BBaseOpcodeHandler (TKE_Color_By_FIndex), m_mask (0), m_index (-1.0f) {}
2066 
2069  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2070 
2071  TK_Status ReadAscii (BStreamFileToolkit & tk);
2072  TK_Status WriteAscii (BStreamFileToolkit & tk);
2073 
2078  void SetGeometry (int m) {
2079  m_mask = m & TKO_Geo_All_Colors;
2080  if ((m & TKO_Geo_Extended_Mask) != 0) {
2081  m_mask |= TKO_Geo_Extended;
2082  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2083  m_mask |= TKO_Geo_Extended_Colors;
2084  if ((m & TKO_Geo_Extended2_Mask) != 0)
2085  m_mask |= TKO_Geo_Extended2;
2086  }
2087  }
2088  }
2093  int GetGeometry () const { return m_mask; }
2094 
2096  void SetIndex (float val) { m_index = val; }
2098  float GetIndex () const { return m_index; }
2099 };
2100 
2101 
2104 
2109 class BBINFILETK_API TK_Color_Map : public BBaseOpcodeHandler {
2110  protected:
2111  int m_length;
2113  float * m_values;
2115  char * m_string;
2116  unsigned char m_format;
2117 
2119  void set_values (int length, float const values[] = 0);
2120 
2121  public:
2124  : BBaseOpcodeHandler (TKE_Color_Map), m_length (0), m_values_length (0), m_values (0), m_string_length (0), m_string (0), m_format (TKO_Map_RGB_Values) {}
2125  ~TK_Color_Map();
2126 
2129  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2130 
2131  TK_Status ReadAscii (BStreamFileToolkit & tk);
2132  TK_Status WriteAscii (BStreamFileToolkit & tk);
2133 
2134  void Reset ();
2135 
2137  void SetFormat (int f) { m_format = (unsigned char)f; }
2139  int GetFormat () const { return (int)m_format; }
2140 
2145  void SetValues (int count, float const values[] = 0) { set_values (count, values); }
2147  float const * GetValues () const { return m_values; }
2149  float * GetValues () { return m_values; }
2151  int GetLength () const { return m_length; }
2152 
2157  void SetString (char const * string);
2162  void SetString (int length);
2166  char const * GetString () const { return m_string; }
2171  char * GetString () { return m_string; }
2172 };
2173 
2175 
2178 
2184 class BBINFILETK_API TK_Callback : public BBaseOpcodeHandler {
2185  protected:
2186  int m_length;
2187  char * m_string;
2190  void set_callback (char const * callback);
2191 
2192  void set_callback (int length);
2193 
2194  public:
2196  TK_Callback () : BBaseOpcodeHandler (TKE_Callback), m_length (0), m_string (0) {}
2197  ~TK_Callback();
2198 
2201  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2202 
2203  TK_Status ReadAscii (BStreamFileToolkit & tk);
2204  TK_Status WriteAscii (BStreamFileToolkit & tk);
2205 
2206  void Reset ();
2207 
2209  void SetCallback (char const * callback) { set_callback (callback); }
2211  void SetCallback (int length) { set_callback (length); }
2213  char const * GetCallback () const { return m_string; }
2215  char * GetCallback () { return m_string; }
2216 };
2217 
2219 
2220 
2221 #if 0
2222 class BBINFILETK_API TK_Radiosity_RayTrace_Options : public BBaseOpcodeHandler {
2223  protected:
2224 
2225  public:
2226  TK_Radiosity_RayTrace_Options () : BBaseOpcodeHandler (TKE_Radiosity_RayTrace_Options) {}
2227  ~TK_Radiosity_RayTrace_Options () {}
2228 
2231 
2232  TK_Status ReadAscii (BStreamFileToolkit & tk);
2233  TK_Status WriteAscii (BStreamFileToolkit & tk);
2234 };
2235 #endif
2236 
2237 
2239 
2245 class BBINFILETK_API TK_Rendering_Options : public BBaseOpcodeHandler {
2246  protected:
2247  int m_mask[3];
2248  int m_value[3];
2249 
2250  unsigned char m_hsr;
2251  unsigned char m_tq;
2252  int m_debug;
2255 
2256  float m_fog_limits[2];
2257 
2260 
2261  unsigned char m_buffer_options_mask;
2262  unsigned char m_buffer_options_value;
2264 
2270  float m_hlr_color[3];
2272  unsigned char m_hlr_weight_units;
2273  unsigned char m_hlr_hsr_algorithm;
2274 
2275  unsigned short m_contour_options;
2276  unsigned short m_isoline_options;
2289  unsigned char * m_isoline_weights_unit;
2290 
2291  unsigned short m_tint_options;
2292  float m_tint_color[3];
2293  float m_tint_range[2];
2295 
2300  float m_ratio[8];
2302  float m_threshold[8];
2305  unsigned char m_clamp;
2306  unsigned char m_num_levels;
2308  float m_tolerance;
2309  float m_bounding[6];
2311  float m_cutoff[8];
2312  unsigned char m_heuristic;
2313  unsigned char m_fallback;
2314 
2328 
2331 
2332  unsigned char m_tessellations;
2334  char m_cylinder[8];
2336  char m_sphere[8];
2337 
2338  float m_gooch_color_range[2];
2342  unsigned short m_transparency_options;
2343 
2344  unsigned char m_cut_geometry;
2345  unsigned char m_cut_geometry_level;
2346  unsigned char m_cut_geometry_match;
2348 
2349  unsigned short m_simple_shadow;
2350  unsigned char m_simple_shadow_blur;
2352  float m_simple_shadow_plane[4];
2353  float m_simple_shadow_light[3];
2354  float m_simple_shadow_color[3];
2355  float m_simple_shadow_opacity;
2356 
2357  unsigned short m_shadow_map;
2358  unsigned short m_shadow_map_resolution;
2359  unsigned char m_shadow_map_samples;
2360 
2361  unsigned short m_simple_reflection;
2362  float m_simple_reflection_plane[4];
2369 
2370  float m_depth_range[2];
2371  float m_screen_range[4];
2372  float m_ambient_up_vector[3];
2373  float m_image_scale[2];
2374  unsigned short m_mask_transform;
2375 
2376  unsigned char m_geometry_options;
2377  float m_dihedral;
2378 
2379  float m_image_tint_color[3];
2380  float m_texture_tint_color[3];
2381  unsigned char m_depth_peeling_layers;
2384 
2389  unsigned char m_display_list_level;
2390  unsigned char m_antialias;
2391 
2392  int m_extra;
2393 
2394 #if 0
2395  TK_Radiosity_RayTrace_Options *m_rrt;
2396 #endif
2397 
2398  public:
2402 
2405  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2406 
2407  TK_Status ReadAscii (BStreamFileToolkit & tk);
2408  TK_Status WriteAscii (BStreamFileToolkit & tk);
2409 
2410  void Reset ();
2411 
2413  void SetMask (int m0, int m1=0, int m2=0) {
2414  m_mask[0] = m0;
2415  m_mask[1] = m1;
2416  m_mask[2] = m2;
2417  if (m2 != 0)
2418  m_mask[1] |= TKO_Rendo_Extended;
2419  if (m1 != 0)
2420  m_mask[0] |= TKO_Rendo_Extended;
2421  }
2423  int GetMask (int index=0) const { return m_mask[index]; }
2424 
2426  void SetValue (int v0, int v1=0, int v2=0) { m_value[0] = v0; m_value[1] = v1; m_value[2] = v2; }
2428  int GetValue (int index=0) const { return m_value[index]; }
2429 
2431  void SetHSR (int h) { m_hsr &= 0xF0; m_hsr |= (unsigned char)h & 0x0F; }
2433  int GetHSR () const { return (int)(m_hsr & 0x0F); }
2434 
2436  void SetTransparentHSR (int t) { m_hsr &= 0x0F; m_hsr |= (unsigned char)t << 4; }
2438  int GetTransparentHSR () const { return (int)(m_hsr >> 4); }
2439 
2441  void SetTransparentStyle (int s) { m_transparency_options = (unsigned short)s; }
2443  int GetTransparentStyle () const { return (int)m_transparency_options; }
2444 
2446  void SetTechnology (int t) { m_tq &= 0xF0; m_tq |= (unsigned char)t & 0x0F; }
2448  int GetTechnology () const { return (int)(m_tq & 0x0F); }
2449 
2451  void SetQuantization (int q) { m_tq &= 0x0F; m_tq |= (unsigned char)q << 4; }
2453  int GetQuantization () const { return (int)(m_tq >> 4); }
2454 
2456  void SetDebug (int d) { m_debug = d; }
2458  int GetDebug () const { return m_debug; }
2459 
2461  void SetFaceDisplacement (int d) { m_face_displacement = d; }
2463  int GetFaceDisplacement () const { return m_face_displacement; }
2464 
2466  void SetVertexDisplacement (int d) { m_vertex_displacement = d; }
2468  int GetVertexDisplacement () const { return m_vertex_displacement; }
2469 
2471  void SetGeneralDisplacement (int d) { m_general_displacement = d; }
2473  int GetGeneralDisplacement () const { return m_general_displacement; }
2474 
2476  void SetJoinCutoffAngle (int d) { m_join_cutoff_angle = d; }
2478  int GetJoinCutoffAngle () const { return m_join_cutoff_angle; }
2479 
2481  void SetFogLimits (float n, float f) { m_fog_limits[0] = n; m_fog_limits[1] = f; }
2483  void SetFogLimits (float const l[]) { SetFogLimits (l[0], l[1]); }
2485  float const * GetFogLimits () const { return m_fog_limits; }
2486 
2487 
2489  void SetLockMask (int m) { m_lock.mask = m; }
2491  int GetLockMask () const { return m_lock.mask; }
2492 
2494  void SetLockValue (int v) { m_lock.value = v; }
2496  int GetLockValue () const { return m_lock.value; }
2497 
2502  void SetVisibilityLockMask (int m) { m_lock.visibility_mask = m; }
2507  int GetVisibilityLockMask () const { return m_lock.visibility_mask; }
2508 
2513  void SetVisibilityLockValue (int v) { m_lock.visibility_value = v; }
2518  int GetVisibilityLockValue () const { return m_lock.visibility_value; }
2519 
2520 
2525  void SetColorLockMask (int m) { m_lock.color_mask = m; }
2530  int GetColorLockMask () const { return m_lock.color_mask; }
2531 
2536  void SetColorLockValue (int v) { m_lock.color_value = v; }
2541  int GetColorLockValue () const { return m_lock.color_value; }
2542 
2543 
2548  void SetColorFaceLockMask (int m) { m_lock.color_face_mask = (short)m; }
2553  int GetColorFaceLockMask () const { return m_lock.color_face_mask; }
2554 
2559  void SetColorFaceLockValue (int v) { m_lock.color_face_value = (short)v; }
2564  int GetColorFaceLockValue () const { return m_lock.color_face_value; }
2565 
2566 
2571  void SetColorEdgeLockMask (int m) { m_lock.color_edge_mask = (short)m; }
2576  int GetColorEdgeLockMask () const { return m_lock.color_edge_mask; }
2577 
2582  void SetColorEdgeLockValue (int v) { m_lock.color_edge_value = (short)v; }
2587  int GetColorEdgeLockValue () const { return m_lock.color_edge_value; }
2588 
2589 
2594  void SetColorLineLockMask (int m) { m_lock.color_line_mask = (short)m; }
2599  int GetColorLineLockMask () const { return m_lock.color_line_mask; }
2600 
2605  void SetColorLineLockValue (int v) { m_lock.color_line_value = (short)v; }
2610  int GetColorLineLockValue () const { return m_lock.color_line_value; }
2611 
2612 
2617  void SetColorMarkerLockMask (int m) { m_lock.color_marker_mask = (short)m; }
2622  int GetColorMarkerLockMask () const { return m_lock.color_marker_mask; }
2623 
2628  void SetColorMarkerLockValue (int v) { m_lock.color_marker_value = (short)v; }
2633  int GetColorMarkerLockValue () const { return m_lock.color_marker_value; }
2634 
2635 
2640  void SetColorTextLockMask (int m) { m_lock.color_text_mask = (short)m; }
2645  int GetColorTextLockMask () const { return m_lock.color_text_mask; }
2646 
2651  void SetColorTextLockValue (int v) { m_lock.color_text_value = (short)v; }
2656  int GetColorTextLockValue () const { return m_lock.color_text_value; }
2657 
2658 
2663  void SetColorWindowLockMask (int m) { m_lock.color_window_mask = (short)m; }
2668  int GetColorWindowLockMask () const { return m_lock.color_window_mask; }
2669 
2674  void SetColorWindowLockValue (int v) { m_lock.color_window_value = (short)v; }
2679  int GetColorWindowLockValue () const { return m_lock.color_window_value; }
2680 
2681 
2686  void SetColorFaceContrastLockMask (int m) { m_lock.color_face_contrast_mask = (short)m; }
2691  int GetColorFaceContrastLockMask () const { return m_lock.color_face_contrast_mask; }
2692 
2697  void SetColorFaceContrastLockValue (int v) { m_lock.color_face_contrast_value = (short)v; }
2702  int GetColorFaceContrastLockValue () const { return m_lock.color_face_contrast_value; }
2703 
2704 
2709  void SetColorWindowContrastLockMask (int m) { m_lock.color_window_contrast_mask = (short)m; }
2714  int GetColorWindowContrastLockMask () const { return m_lock.color_window_contrast_mask; }
2715 
2720  void SetColorWindowContrastLockValue (int v) { m_lock.color_window_contrast_value = (short)v; }
2725  int GetColorWindowContrastLockValue () const { return m_lock.color_window_contrast_value; }
2726 
2727 
2732  void SetColorBackLockMask (int m) { m_lock.color_back_mask = (short)m; }
2737  int GetColorBackLockMask () const { return m_lock.color_back_mask; }
2738 
2743  void SetColorBackLockValue (int v) { m_lock.color_back_value = (short)v; }
2748  int GetColorBackLockValue () const { return m_lock.color_back_value; }
2749 
2750 
2755  void SetColorVertexLockMask (int m) { m_lock.color_vertex_mask = (short)m; }
2760  int GetColorVertexLockMask () const { return m_lock.color_vertex_mask; }
2761 
2766  void SetColorVertexLockValue (int v) { m_lock.color_vertex_value = (short)v; }
2771  int GetColorVertexLockValue () const { return m_lock.color_vertex_value; }
2772 
2773 
2778  void SetColorEdgeContrastLockMask (int m) { m_lock.color_edge_contrast_mask = (short)m; }
2783  int GetColorEdgeContrastLockMask () const { return m_lock.color_edge_contrast_mask; }
2784 
2789  void SetColorEdgeContrastLockValue (int v) { m_lock.color_edge_contrast_value = (short)v; }
2794  int GetColorEdgeContrastLockValue () const { return m_lock.color_edge_contrast_value; }
2795 
2796 
2801  void SetColorLineContrastLockMask (int m) { m_lock.color_line_contrast_mask = (short)m; }
2806  int GetColorLineContrastLockMask () const { return m_lock.color_line_contrast_mask; }
2807 
2812  void SetColorLineContrastLockValue (int v) { m_lock.color_line_contrast_value = (short)v; }
2817  int GetColorLineContrastLockValue () const { return m_lock.color_line_contrast_value; }
2818 
2819 
2824  void SetColorMarkerContrastLockMask (int m) { m_lock.color_marker_contrast_mask = (short)m; }
2829  int GetColorMarkerContrastLockMask () const { return m_lock.color_marker_contrast_mask; }
2830 
2835  void SetColorMarkerContrastLockValue (int v) { m_lock.color_marker_contrast_value = (short)v; }
2840  int GetColorMarkerContrastLockValue () const { return m_lock.color_marker_contrast_value; }
2841 
2842 
2847  void SetColorVertexContrastLockMask (int m) { m_lock.color_vertex_contrast_mask = (short)m; }
2852  int GetColorVertexContrastLockMask () const { return m_lock.color_vertex_contrast_mask; }
2853 
2858  void SetColorVertexContrastLockValue (int v) { m_lock.color_vertex_contrast_value = (short)v; }
2863  int GetColorVertexContrastLockValue () const { return m_lock.color_vertex_contrast_value; }
2864 
2865 
2870  void SetColorTextContrastLockMask (int m) { m_lock.color_text_contrast_mask = (short)m; }
2875  int GetColorTextContrastLockMask () const { return m_lock.color_text_contrast_mask; }
2876 
2881  void SetColorTextContrastLockValue (int v) { m_lock.color_text_contrast_value = (short)v; }
2886  int GetColorTextContrastLockValue () const { return m_lock.color_text_contrast_value; }
2887 
2888 
2889 
2890 
2892  void SetForcedLockMask (int m) { m_forced.mask = m; }
2894  int GetForcedLockMask () const { return m_forced.mask; }
2895 
2897  void SetForcedLockValue (int v) { m_forced.value = v; }
2899  int GetForcedLockValue () const { return m_forced.value; }
2900 
2905  void SetVisibilityForcedLockMask (int m) { m_forced.visibility_mask = m; }
2910  int GetVisibilityForcedLockMask () const { return m_forced.visibility_mask; }
2911 
2916  void SetVisibilityForcedLockValue (int v) { m_forced.visibility_value = v; }
2921  int GetVisibilityForcedLockValue () const { return m_forced.visibility_value; }
2922 
2923 
2928  void SetColorForcedLockMask (int m) { m_forced.color_mask = m; }
2933  int GetColorForcedLockMask () const { return m_forced.color_mask; }
2934 
2939  void SetColorForcedLockValue (int v) { m_forced.color_value = v; }
2944  int GetColorForcedLockValue () const { return m_forced.color_value; }
2945 
2946 
2951  void SetColorFaceForcedLockMask (int m) { m_forced.color_face_mask = (short)m; }
2956  int GetColorFaceForcedLockMask () const { return m_forced.color_face_mask; }
2957 
2962  void SetColorFaceForcedLockValue (int v) { m_forced.color_face_value = (short)v; }
2967  int GetColorFaceForcedLockValue () const { return m_forced.color_face_value; }
2968 
2969 
2974  void SetColorEdgeForcedLockMask (int m) { m_forced.color_edge_mask = (short)m; }
2979  int GetColorEdgeForcedLockMask () const { return m_forced.color_edge_mask; }
2980 
2985  void SetColorEdgeForcedLockValue (int v) { m_forced.color_edge_value = (short)v; }
2990  int GetColorEdgeForcedLockValue () const { return m_forced.color_edge_value; }
2991 
2992 
2997  void SetColorLineForcedLockMask (int m) { m_forced.color_line_mask = (short)m; }
3002  int GetColorLineForcedLockMask () const { return m_forced.color_line_mask; }
3003 
3008  void SetColorLineForcedLockValue (int v) { m_forced.color_line_value = (short)v; }
3013  int GetColorLineForcedLockValue () const { return m_forced.color_line_value; }
3014 
3015 
3020  void SetColorMarkerForcedLockMask (int m) { m_forced.color_marker_mask = (short)m; }
3025  int GetColorMarkerForcedLockMask () const { return m_forced.color_marker_mask; }
3026 
3031  void SetColorMarkerForcedLockValue (int v) { m_forced.color_marker_value = (short)v; }
3036  int GetColorMarkerForcedLockValue () const { return m_forced.color_marker_value; }
3037 
3038 
3043  void SetColorTextForcedLockMask (int m) { m_forced.color_text_mask = (short)m; }
3048  int GetColorTextForcedLockMask () const { return m_forced.color_text_mask; }
3049 
3054  void SetColorTextForcedLockValue (int v) { m_forced.color_text_value = (short)v; }
3059  int GetColorTextForcedLockValue () const { return m_forced.color_text_value; }
3060 
3061 
3066  void SetColorWindowForcedLockMask (int m) { m_forced.color_window_mask = (short)m; }
3071  int GetColorWindowForcedLockMask () const { return m_forced.color_window_mask; }
3072 
3077  void SetColorWindowForcedLockValue (int v) { m_forced.color_window_value = (short)v; }
3082  int GetColorWindowForcedLockValue () const { return m_forced.color_window_value; }
3083 
3084 
3089  void SetColorFaceContrastForcedLockMask (int m) { m_forced.color_face_contrast_mask = (short)m; }
3094  int GetColorFaceContrastForcedLockMask () const { return m_forced.color_face_contrast_mask; }
3095 
3100  void SetColorFaceContrastForcedLockValue (int v) { m_forced.color_face_contrast_value = (short)v; }
3105  int GetColorFaceContrastForcedLockValue () const { return m_forced.color_face_contrast_value; }
3106 
3107 
3112  void SetColorWindowContrastForcedLockMask (int m) { m_forced.color_window_contrast_mask = (short)m; }
3117  int GetColorWindowContrastForcedLockMask () const { return m_forced.color_window_contrast_mask; }
3118 
3123  void SetColorWindowContrastForcedLockValue (int v) { m_forced.color_window_contrast_value = (short)v; }
3128  int GetColorWindowContrastForcedLockValue () const { return m_forced.color_window_contrast_value; }
3129 
3130 
3135  void SetColorBackForcedLockMask (int m) { m_forced.color_back_mask = (short)m; }
3140  int GetColorBackForcedLockMask () const { return m_forced.color_back_mask; }
3141 
3146  void SetColorBackForcedLockValue (int v) { m_forced.color_back_value = (short)v; }
3151  int GetColorBackForcedLockValue () const { return m_forced.color_back_value; }
3152 
3153 
3158  void SetColorVertexForcedLockMask (int m) { m_forced.color_vertex_mask = (short)m; }
3163  int GetColorVertexForcedLockMask () const { return m_forced.color_vertex_mask; }
3164 
3169  void SetColorVertexForcedLockValue (int v) { m_forced.color_vertex_value = (short)v; }
3174  int GetColorVertexForcedLockValue () const { return m_forced.color_vertex_value; }
3175 
3176 
3181  void SetColorEdgeContrastForcedLockMask (int m) { m_forced.color_edge_contrast_mask = (short)m; }
3186  int GetColorEdgeContrastForcedLockMask () const { return m_forced.color_edge_contrast_mask; }
3187 
3192  void SetColorEdgeContrastForcedLockValue (int v) { m_forced.color_edge_contrast_value = (short)v; }
3197  int GetColorEdgeContrastForcedLockValue () const { return m_forced.color_edge_contrast_value; }
3198 
3199 
3204  void SetColorLineContrastForcedLockMask (int m) { m_forced.color_line_contrast_mask = (short)m; }
3209  int GetColorLineContrastForcedLockMask () const { return m_forced.color_line_contrast_mask; }
3210 
3215  void SetColorLineContrastForcedLockValue (int v) { m_forced.color_line_contrast_value = (short)v; }
3220  int GetColorLineContrastForcedLockValue () const { return m_forced.color_line_contrast_value; }
3221 
3222 
3227  void SetColorMarkerContrastForcedLockMask (int m) { m_forced.color_marker_contrast_mask = (short)m; }
3232  int GetColorMarkerContrastForcedLockMask () const { return m_forced.color_marker_contrast_mask; }
3233 
3238  void SetColorMarkerContrastForcedLockValue (int v) { m_forced.color_marker_contrast_value = (short)v; }
3243  int GetColorMarkerContrastForcedLockValue () const { return m_forced.color_marker_contrast_value; }
3244 
3245 
3250  void SetColorVertexContrastForcedLockMask (int m) { m_forced.color_vertex_contrast_mask = (short)m; }
3255  int GetColorVertexContrastForcedLockMask () const { return m_forced.color_vertex_contrast_mask; }
3256 
3261  void SetColorVertexContrastForcedLockValue (int v) { m_forced.color_vertex_contrast_value = (short)v; }
3266  int GetColorVertexContrastForcedLockValue () const { return m_forced.color_vertex_contrast_value; }
3267 
3268 
3273  void SetColorTextContrastForcedLockMask (int m) { m_forced.color_text_contrast_mask = (short)m; }
3278  int GetColorTextContrastForcedLockMask () const { return m_forced.color_text_contrast_mask; }
3279 
3284  void SetColorTextContrastForcedLockValue (int v) { m_forced.color_text_contrast_value = (short)v; }
3289  int GetColorTextContrastForcedLockValue () const { return m_forced.color_text_contrast_value; }
3290 
3291 
3292 
3293 
3295  void SetBufferOptionsMask (int v) { m_buffer_options_mask = (unsigned char)v; }
3297  int GetBufferOptionsMask () const { return m_buffer_options_mask; }
3299  void SetBufferOptionsValue (int v) { m_buffer_options_value = (unsigned char) v; }
3301  int GetBufferOptionsValue () const { return m_buffer_options_value; }
3303  void SetBufferSizeLimit (int l) { m_buffer_size_limit = l; }
3305  int GetBufferSizeLimit () const { return m_buffer_size_limit; }
3306 
3307 
3309  void SetStereoSeparation (float s) { m_stereo_separation = s; }
3311  float GetStereoSeparation () const { return m_stereo_separation; }
3313  void SetStereoDistance (float d) { m_stereo_distance = d; }
3315  float GetStereoDistance () const { return m_stereo_distance; }
3316 
3317 
3319  void SetHlrOptions (int o) {
3320  m_hlr_options = o;
3321  if ((o & TKO_Hidden_Line_Extended_Mask) != 0) {
3322  m_hlr_options |= TKO_Hidden_Line_Extended;
3323  if ((o & TKO_Hidden_Line_Extended2_Mask) != 0)
3324  m_hlr_options |= TKO_Hidden_Line_Extended2;
3325  }
3326  }
3328  int GetHlrOptions () const { return m_hlr_options; }
3330  void SetHlrDimFactor (float d) { m_hlr_dim_factor = d; }
3332  float GetHlrDimFactor () const { return m_hlr_dim_factor; }
3334  void SetHlrFaceDisplacement (float d) { m_hlr_face_displacement = d; }
3336  float GetHlrFaceDisplacement () const { return m_hlr_face_displacement; }
3338  void SetHlrLinePattern (int p) { m_hlr_line_pattern = p; }
3340  int GetHlrLinePattern () const { return m_hlr_line_pattern; }
3342  void SetHlrFaceSortingAlgorithm (int a) { m_hlr_hsr_algorithm = (unsigned char)a; }
3344  float GetHlrFaceSortingAlgorithm () const { return m_hlr_hsr_algorithm; }
3345 
3346 
3348  void SetNURBSOptionsMask (int m) {
3349  m_nurbs_options_mask = m;
3350  if ((m & TKO_NURBS_Extended_Mask) != 0)
3351  m_nurbs_options_mask |= TKO_NURBS_Extended;
3352  }
3354  int GetNURBSOptionsMask () const { return m_nurbs_options_mask; }
3356  void SetNURBSOptionsValue (int v) { m_nurbs_options_value = v; }
3358  int GetNURBSOptionsValue () const { return m_nurbs_options_value; }
3360  void SetNURBSCurveBudget (int b) { m_curve_budget = b; }
3362  int GetNURBSCurveBudget () const { return m_curve_budget; }
3364  void SetNURBSCurveContinuedBudget (int b) { m_curve_continued_budget = b; }
3366  int GetNURBSCurveContinuedBudget () const { return m_curve_continued_budget; }
3368  void SetNURBSSurfaceBudget (int b) { m_surface_budget = b; }
3370  int GetNURBSSurfaceBudget () const { return m_surface_budget; }
3372  void SetNURBSSurfaceTrimBudget (int b) { m_surface_trim_budget = b; }
3374  int GetNURBSSurfaceTrimBudget () const { return m_surface_trim_budget; }
3375 
3376 
3378  void SetLodOptionsMask (int v) { m_lod_options_mask = v; }
3380  int GetLodOptionsMask () const { return m_lod_options_mask; }
3382  void SetLodOptionsValue (int v) { m_lod_options_value = v; }
3384  int GetLodOptionsValue () const { return m_lod_options_value; }
3386  void SetLodAlgorithm (int v) { m_lod_algorithm = (char)v; }
3388  int GetLodAlgorithm () const { return m_lod_algorithm; }
3390  void SetLodMinimumTriangleCount (int v) { m_min_triangle_count = v; }
3392  int GetLodMinimumTriangleCount () const { return m_min_triangle_count; }
3394  void SetLodNumLevels (int v) { m_num_levels = (unsigned char)v; }
3396  int GetLodNumLevels () const { return m_num_levels; }
3398  void SetLodClamp (int v) { m_clamp = (unsigned char)v; }
3400  int GetLodClamp () const { return m_clamp; }
3402  void SetLodMaxDegree (int v) { m_max_degree = v; }
3404  int GetLodMaxDegree () const { return m_max_degree; }
3406  void SetLodTolerance (float v) { m_tolerance = v; }
3408  float GetLodTolerance () const { return m_tolerance; }
3410  void SetLodFallback (int v) { m_fallback = (char)v; }
3412  int GetLodFallback () const { return m_fallback; }
3413 
3415  void SetLodBounding (float x1, float y1, float z1, float x2, float y2, float z2) {
3416  m_bounding[0] = x1; m_bounding[1] = y1; m_bounding[2] = z1;
3417  m_bounding[3] = x2; m_bounding[4] = y2; m_bounding[5] = z2;
3418  }
3420  void SetLodBounding (float const s[], float const e[]) {
3421  SetLodBounding (s[0], s[1], s[2], e[0], e[1], e[2]);
3422  }
3424  void SetLodBounding (float const p[]) { SetLodBounding (&p[0], &p[3]); }
3426  float const * GetLodBounding () const { return m_bounding; }
3427 
3429  void SetLodRatio (float r) { m_num_ratios = 1; m_ratio[0] = r; }
3431  void SetLodRatios (int c, float const r[] = 0) {
3432  m_num_ratios = (char)c;
3433  if (r != 0) {
3434  int i;
3435  for (i=0; i<c; ++i)
3436  m_ratio[i] = r[i];
3437  }
3438  }
3440  int GetLodNumRatios () const { return m_num_ratios; }
3442  float const * GetLodRatios () const { return m_ratio; }
3444  float * GetLodRatios () { return m_ratio; }
3445 
3447  void SetLodThresholdType (int v) { m_threshold_type = (char)v; }
3449  int GetLodThresholdType () const { return m_threshold_type; }
3451  void SetLodThreshold (float r) { m_num_thresholds = 1; m_threshold[0] = r; }
3453  void SetLodThresholds (int c, float const r[] = 0) {
3454  m_num_thresholds = (char)c;
3455  if (r != 0) {
3456  int i;
3457  for (i=0; i<c; ++i)
3458  m_threshold[i] = r[i];
3459  }
3460  }
3462  int GetLodNumThresholds () const { return m_num_thresholds; }
3464  float const * GetLodThresholds () const { return m_threshold; }
3466  float * GetLodThresholds () { return m_threshold; }
3467 
3469  void SetLodCutoff (float r) { m_num_cutoffs = 1; m_cutoff[0] = r; }
3471  void SetLodCutoffs (int c, float const r[] = 0) {
3472  m_num_cutoffs = (char)c;
3473  if (r != 0) {
3474  int i;
3475  for (i=0; i<c; ++i)
3476  m_cutoff[i] = r[i];
3477  }
3478  }
3480  int GetLodNumCutoffs () const { return m_num_cutoffs; }
3482  float const * GetLodCutoffs () const { return m_cutoff; }
3484  float * GetLodCutoffs () { return m_cutoff; }
3485 
3486 
3488  void SetTessellationMask (int m) { m_tessellations = (unsigned char)m; }
3490  int GetTessellationMask () const { return m_tessellations; }
3492  void SetCylinderTessellation (int n) { m_num_cylinder = (char)1; m_cylinder[0] = (char)n; }
3494  void SetCylinderTessellations (int c, char const * n = 0) {
3495  m_num_cylinder = (char)c;
3496  if (n != 0) {
3497  int i;
3498  for (i=0; i<c; ++i)
3499  m_cylinder[i] = n[i];
3500  }
3501  }
3503  int GetNumCylinderTessellations () const { return m_num_cylinder; }
3505  char const * GetCylinderTessellations () const { return m_cylinder; }
3507  char * GetCylinderTessellations () { return m_cylinder; }
3509  void SetSphereTessellation (int n) { m_num_sphere = (char)1; m_sphere[0] = (char)n; }
3511  void SetSphereTessellations (int c, char const * n = 0) {
3512  m_num_sphere = (char)c;
3513  if (n != 0) {
3514  int i;
3515  for (i=0; i<c; ++i)
3516  m_sphere[i] = n[i];
3517  }
3518  }
3520  int GetNumSphereTessellations () const { return m_num_sphere; }
3522  char const * GetSphereTessellations () const { return m_sphere; }
3524  char * GetSphereTessellations () { return m_sphere; }
3525 
3527  void SetGeometryOptionsMask (int m) { m_geometry_options = (unsigned char)m; }
3529  int GetGeometryOptionsMask () const { return m_geometry_options; }
3530 
3532  void SetHardEdgeAngle (int m) { m_dihedral = (unsigned char)m; }
3534  float GetHardEdgeAngle () const { return m_dihedral; }
3535 
3537  void SetMaskTransform (int m) { m_mask_transform = (unsigned short)m; }
3539  int GetMaskTransform () const { return (int)m_mask_transform; }
3540 
3541 
3543  void SetCutGeometry (int m) { m_cut_geometry = (unsigned char)m; }
3545  int GetCutGeometry () const { return (int)m_cut_geometry; }
3546 
3548  void SetCutGeometryLevel (int m) { m_cut_geometry_level = (unsigned char)m; }
3550  int GetCutGeometryLevel () const { return (int)m_cut_geometry_level; }
3551 
3553  void SetCutGeometryColorMatch (int m) { m_cut_geometry_match = (unsigned char)m; }
3555  int GetCutGeometryColorMatch () const { return (int)m_cut_geometry_match; }
3556 
3558  void SetCutGeometryTolerance (float m) { m_cut_geometry_tolerance = m; }
3560  float GetCutGeometryTolerance () const { return m_cut_geometry_tolerance; }
3561 
3562 
3564  void SetDisplayListLevel (int m) { m_display_list_level = (unsigned char)m; }
3566  int GetDisplayListLevel () const { return (int)m_display_list_level; }
3567 
3569  void SetSimpleShadow (int m) {
3570  m_simple_shadow = (unsigned short)m;
3571  if ((m & TKO_Simple_Shadow_Extended_Mask) != 0)
3572  m_simple_shadow |= TKO_Simple_Shadow_Extended;
3573  }
3575  int GetSimpleShadow () const { return (int)m_simple_shadow; }
3576 
3578  void SetSimpleShadowBlur (int m) { m_simple_shadow_blur = (unsigned char)m; }
3580  int GetSimpleShadowBlur () const { return (int)m_simple_shadow_blur; }
3581 
3583  void SetSimpleShadowResolution (int m) { m_simple_shadow_resolution = (unsigned short)m; }
3585  int GetSimpleShadowResolution () const { return (int)m_simple_shadow_resolution; }
3586 
3588  void SetSimpleShadowLight (float x, float y, float z) {
3589  m_simple_shadow_light[0] = x;
3590  m_simple_shadow_light[1] = y;
3591  m_simple_shadow_light[2] = z;
3592  }
3594  void SetSimpleShadowLight (float const l[]) { SetSimpleShadowLight (l[0], l[1], l[2]); }
3596  float const * getSimpleShadowLight () const { return m_simple_shadow_light; }
3597 
3599  void SetSimpleShadowPlane (float a, float b, float c, float d) {
3600  m_simple_shadow_plane[0] = a;
3601  m_simple_shadow_plane[1] = b;
3602  m_simple_shadow_plane[2] = c;
3603  m_simple_shadow_plane[3] = d;
3604  }
3606  void SetSimpleShadowPlane (float const p[]) { SetSimpleShadowPlane (p[0], p[1], p[2], p[3]); }
3608  float const * GetSimpleShadowPlane () const { return m_simple_shadow_plane; }
3609 
3611  void SetSimpleShadowColor (float r, float g, float b)
3612  { m_simple_shadow_color[0] = r; m_simple_shadow_color[1] = g; m_simple_shadow_color[2] = b; }
3614  void SetSimpleShadowColor (float const rgb[]) { SetSimpleShadowColor (rgb[0], rgb[1], rgb[2]); }
3616  float const * GetSimpleShadowColor () const { return m_simple_shadow_color; }
3617 
3619  void SetSimpleShadowOpacity (float o) { m_simple_shadow_opacity = o; }
3621  float GetSimpleShadowOpacity () const { return m_simple_shadow_opacity; }
3622 
3623 
3625  void SetShadowMap (int m) { m_shadow_map = (unsigned char)m; }
3627  int GetShadowMap () const { return (int)m_shadow_map; }
3628 
3630  void SetShadowMapResolution (int m) { m_shadow_map_resolution = (unsigned short)m; }
3632  int GetShadowMapResolution () const { return (int)m_shadow_map_resolution; }
3633 
3635  void SetShadowMapSamples (int m) { m_shadow_map_samples = (unsigned char)m; }
3637  int GetShadowMapSamples () const { return (int)m_shadow_map_samples; }
3638 
3639 
3641  void SetSimpleReflection (int m) { m_simple_reflection = (unsigned short)m; }
3643  int GetSimpleReflection () const { return (int)m_simple_reflection; }
3644 
3646  void SetSimpleReflectionPlane (float a, float b, float c, float d) {
3647  m_simple_reflection_plane[0] = a;
3648  m_simple_reflection_plane[1] = b;
3649  m_simple_reflection_plane[2] = c;
3650  m_simple_reflection_plane[3] = d;
3651  }
3653  void SetSimpleReflectionPlane (float const p[]) { SetSimpleReflectionPlane (p[0], p[1], p[2], p[3]); }
3655  float const * GetSimpleReflectionPlane () const { return m_simple_reflection_plane; }
3656 
3658  void SetSimpleReflectionOpacity (float o) { m_simple_reflection_opacity = o; }
3660  float GetSimpleReflectionOpacity () const { return m_simple_reflection_opacity; }
3661 
3663  void SetSimpleReflectionVisibilityMask (int m) { m_simple_reflection_visibility_mask = m; }
3665  int GetSimpleReflectionVisibilityValue () const { return m_simple_reflection_visibility_value; }
3666 
3667 
3669  void SetDepthRange (float n, float f) { m_depth_range[0] = n; m_depth_range[1] = f; }
3671  void SetDepthRange (float const l[]) { SetDepthRange (l[0], l[1]); }
3673  float const * GetDepthRange () const { return m_depth_range; }
3674 
3675 
3677  void SetScreenRange (float l, float r, float b, float t)
3678  { m_screen_range[0] = l; m_screen_range[1] = r; m_screen_range[2] = b; m_screen_range[3] = t; }
3680  void SetScreenRange (float const l[]) { SetScreenRange (l[0], l[1], l[2], l[3]); }
3682  float const * GetScreenRange () const { return m_screen_range; }
3683 
3687  void SetAmbientUpVector (float x, float y, float z)
3688  { m_ambient_up_vector[0] = x; m_ambient_up_vector[1] = y; m_ambient_up_vector[2] = z; }
3690  void SetAmbientUpVector (float const v[]) { SetAmbientUpVector (v[0], v[1], v[2]); }
3692  float const * GetAmbientUpVector () const { return m_ambient_up_vector; }
3693 
3695  void SetImageScale (float x, float y) { m_image_scale[0] = x; m_image_scale[1] = y; }
3697  void SetImageScale (float const s[]) { SetImageScale (s[0], s[1]); }
3699  float const * GetImageScale () const { return m_image_scale; }
3700 
3701 
3703  void SetImageTintColor (float r, float g, float b)
3704  { m_image_tint_color[0] = r; m_image_tint_color[1] = g; m_image_tint_color[2] = b; }
3706  void SetImageTintColor (float const rgb[]) { SetImageTintColor (rgb[0], rgb[1], rgb[2]); }
3708  float const * GetImageTintColor () const { return m_image_tint_color; }
3709 
3711  void SetDiffuseTextureTintColor (float r, float g, float b)
3712  { m_texture_tint_color[0] = r; m_texture_tint_color[1] = g; m_texture_tint_color[2] = b; }
3714  void SetDiffuseTextureTintColor (float const rgb[]) { SetDiffuseTextureTintColor (rgb[0], rgb[1], rgb[2]); }
3716  float const * GetDiffuseTextureTintColor () const { return m_texture_tint_color; }
3717 
3719  void SetAntiAlias (int m) { m_antialias = (unsigned char)m; }
3721  int GetAntiAlias () const { return (int)m_antialias; }
3722 
3724  void SetVertexDecimation (float f) { m_vertex_decimation = f; }
3726  float GetVertexDecimation () const { return m_vertex_decimation; }
3727 };
3728 
3730 
3731 
3733 
3739 class BBINFILETK_API TK_Heuristics : public BBaseOpcodeHandler {
3740  protected:
3741  int m_mask;
3742  int m_value;
3743 
3747 
3748  unsigned char m_extras;
3751  unsigned short m_selection_bias;
3758  float m_vector[3];
3761  float m_view_volume[6];
3762 
3763  unsigned char m_ordered_weights_mask;
3764  float m_ordered_weights[TKO_Heur_Order_Count];
3765  unsigned char m_selection_level;
3766  unsigned char m_model_type;
3767 
3768  public:
3770  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
3771  m_mask (0), m_value (0), m_culling(0), m_selection_culling(0), m_selection_bias(0),
3772  m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
3773  ~TK_Heuristics ();
3774 
3777  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
3778 
3779  TK_Status ReadAscii (BStreamFileToolkit & tk);
3780  TK_Status WriteAscii (BStreamFileToolkit & tk);
3781 
3783  void SetMask (int m) {
3784  m_mask = m;
3785  if ((m & TKO_Heuristic_Extended_Mask) != 0)
3786  m_mask |= TKO_Heuristic_Extended;
3787  }
3789  int GetMask () const { return m_mask; }
3790 
3792  void SetValue (int v) { m_value = v; }
3794  int GetValue () const { return m_value; }
3795 
3797  void SetRelatedSelectionLimit (int r) { m_related = r; }
3799  int GetRelatedSelectionLimit () const { return m_related; }
3800 
3802  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
3804  int GetInternalSelectionLimit () const { return m_internal_shell; }
3805 
3807  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
3809  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
3810 
3812  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
3814  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
3815 
3817  void SetExtras (int e) { m_extras = (unsigned char)e; }
3819  int GetExtras () const { return (int)m_extras; }
3820 
3822  void SetCulling (int c) { m_culling = (unsigned short)c; }
3824  int GetCulling () const { return (int)m_culling; }
3826  void SetSelectionCulling (int c) { m_selection_culling = (unsigned short)c; }
3828  int GetSelectionCulling () const { return (int)m_selection_culling; }
3830  void SetSelectionBias (int c) { m_selection_bias = (unsigned short)c; }
3832  int GetSelectionBias () const { return (int)m_selection_bias; }
3834  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
3836  int GetPixelThreshold () const { return m_pixel_threshold; }
3838  void SetMaximumExtent (int c) { m_maximum_extent = c; }
3840  int GetMaximumExtent () const { return m_maximum_extent; }
3842  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
3844  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
3846  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
3848  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
3850  void SetHardExtent (int c) { m_hard_extent = c; }
3852  int GetHardExtent () const { return m_hard_extent; }
3854  float const * GetVector () const { return m_vector; }
3856  void SetVector (float x, float y, float z) {
3857  m_vector[0] = x;
3858  m_vector[1] = y;
3859  m_vector[2] = z;
3860  }
3862  void SetVector (float const v[]) { SetVector(v[0], v[1], v[2]); }
3864  float GetVectorTolerance () const { return m_vector_tolerance; }
3866  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
3867 
3868  void SetMaxDistance (float m) { m_max_distance = m; }
3870  float GetMaxDistance () const { return m_max_distance; }
3871 
3873  float const * GetViewVolume () const { return m_view_volume; }
3875  void SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) {
3876  m_view_volume[0] = ax;
3877  m_view_volume[1] = ay;
3878  m_view_volume[2] = az;
3879  m_view_volume[3] = bx;
3880  m_view_volume[4] = by;
3881  m_view_volume[5] = bz;
3882  }
3884  void SetViewVolume (float const v[]) { SetViewVolume(v[0], v[1], v[2], v[3], v[4], v[5]); }
3885 
3887  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
3889  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
3890 
3892  void SetOrderedWeight (int index, float weight) {
3893  m_ordered_weights[index] = weight;
3894  m_ordered_weights_mask |= 1<<index;
3895  }
3897  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
3899  float const * GetOrderedWeights () const { return m_ordered_weights; }
3901  float * GetOrderedWeights () { return m_ordered_weights; }
3902 
3904  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
3906  int GetSelectionLevel () const { return (int)m_selection_level; }
3907 
3909  void SetForceDefer (int l) { m_force_defer = l; }
3911  int GetForceDefer () const { return m_force_defer; }
3912 
3913 };
3914 
3916 
3917 
3919 
3925 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
3926  protected:
3927  unsigned short m_mask;
3928  unsigned short m_value;
3929 
3931  float m_orientation[6];
3932 
3933  public:
3935  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
3936  m_mask (0), m_value (0), m_orientation_count (0) {}
3937  ~TK_Geometry_Options ();
3938 
3941  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
3942 
3943  TK_Status ReadAscii (BStreamFileToolkit & tk);
3944  TK_Status WriteAscii (BStreamFileToolkit & tk);
3945 
3947  void SetMask (int m) { m_mask = (unsigned short)m; }
3949  int GetMask () const { return (int)m_mask; }
3950 
3952  void SetOrientation (int count, float const o[]) {
3953  if (count != 3 && count != 6)
3954  return;
3955  m_orientation_count = (unsigned char)count;
3956  while (count-- > 0)
3957  m_orientation[count] = o[count];
3958  }
3960  int GetOrientationCount () const { return (int) m_orientation_count; }
3962  float const * GetOrientation () const { return m_orientation; }
3963 };
3964 
3967 
3972 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
3973  protected:
3974  int m_mask;
3975  int m_value;
3976 
3977  public:
3980  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
3981 
3984  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
3985 
3986  TK_Status ReadAscii (BStreamFileToolkit & tk);
3987  TK_Status WriteAscii (BStreamFileToolkit & tk);
3988 
3992  void SetGeometry (int m) {
3993  m_mask = m & TKO_Geo_All_Visibles;
3994  if ((m & TKO_Geo_Extended_Mask) != 0) {
3995  m_mask |= TKO_Geo_Extended;
3996  if ((m & TKO_Geo_Extended2_Mask) != 0)
3997  m_mask |= TKO_Geo_Extended2;
3998  }
3999  }
4004  int GetGeometry () const { return m_mask; }
4005 
4010  void SetValue (int m) { m_value = m; }
4015  int GetValue () const { return m_value; }
4016 };
4017 
4020 
4027 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4028  protected:
4029  int m_mask;
4030  int m_down;
4031  int m_up;
4035 
4036  public:
4039  : BBaseOpcodeHandler (TKE_Selectability),
4040  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4041 
4044  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4045 
4046  TK_Status ReadAscii (BStreamFileToolkit & tk);
4047  TK_Status WriteAscii (BStreamFileToolkit & tk);
4048 
4052  void SetGeometry (int m) {
4053  m_mask = m & TKO_Geo_All_Selects;
4054  if ((m & TKO_Geo_Extended_Mask) != 0)
4055  m_mask |= TKO_Geo_Extended;
4056  }
4061  int GetGeometry () const { return m_mask; }
4062 
4067  void SetDown (int m) { m_down = m; }
4072  int GetDown () const { return m_down; }
4073 
4078  void SetUp (int m) { m_up = m; }
4083  int GetUp () const { return m_up; }
4084 
4089  void SetMoveDown (int m) { m_move_down = m; }
4094  int GetMoveDown () const { return m_move_down; }
4095 
4100  void SetMoveUp (int m) { m_move_up = m; }
4105  int GetMoveUp () const { return m_move_up; }
4106 
4111  void SetWhenInvisible (int m) { m_invisible = m; }
4116  int GetWhenInvisible () const { return m_invisible; }
4117 };
4118 
4120 
4126 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4127  protected:
4128  float m_matrix[16];
4129  double m_dmatrix[16];
4130 
4131  public:
4133  TK_Matrix (unsigned char opcode)
4134  : BBaseOpcodeHandler (opcode) {}
4135 
4138  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4139 
4140  TK_Status ReadAscii (BStreamFileToolkit & tk);
4141  TK_Status WriteAscii (BStreamFileToolkit & tk);
4142 
4144  void SetMatrix (float const m[]) {
4145  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4146  }
4148  void SetDMatrix (double const m[]) {
4149  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4150  }
4152  float const * GetMatrix () const { return m_matrix; }
4154  float * GetMatrix () { return m_matrix; }
4156  double const * GetDMatrix () const { return m_dmatrix; }
4158  double * GetDMatrix () { return m_dmatrix; }
4159 };
4160 
4161 
4167 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
4168  protected:
4169  char m_index;
4170 
4171  public:
4173  TK_Enumerated (unsigned char opcode)
4174  : BBaseOpcodeHandler (opcode), m_index (0) {}
4175 
4178  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4179 
4180  TK_Status ReadAscii (BStreamFileToolkit & tk);
4181  TK_Status WriteAscii (BStreamFileToolkit & tk);
4182 
4183  void SetIndex (int i) { m_index = (char)i; }
4185  int GetIndex () const { return (int)m_index; }
4186 };
4187 
4188 
4194 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
4195  protected:
4196  float m_value;
4197  unsigned char m_units;
4198 
4199  public:
4201  TK_Size (unsigned char opcode)
4202  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
4203 
4206  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4207 
4208  TK_Status ReadAscii (BStreamFileToolkit & tk);
4209  TK_Status WriteAscii (BStreamFileToolkit & tk);
4210 
4212  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
4213  m_value = (value > 0.0f) ? value : 0.0f;
4214  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
4215  }
4217  float GetSize () const { return m_value; }
4219  int GetUnits () const { return m_units; }
4220 };
4221 
4226 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
4227  protected:
4228  unsigned short m_pattern;
4229 
4230  public:
4232  TK_Linear_Pattern (unsigned char opcode)
4233  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
4234 
4237  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4238 
4239  TK_Status ReadAscii (BStreamFileToolkit & tk);
4240  TK_Status WriteAscii (BStreamFileToolkit & tk);
4241 
4243  void SetPattern (int p) { m_pattern = (unsigned short)p; }
4245  int GetPattern () const { return (int)m_pattern; }
4246 };
4247 
4253 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
4254  protected:
4256  char * m_name;
4257  int m_index;
4258 
4259  public:
4261  TK_Named (unsigned char opcode)
4262  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
4263  ~TK_Named();
4264 
4267  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4268 
4269  TK_Status ReadAscii (BStreamFileToolkit & tk);
4270  TK_Status WriteAscii (BStreamFileToolkit & tk);
4271 
4272  void Reset ();
4273 
4275  void SetName (char const * name);
4277  void SetName (int length);
4279  char const * GetName () const { return m_name; }
4281  char * GetName () { return m_name; }
4282 
4284  void SetIndex (int i) { Reset(); m_index = i; }
4286  int GetIndex () const { return (int)m_index; }
4287 };
4288 
4289 
4290 
4297 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
4298  protected:
4299  bool m_flag;
4300 
4301  public:
4304 
4307  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4308 
4309  TK_Status ReadAscii (BStreamFileToolkit & tk);
4310  TK_Status WriteAscii (BStreamFileToolkit & tk);
4311 
4312  void SetStreaming (bool s) { m_flag = s; }
4314  bool GetStreaming () const { return m_flag; }
4315 };
4316 
4319 
4325 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
4326  protected:
4327  int m_length;
4328  char * m_string;
4330  public:
4332  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
4333  ~TK_Conditions();
4334 
4337  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4338 
4339  TK_Status ReadAscii (BStreamFileToolkit & tk);
4340  TK_Status WriteAscii (BStreamFileToolkit & tk);
4341 
4342  void Reset ();
4343 
4345  void SetConditions (char const * options);
4347  void SetConditions (int length);
4349  char const * GetConditions () const { return m_string; }
4351  char * GetConditions () { return m_string; }
4353  int GetLength() { return m_length; }
4354 };
4355 
4356 
4359 
4364 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
4365  protected:
4366  short m_type;
4367  short m_options;
4368  int m_length;
4369  char * m_string;
4371  public:
4373  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
4375 
4378  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4379 
4380  TK_Status ReadAscii (BStreamFileToolkit & tk);
4381  TK_Status WriteAscii (BStreamFileToolkit & tk);
4382 
4383  void Reset ();
4384 
4386  void SetCondition (char const * options);
4388  void SetCondition (int length);
4390  char const * GetCondition () const { return m_string; }
4392  char * GetCondition () { return m_string; }
4394  int GetLength() { return m_length; }
4395 
4397  void SetAction (int at) { m_type = (short)at; }
4399  int GetAction () const { return (int)m_type; }
4401  void SetOptions (int at) { m_options = (short)at; }
4403  int GetOptions () const { return (int)m_options; }
4404 };
4405 
4408 
4414 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
4415  protected:
4416  int m_length;
4417  char * m_string;
4422  void set_options (char const * options);
4423  void set_options (int length);
4424 
4425  public:
4427  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
4428  m_indices (0), m_unicode (0), m_index_data(0) {}
4429  ~TK_User_Options();
4430 
4433  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4434 
4435  TK_Status ReadAscii (BStreamFileToolkit & tk);
4436  TK_Status WriteAscii (BStreamFileToolkit & tk);
4437 
4438  void Reset ();
4439 
4441  void SetOptions (char const * options) { set_options (options); }
4443  void SetOptions (int length) { set_options (length); }
4445  char const * GetOptions () const { return m_string; }
4447  char * GetOptions () { return m_string; }
4449  int GetLength() { return m_length; }
4450 };
4451 
4454 
4460 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
4461  protected:
4462  int m_length;
4463  unsigned short * m_string;
4465  public:
4467  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
4468  ~TK_Unicode_Options();
4469 
4472  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4473 
4474  TK_Status ReadAscii (BStreamFileToolkit & tk);
4475  TK_Status WriteAscii (BStreamFileToolkit & tk);
4476 
4477  void Reset ();
4478 
4480  void SetOptions (unsigned short const * options);
4482  void SetOptions (int length);
4484  unsigned short const * GetOptions () const { return m_string; }
4486  unsigned short * GetOptions () { return m_string; }
4488  int GetLength() { return m_length; }
4489 };
4490 
4492 
4498 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
4499  protected:
4500  int m_count;
4501  int * m_indices;
4502  HLONG * m_values;
4504  void set_indices (int count, int const indices[], POINTER_SIZED_INT const values[]);
4505  void set_indices (int count);
4506 
4507  public:
4510  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
4511  ~TK_User_Index();
4512 
4515  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4516 
4517  TK_Status ReadAscii (BStreamFileToolkit & tk);
4518  TK_Status WriteAscii (BStreamFileToolkit & tk);
4519 
4520  void Reset ();
4521 
4523  void SetIndices (int count, int const indices[], POINTER_SIZED_INT const values[])
4524  { set_indices (count, indices, values); }
4526  void SetIndices (int count) { set_indices (count); }
4528  int GetCount () const { return m_count; }
4530  int const * GetIndices () const { return m_indices; }
4532  int * GetIndices () { return m_indices; }
4534  HLONG const * GetValues () const { return m_values; }
4536  HLONG * GetValues () { return m_values; }
4537 };
4538 
4540 
4546 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
4547 protected:
4548  int m_count;
4549  int * m_indices;
4550  void ** m_values;
4551  int * m_sizes;
4552 
4554  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
4555  void set_indices (int count);
4556  void FreeMem ();
4557 
4558 public:
4561  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
4562  ~TK_User_Index_Data();
4563 
4566  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4567 
4568  void Reset ();
4569 
4571  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
4572  set_indices (count, indices, values, sizes);
4573  }
4574 
4576  void SetIndices (int count) { set_indices (count);}
4577 
4579  int GetCount () const { return m_count;}
4580 
4582  int const * GetIndices () const { return m_indices;}
4583 
4585  int * GetIndices () { return m_indices;}
4586 
4588  void ** const GetValues () const { return m_values;}
4589 
4591  void ** const GetValues () { return m_values;}
4592 
4594  int const * GetSizes () const { return m_sizes;}
4595 
4597  int * GetSizes () { return m_sizes;}
4598 };
4599 
4600 
4602 
4607 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
4608  protected:
4609  HLONG m_value;
4610 
4611  public:
4614  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
4615 
4618  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4619 
4620  TK_Status ReadAscii (BStreamFileToolkit & tk);
4621  TK_Status WriteAscii (BStreamFileToolkit & tk);
4622 
4624  void SetValue (HLONG v) { m_value = v; }
4626  HLONG GetValue () const { return m_value; }
4627 };
4628 
4629 
4631 
4636 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
4637  protected:
4641  float m_settings[14];
4643  double m_dsettings[14];
4645  float m_details[3];
4646  unsigned char m_projection;
4647  int m_length;
4648  char * m_name;
4651  void set_name (char const * name);
4652 
4653  void set_name (int length);
4654 
4655  public:
4657  TK_Camera (unsigned char opcode = TKE_Camera)
4658  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
4659  int i;
4660  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
4661  for (i = 0; i < count; i++) {
4662  m_settings[i] = 0;
4663  m_dsettings[i] = 0;
4664  }
4665  }
4666  ~TK_Camera();
4667 
4670  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4671 
4672  TK_Status ReadAscii (BStreamFileToolkit & tk);
4673  TK_Status WriteAscii (BStreamFileToolkit & tk);
4674 
4676  void SetPosition (float x, float y, float z)
4677  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
4679  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
4681  float const * GetPosition () const { return &m_settings[0]; }
4683  void GetPosition (float p[]) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
4684 
4686  void SetDPosition (double x, double y, double z)
4687  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
4689  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
4691  double const * GetDPosition () const { return &m_dsettings[0]; }
4693  void GetDPosition (double p[]) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
4694 
4696  void SetTarget (float x, float y, float z)
4697  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
4699  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
4701  float const * GetTarget () const { return &m_settings[3]; }
4703  void GetTarget (float t[]) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
4704 
4706  void SetDTarget (double x, double y, double z)
4707  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
4709  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
4711  double const * GetDTarget () const { return &m_dsettings[3]; }
4713  void GetDTarget (double t[]) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
4714 
4716  void SetUpVector (float x, float y, float z)
4717  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
4719  void SetUpVector (float const u[]) { SetUpVector (u[0], u[1], u[2]); }
4721  float const * GetUpVector () const { return &m_settings[6]; }
4723  void GetUpVector (float u[]) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
4724 
4726  void SetDUpVector (double x, double y, double z)
4727  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
4729  void SetDUpVector (double const u[]) { SetDUpVector (u[0], u[1], u[2]); }
4731  double const * GetDUpVector () const { return &m_dsettings[6]; }
4733  void GetDUpVector (double u[]) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
4734 
4736  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
4738  void SetField (float const f[]) { SetField (f[0], f[1]); }
4740  float const * GetField () const { return &m_settings[9]; }
4742  void GetField (float f[]) const { memcpy(f,GetField(),2*sizeof(float)); }
4743 
4745  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
4747  void SetDField (double const f[]) { SetDField (f[0], f[1]); }
4749  double const * GetDField () const { return &m_dsettings[9]; }
4751  void GetDField (double f[]) const { memcpy(f, GetDField(), 2*sizeof(double)); }
4752 
4753 
4755  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
4756  m_projection &= ~TKO_Camera_Oblique_Mask;
4757  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
4758  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
4759  }
4761  void SetOblique (float const o[]) { SetOblique (o[0], o[1]); }
4763  float const * GetOblique () const { return m_details; }
4765  void GetOblique (float o[]) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
4766 
4768  void SetNearLimit (float l) { m_details[2] = l;
4769  m_projection &= ~TKO_Camera_Near_Limit;
4770  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
4771  }
4773  float GetNearLimit () const { return m_details[2]; }
4774 
4775 
4777  void SetProjection (int p) { m_projection = (char)p; }
4779  int GetProjection () const { return (int)m_projection; }
4780 
4781 
4783  void SetView (char const * name) { set_name (name); }
4785  void SetView (int length) { set_name (length); }
4787  char const * GetView () const { return m_name; }
4789  char * GetView () { return m_name; }
4790 };
4791 
4793 
4798 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
4799  protected:
4800  float m_window[4];
4801 
4802  public:
4805  : BBaseOpcodeHandler (TKE_Window) {}
4806 
4809  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4810 
4811  TK_Status ReadAscii (BStreamFileToolkit & tk);
4812  TK_Status WriteAscii (BStreamFileToolkit & tk);
4813 
4815  void SetWindow (float l, float r, float b, float t)
4816  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t; }
4818  void SetWindow (float const w[]) { SetWindow (w[0], w[1], w[2], w[3]); }
4820  float const * GetWindow () const { return m_window; }
4821 };
4822 
4823 
4824 
4826 
4833 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
4834  protected:
4835  int m_mask;
4836  int m_value;
4838  char * m_names;
4839  float m_size;
4840  float m_tolerance;
4841  float m_rotation;
4842  float m_slant;
4849  int m_renderers[2];
4850  int m_preferences[2];
4851  unsigned char m_size_units;
4852  unsigned char m_tolerance_units;
4853  unsigned char m_space_units;
4854  unsigned char m_greeking_units;
4855  unsigned char m_greeking_mode;
4856  unsigned char m_transforms;
4857  unsigned char m_renderer_cutoff_units;
4859  unsigned char m_layout;
4860 
4861  void set_names (int length);
4862  void set_names (char const * names);
4863 
4864  public:
4867  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0) {}
4868  ~TK_Text_Font ();
4869 
4872  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4873 
4874  TK_Status ReadAscii (BStreamFileToolkit & tk);
4875  TK_Status WriteAscii (BStreamFileToolkit & tk);
4876 
4877  void Reset ();
4878 
4880  void SetMask (int m) {
4881  m_mask = m;
4882  if ((m & TKO_Font_Extended2_Mask) != 0)
4883  m_mask |= TKO_Font_Extended2;
4884  if ((m & TKO_Font_Extended_Mask) != 0)
4885  m_mask |= TKO_Font_Extended;
4886  }
4888  int GetMask () const { return m_mask; }
4889 
4891  void SetValue (int v) { m_value = v; }
4893  int GetValue () const { return m_value; }
4894 
4896  void SetNames (char const * names) { set_names (names); }
4898  void SetNames (int length) { set_names (length); }
4900  char const * GetNames () const { return m_names; }
4902  char * GetNames () { return m_names; }
4903 
4905  void SetSize (float s) { m_size = s; }
4907  float GetSize () const { return m_size; }
4908 
4910  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
4912  int GetSizeUnits () const { return (int)m_size_units; }
4913 
4915  void SetTolerance (float t) { m_tolerance = t; }
4917  float GetTolerance () const { return m_tolerance; }
4918 
4920  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
4922  int GetToleranceUnits () const { return (int)m_tolerance_units; }
4923 
4925  void SetRotation (float r) { m_rotation = r; }
4927  float GetRotation () const { return m_rotation; }
4928 
4930  void SetSlant (float s) { m_slant = s; }
4932  float GetSlant () const { return m_slant; }
4933 
4935  void SetWidthScale (float s) { m_width_scale = s; }
4937  float GetWidthScale () const { return m_width_scale; }
4938 
4940  void SetExtraSpace (float s) { m_extra_space = s; }
4942  float GetExtraSpace () const { return m_extra_space; }
4943 
4945  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
4947  int GetExtraSpaceUnits () const { return (int)m_space_units; }
4948 
4950  void SetLineSpacing (float s) { m_line_spacing = s; }
4952  float GetLineSpacing () const { return m_line_spacing; }
4953 
4955  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
4957  int GetTransforms () const { return (int)m_transforms; }
4958 
4960  void SetGreekingLimit (float s) { m_greeking_limit = s; }
4962  float GetGreekingLimit () const { return m_greeking_limit; }
4963 
4965  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
4967  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
4968 
4970  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
4972  int GetGreekingMode () const { return (int)m_greeking_mode; }
4973 
4974 
4976  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
4978  int GetRenderer () const { return m_renderers[0]; }
4979 
4981  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
4983  int const * GetRenderers () const { return m_renderers; }
4984 
4986  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
4988  float GetRendererCutoff () const { return m_renderer_cutoff; }
4989 
4991  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
4993  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
4994 
4995 
4997  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
4999  int GetPreference () const { return m_preferences[0]; }
5000 
5002  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
5004  int const * GetPreferences () const { return m_preferences; }
5005 
5007  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
5009  float GetPreferenceCutoff () const { return m_preference_cutoff; }
5010 
5012  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
5014  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
5015 
5017  void SetLayout (int l) {m_layout = (unsigned char)l;}
5019  int GetLayout () const {return (int)m_layout;}
5020 };
5021 
5023 
5025 
5035 
5047 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
5048  protected:
5049  double m_dvalues[6];
5050  float m_values[6];
5051  char m_type;
5052  bool m_is_valid;
5053  public:
5055  TK_Bounding (unsigned char opcode)
5056  : BBaseOpcodeHandler (opcode) {}
5058  TK_Bounding (unsigned char opcode, float min[], float max[])
5059  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5060  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
5061  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
5062  }
5064  TK_Bounding (unsigned char opcode, float center[], float radius)
5065  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5066  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
5067  m_values[3] = radius;
5068  }
5070  TK_Bounding (unsigned char opcode, double min[], double max[])
5071  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5072  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
5073  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
5075  }
5077  TK_Bounding (unsigned char opcode, double center[], double radius)
5078  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5079  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
5080  m_dvalues[3] = radius;
5082  }
5083 
5086  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5087 
5088  TK_Status ReadAscii (BStreamFileToolkit & tk);
5089  TK_Status WriteAscii (BStreamFileToolkit & tk);
5090 };
5091 
5093 
5095 
5101 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
5102  protected:
5103  float m_point[3];
5104  double m_dpoint[3];
5105  char m_options;
5106 
5107  public:
5109  TK_Point (unsigned char opcode)
5110  : BBaseOpcodeHandler (opcode) {
5111  m_point[0] = m_point[1] = m_point[2] = 0;
5112  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5113  m_options = 0;
5114  };
5115 
5118  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5119 
5120  TK_Status ReadAscii (BStreamFileToolkit & tk);
5121  TK_Status WriteAscii (BStreamFileToolkit & tk);
5122 
5123  void Reset(void) {
5124  m_point[0] = m_point[1] = m_point[2] = 0;
5125  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5126  m_options = 0;
5128  };
5129 
5130 
5131 
5133  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
5135  void SetPoint (float const p[]) { SetPoint (p[0], p[1], p[2]); }
5137  float const * GetPoint () const { return m_point; }
5138 
5140  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
5142  void SetDPoint (double const p[]) { SetDPoint (p[0], p[1], p[2]); }
5144  double const * GetDPoint () const { return m_dpoint; }
5145 
5147  void SetOptions (int o) { m_options = (char)o; }
5149  int GetOptions () const { return (int)m_options; }
5150 
5151 };
5152 
5153 
5154 
5156 
5161 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
5162  protected:
5164  float m_points[6];
5166  double m_dpoints[6];
5167 
5168  public:
5170  TK_Line (unsigned char opcode = TKE_Line)
5171  : BBaseOpcodeHandler (opcode) {}
5172 
5175  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5176 
5177  TK_Status ReadAscii (BStreamFileToolkit & tk);
5178  TK_Status WriteAscii (BStreamFileToolkit & tk);
5179 
5181  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
5182  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
5183  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
5184  }
5186  void SetPoints (float const s[], float const e[]) {
5187  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5188  }
5190  void SetPoints (float const p[]) { SetPoints (&p[0], &p[3]); }
5192  float const * GetPoints () const { return m_points; }
5193 
5195  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
5196  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
5197  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
5198  }
5200  void SetDPoints (double const s[], double const e[]) {
5201  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5202  }
5204  void SetDPoints (double const p[]) { SetDPoints (&p[0], &p[3]); }
5206  double const * GetDPoints () const { return m_dpoints; }
5207 
5208 };
5209 
5210 
5211 
5213 
5220 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
5221  protected:
5222  int m_count;
5224  float * m_points;
5225  double * m_dpoints;
5228  void set_points (int count, float const points[] = 0) { SetPoints (count, points); }
5229  public:
5233  TK_Polypoint (unsigned char opcode)
5234  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
5235  ~TK_Polypoint();
5236 
5239  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5240 
5241  TK_Status ReadAscii (BStreamFileToolkit & tk);
5242  TK_Status WriteAscii (BStreamFileToolkit & tk);
5243 
5244  void Reset ();
5245 
5248  void SetPoints (int count, float const points[] = 0);
5250  float const * GetPoints () const { return m_points; }
5252  float * GetPoints () { return m_points; }
5253 
5256  void SetDPoints (int count, double const points[] = 0);
5258  double const * GetDPoints () const { return m_dpoints; }
5260  double * GetDPoints () { return m_dpoints; }
5261 
5263  int GetCount () const { return m_count; }
5264 
5265 };
5266 
5267 
5268 
5269 
5270 #define NC_HAS_WEIGHTS 0x01
5271 #define NC_HAS_KNOTS 0x02
5272 #define NC_HAS_START 0x04
5273 #define NC_HAS_END 0x08
5274 
5275 
5281 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
5282  protected:
5283  unsigned char m_optionals;
5284  unsigned char m_degree;
5289  float *m_weights;
5290  float *m_knots;
5291  float m_start;
5292  float m_end;
5294  void set_curve (int degree, int control_count, float const points[] = 0,
5296  float const weights[] = 0, float const knots[] = 0,
5297  float start = 0.0f, float end = 1.0f);
5298  public:
5299  TK_NURBS_Curve();
5300  ~TK_NURBS_Curve();
5301 
5304  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5305 
5306  TK_Status ReadAscii (BStreamFileToolkit & tk);
5307  TK_Status WriteAscii (BStreamFileToolkit & tk);
5308 
5309  void Reset ();
5310 
5312  void SetCurve (int degree, int control_count, float const points[] = 0,
5313  float const weights[] = 0, float const knots[] = 0,
5314  float start = 0.0f, float end = 1.0f) {
5315  set_curve (degree, control_count, points, weights, knots, start, end);
5316  }
5317  void SetDCurve (int degree, int control_count, double const points[] = 0,
5318  float const weights[] = 0, float const knots[] = 0,
5319  float start = 0.0f, float end = 1.0f);
5320 
5321  float const * GetPoints () const { return m_control_points; }
5322  float * GetPoints () { return m_control_points; }
5323  double const * GetDPoints () const { return m_dcontrol_points; }
5324  double * GetDPoints () { return m_dcontrol_points; }
5326  int GetDegree () const { return m_degree; }
5327  int GetCount () const { return m_control_point_count; }
5328  float const * GetWeights () const { return m_weights; }
5329  float * GetWeights () { return m_weights; }
5330  float const * GetKnots () const { return m_knots; }
5331  float * GetKnots () { return m_knots; }
5333  void SetStart (float s) { m_start = s; }
5334  float GetStart () const { return m_start; }
5335  void SetEnd (float e) { m_end = e; }
5336  float GetEnd () const { return m_end; }
5338  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5339  int GetOptions () const { return m_optionals; }
5341 };
5342 
5343 
5344 
5345 
5346 
5347 #define NS_HAS_WEIGHTS 0x01
5348 #define NS_HAS_KNOTS 0x02
5349 #define NS_HAS_TRIMS 0x04
5350 
5351 #define NS_TRIM_END 0
5352 #define NS_TRIM_POLY 1
5353 #define NS_TRIM_CURVE 2
5354 #define NS_TRIM_COLLECTION 3
5355 #define NS_TRIM_LAST_KNOWN_TYPE 3
5356 
5357 #define NS_TRIM_KEEP 0x01
5358 #define NS_TRIM_HAS_WEIGHTS 0x02
5359 #define NS_TRIM_HAS_KNOTS 0x04
5360 
5361 
5368 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
5369  friend class TK_NURBS_Surface;
5370  protected:
5371  //first 5 are relevant to polys and curves
5374  unsigned char m_type;
5375  int m_count;
5376  float * m_points;
5377  //next 6 are specific to curves
5378  unsigned char m_degree;
5379  unsigned char m_options;
5380  float * m_weights;
5381  float * m_knots;
5382  float m_start_u;
5383  float m_end_u;
5387  HT_NURBS_Trim();
5388  TK_Status read_collection(BStreamFileToolkit & tk);
5389  TK_Status write_collection(BStreamFileToolkit & tk);
5392  public:
5393  ~HT_NURBS_Trim();
5394  void SetPoly (int count, float const points[] = 0);
5395  void SetCurve (int degree, int control_count, float const points[] = 0,
5396  float const weights[] = 0, float const knots[] = 0, float start_u = 0, float end_u = 1);
5397  void SetCollection ();
5398  void SetOptions (int o) { m_options = (unsigned char)o; }
5399  void SetList (HT_NURBS_Trim *node) { m_list = node; }
5400  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
5404 
5407 
5408  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
5409  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
5410 
5412  HT_NURBS_Trim * GetNext (void) { return m_next; }
5414  int GetType () const { return m_type; }
5416  int GetCount () const { return m_count; }
5418  float const * GetPoints () const { return m_points; }
5420  float * GetPoints () { return m_points; }
5422  int GetDegree () const { return m_degree; }
5424  int GetOptions () const { return m_options; }
5426  float const * GetWeights () const { return m_weights; }
5428  float * GetWeights () { return m_weights; }
5430  float const * GetKnots () const { return m_knots; }
5432  float * GetKnots () { return m_knots; }
5434  HT_NURBS_Trim const *GetList () const { return m_list; }
5436  HT_NURBS_Trim * GetList () { return m_list; }
5437 
5438 };
5439 
5441 
5446 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
5447  protected:
5448  unsigned char m_optionals;
5449  unsigned char m_degree[2];
5450  int m_size[2];
5453  float * m_weights;
5454  float * m_u_knots;
5455  float * m_v_knots;
5461  public:
5462  TK_NURBS_Surface();
5463  ~TK_NURBS_Surface();
5464 
5467  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5468 
5469  TK_Status ReadAscii (BStreamFileToolkit & tk);
5470  TK_Status WriteAscii (BStreamFileToolkit & tk);
5471 
5472  void Reset ();
5474  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
5475  float const points[] = 0, float const weights[] = 0,
5476  float const u_knots[] = 0, float const v_knots[] = 0);
5477  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
5478  double const points[] = 0, float const weights[] = 0,
5479  float const u_knots[] = 0, float const v_knots[] = 0);
5482  float const * GetPoints () const { return m_control_points; }
5484  float * GetPoints () { return m_control_points; }
5486  double const * GetDPoints () const { return m_dcontrol_points; }
5488  double * GetDPoints () { return m_dcontrol_points; }
5489 
5491  int GetUDegree () const { return m_degree[0]; }
5493  int GetVDegree () const { return m_degree[1]; }
5495  int GetUSize () const { return m_size[0]; }
5497  int GetVSize () const { return m_size[1]; }
5499  float const * GetWeights () const { return m_weights; }
5501  float * GetWeights () { return m_weights; }
5503  float const * GetUKnots () const { return m_u_knots; }
5505  float * GetUKnots () { return m_u_knots; }
5507  float const * GetVKnots () const { return m_v_knots; }
5509  float * GetVKnots () { return m_v_knots; }
5510 
5512  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5514  int GetOptions () const { return m_optionals; }
5515 
5517  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
5519  HT_NURBS_Trim * GetTrims () { return m_trims; }
5520 
5521 
5522 };
5523 
5525 
5530 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
5531  protected:
5532  int m_count;
5533  float * m_points;
5534  double * m_dpoints;
5535  char m_options;
5536 
5538  void set_points (int count, float const points[] = 0);
5539 
5540  public:
5543  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
5544  ~TK_Area_Light();
5545 
5548  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5549 
5550  TK_Status ReadAscii (BStreamFileToolkit & tk);
5551  TK_Status WriteAscii (BStreamFileToolkit & tk);
5552 
5553  void Reset ();
5554 
5559  void SetPoints (int count, float const points[] = 0) { set_points (count, points); }
5561  float const * GetPoints () const { return m_points; }
5563  float * GetPoints () { return m_points; }
5564 
5569  void SetDPoints (int count, double const points[] = 0) ;
5571  double const * GetDPoints () const { return m_dpoints; }
5573  double * GetDPoints () { return m_dpoints; }
5574 
5576  int GetCount () const { return m_count; }
5577 
5579  void SetOptions (int o) { m_options = (char)o; }
5581  int GetOptions () const { return (int)m_options; }
5582 };
5583 
5584 
5586 
5591 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
5592  protected:
5593  float m_position[3];
5594  float m_target[3];
5595  double m_dposition[3];
5596  double m_dtarget[3];
5597  float m_outer;
5598  float m_inner;
5600  char m_options;
5601 
5602  public:
5605  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
5606 
5609  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5610 
5611  TK_Status ReadAscii (BStreamFileToolkit & tk);
5612  TK_Status WriteAscii (BStreamFileToolkit & tk);
5613 
5615  void SetPosition (float x, float y, float z)
5616  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
5618  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
5620  float const * GetPosition () const { return m_position; }
5621 
5623  void SetDPosition (double x, double y, double z)
5624  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
5626  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
5628  double const * GetDPosition () const { return m_dposition; }
5629 
5631  void SetTarget (float x, float y, float z)
5632  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
5634  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5636  float const * GetTarget () const { return m_target; }
5637 
5639  void SetDTarget (double x, double y, double z)
5640  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
5642  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5644  double const * GetDTarget () const { return m_dtarget; }
5645 
5647  void SetOuter (float o) { m_outer = o; }
5649  float GetOuter () const { return m_outer; }
5650 
5652  void SetInner (float i) { m_inner = i; }
5654  float GetInner () const { return m_inner; }
5655 
5657  void SetConcentration (float c) { m_concentration = c; }
5659  float GetConcentration () const { return m_concentration; }
5660 
5662  void SetOptions (int o) { m_options = (char)o; }
5664  int GetOptions () const { return (int)m_options; }
5665 };
5666 
5667 
5669 
5674 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
5675  protected:
5676  float * m_planes;
5677  double * m_dplanes;
5678  int m_count;
5679 
5680  public:
5683  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
5684  ~TK_Cutting_Plane ();
5685 
5688  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5689 
5690  TK_Status ReadAscii (BStreamFileToolkit & tk);
5691  TK_Status WriteAscii (BStreamFileToolkit & tk);
5692 
5693  void Reset ();
5694 
5696  void SetPlanes (int count, float const p[]=0);
5698  void SetDPlanes (int count, double const p[]=0);
5699 
5701  void SetPlane (float a, float b, float c, float d)
5702  { SetPlanes(1);
5703  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
5705  void SetDPlane (double a, double b, double c, double d)
5706  { SetDPlanes(1);
5707  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
5708 
5710  void SetPlane (float const p[]) { SetPlanes (1, p); }
5712  void SetDPlane (double const p[]) { SetDPlanes (1, p); }
5713 
5715  float const * GetPlane () const { return m_planes; }
5717  double const * GetDPlane () const { return m_dplanes; }
5718 
5720  float const * GetPlanes () const { return m_planes; }
5722  double const * GetDPlanes () const { return m_dplanes; }
5723 
5725  int GetCount () const { return m_count; }
5726 };
5727 
5728 
5730 
5737 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
5738  protected:
5739  float m_points[9];
5740  float m_center[3];
5741  double m_dpoints[9];
5742  double m_dcenter[3];
5743  unsigned char m_flags;
5746  public:
5748  TK_Circle (unsigned char opcode)
5749  : BBaseOpcodeHandler (opcode), m_flags (0) {}
5750 
5753  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5754 
5755  TK_Status ReadAscii (BStreamFileToolkit & tk);
5756  TK_Status WriteAscii (BStreamFileToolkit & tk);
5757 
5758  void Reset ();
5759 
5761  void SetStart (float x, float y, float z) {
5762  m_points[0] = x; m_points[1] = y; m_points[2] = z;
5763  }
5765  void SetStart (float const s[]) {
5766  SetStart (s[0], s[1], s[2]);
5767  }
5769  void SetMiddle (float x, float y, float z) {
5770  m_points[3] = x; m_points[4] = y; m_points[5] = z;
5771  }
5773  void SetMiddle (float const m[]) {
5774  SetMiddle (m[0], m[1], m[2]);
5775  }
5777  void SetEnd (float x, float y, float z) {
5778  m_points[6] = x; m_points[7] = y; m_points[8] = z;
5779  }
5781  void SetEnd (float const e[]) {
5782  SetEnd (e[0], e[1], e[2]);
5783  }
5785  void SetCenter (float x, float y, float z) {
5786  m_center[0] = x; m_center[1] = y; m_center[2] = z;
5787  m_flags = TKO_Circular_Center;
5788  }
5790  void SetCenter (float const c[]) {
5791  if (c) SetCenter (c[0], c[1], c[2]);
5792  else m_flags = 0;
5793  }
5795  void SetPoints (float const s[], float const m[], float const e[],
5796  float const c[] = 0) {
5797  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
5798  }
5799 
5801  float const * GetStart () const { return &m_points[0]; }
5803  float const * GetMiddle () const { return &m_points[3]; }
5805  float const * GetEnd () const { return &m_points[6]; }
5807  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
5808 
5810  void SetDStart (double x, double y, double z) {
5811  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
5812  }
5814  void SetDStart (double const s[]) {
5815  SetDStart (s[0], s[1], s[2]);
5816  }
5818  void SetDMiddle (double x, double y, double z) {
5819  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
5820  }
5822  void SetDMiddle (double const m[]) {
5823  SetDMiddle (m[0], m[1], m[2]);
5824  }
5826  void SetDEnd (double x, double y, double z) {
5827  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
5828  }
5830  void SetDEnd (double const e[]) {
5831  SetDEnd (e[0], e[1], e[2]);
5832  }
5834  void SetDCenter (double x, double y, double z) {
5835  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
5836  m_flags = TKO_Circular_Center;
5837  }
5839  void SetDCenter (double const c[]) {
5840  if (c) SetDCenter (c[0], c[1], c[2]);
5841  else m_flags = 0;
5842  }
5844  void SetDPoints (double const s[], double const m[], double const e[],
5845  double const c[] = 0) {
5846  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
5847  }
5848 
5850  double const * GetDStart () const { return &m_dpoints[0]; }
5852  double const * GetDMiddle () const { return &m_dpoints[3]; }
5854  double const * GetDEnd () const { return &m_dpoints[6]; }
5856  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
5857 };
5858 
5859 
5861 
5868 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
5869  protected:
5870  float m_points[9];
5871  double m_dpoints[9];
5872  float m_limits[2];
5874  public:
5876  TK_Ellipse (unsigned char opcode)
5877  : BBaseOpcodeHandler (opcode) {}
5878 
5881  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5882 
5883  TK_Status ReadAscii (BStreamFileToolkit & tk);
5884  TK_Status WriteAscii (BStreamFileToolkit & tk);
5885 
5887  void SetCenter (float x, float y, float z) {
5888  m_points[0] = x; m_points[1] = y; m_points[2] = z;
5889  }
5891  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
5893  float const * GetCenter () const { return &m_points[0]; }
5894 
5896  void SetMajor (float x, float y, float z) {
5897  m_points[3] = x; m_points[4] = y; m_points[5] = z;
5898  }
5900  void SetMajor (float const m[]) { SetMajor (m[0], m[1], m[2]); }
5902  float const * GetMajor () const { return &m_points[3]; }
5903 
5905  void SetMinor (float x, float y, float z) {
5906  m_points[6] = x; m_points[7] = y; m_points[8] = z;
5907  }
5909  void SetMinor (float const m[]) { SetMinor (m[0], m[1], m[2]); }
5911  float const * GetMinor () const { return &m_points[6]; }
5912 
5913 
5915  void SetDCenter (double x, double y, double z) {
5916  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
5917  }
5919  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
5921  double const * GetDCenter () const { return &m_dpoints[0]; }
5922 
5924  void SetDMajor (double x, double y, double z) {
5925  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
5926  }
5928  void SetDMajor (double const m[]) { SetDMajor (m[0], m[1], m[2]); }
5930  double const * GetDMajor () const { return &m_dpoints[3]; }
5931 
5933  void SetDMinor (double x, double y, double z) {
5934  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
5935  }
5937  void SetDMinor (double const m[]) { SetDMinor (m[0], m[1], m[2]); }
5939  double const * GetDMinor () const { return &m_dpoints[6]; }
5940 
5942  void SetLimits (float s, float e) {
5943  m_limits[0] = s; m_limits[1] = e;
5944  }
5946  float const * GetLimits () const { return m_limits; }
5947 };
5948 
5949 
5951 
5958 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
5959  protected:
5960  unsigned char m_flags;
5961  float m_center[3];
5962  float m_radius;
5963  float m_axis[3];
5964  float m_ortho[3];
5965  double m_dcenter[3];
5966  double m_dradius;
5967  double m_daxis[3];
5968  double m_dortho[3];
5970  public:
5973  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
5974 
5977  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5978 
5979  TK_Status ReadAscii (BStreamFileToolkit & tk);
5980  TK_Status WriteAscii (BStreamFileToolkit & tk);
5981 
5982  void Reset ();
5983 
5985  void SetCenter (float x, float y, float z) {
5986  m_center[0] = x; m_center[1] = y; m_center[2] = z;
5987  }
5989  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
5991  float const * GetCenter () const { return m_center; }
5992 
5993 
5995  void SetRadius (float r) { m_radius = r; }
5997  float GetRadius () const { return m_radius; }
5998 
6000  void SetAxis (float x, float y, float z) {
6001  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
6002  if (x != 0.0f || y != 1.0f || z != 0.0f)
6003  m_flags &= ~TKSPH_NULL_AXIS;
6004  }
6006  void SetAxis (float const s[]) { SetAxis (s[0], s[1], s[2]); }
6008  float const * GetAxis () const { return m_axis; }
6009 
6011  void SetOrtho (float x, float y, float z) {
6012  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
6013  if (x != 1.0f || y != 0.0f || z != 0.0f)
6014  m_flags &= ~TKSPH_NULL_AXIS;
6015  }
6017  void SetOrtho (float const s[]) { SetOrtho (s[0], s[1], s[2]); }
6019  float const * GetOrtho () const { return m_ortho; }
6020 
6021 
6023  void SetDCenter (double x, double y, double z) {
6024  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6025  }
6027  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6029  double const * GetDCenter () const { return m_dcenter; }
6030 
6031 
6033  void SetDRadius (double r) { m_dradius = r; }
6035  double GetDRadius () const { return m_dradius; }
6036 
6038  void SetDAxis (double x, double y, double z) {
6039  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
6040  if (x != 0.0f || y != 1.0f || z != 0.0f)
6041  m_flags &= ~TKSPH_NULL_AXIS;
6042  }
6044  void SetDAxis (double const s[]) { SetDAxis (s[0], s[1], s[2]); }
6046  double const * GetDAxis () const { return m_daxis; }
6047 
6049  void SetDOrtho (double x, double y, double z) {
6050  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
6051  if (x != 1.0f || y != 0.0f || z != 0.0f)
6052  m_flags &= ~TKSPH_NULL_AXIS;
6053  }
6055  void SetDOrtho (double const s[]) { SetDOrtho (s[0], s[1], s[2]); }
6057  double const * GetDOrtho () const { return m_dortho; }
6058 
6059 
6063  enum Flags {
6064  TKSPH_NONE = 0x0,
6065  TKSPH_NULL_AXIS = 0x1
6066  };
6067 
6068 };
6069 
6070 
6072 
6079 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
6080  protected:
6081  float m_axis[6];
6082  float m_radius;
6083  double m_daxis[6];
6084  double m_dradius;
6085  unsigned char m_flags;
6087  public:
6090  : BBaseOpcodeHandler (TKE_Cylinder) {}
6091 
6094  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6095 
6096  TK_Status ReadAscii (BStreamFileToolkit & tk);
6097  TK_Status WriteAscii (BStreamFileToolkit & tk);
6098 
6100  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
6101  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
6102  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
6103  }
6105  void SetAxis (float const s[], float const e[]) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6107  void SetAxis (float const a[]) { SetAxis (&a[0], &a[3]); }
6109  float const * GetAxis () const { return m_axis; }
6111  float const * GetStart () const { return &m_axis[0]; }
6113  float const * GetEnd () const { return &m_axis[3]; }
6114 
6116  void SetRadius (float r) { m_radius = r; }
6118  float GetRadius () const { return m_radius; }
6119 
6120 
6122  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
6123  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
6124  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
6125  }
6127  void SetDAxis (double const s[], double const e[]) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6129  void SetDAxis (double const a[]) { SetDAxis (&a[0], &a[3]); }
6131  double const * GetDAxis () const { return m_daxis; }
6133  double const * GetDStart () const { return &m_daxis[0]; }
6135  double const * GetDEnd () const { return &m_daxis[3]; }
6136 
6138  void SetDRadius (double r) { m_dradius = r; }
6140  double GetDRadius () const { return m_dradius; }
6141 
6142 
6144  void SetCaps (int f) { m_flags = (unsigned char)f; }
6146  int GetCaps () const { return m_flags; }
6147 
6152  TKCYL_NONE = 0,
6153  TKCYL_FIRST = 1,
6154  TKCYL_SECOND = 2,
6155  TKCYL_BOTH = 3
6156  };
6157 
6158 };
6159 
6160 
6162 
6169 #include "BPolyhedron.h"
6170 
6171 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
6172  protected:
6173  int m_count;
6174  float * m_points;
6175  double * m_dpoints;
6177  float * m_radii;
6178  double * m_dradii;
6179  unsigned char m_flags;
6180  float m_normals[6];
6182  public:
6185  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
6186  m_radius_count (0), m_radii (0), m_dradii (0) {}
6187  ~TK_PolyCylinder();
6188 
6191  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6192 
6193  TK_Status ReadAscii (BStreamFileToolkit & tk);
6194  TK_Status WriteAscii (BStreamFileToolkit & tk);
6195 
6196  virtual void Reset ();
6197 
6202  TKCYL_NORMAL_FIRST = 0x04,
6203  TKCYL_NORMAL_SECOND = 0x08,
6204  TKCYL_OPTIONALS = 0x10
6205  };
6206 
6211  void SetPoints (int count, float const points[] = 0);
6213  float const * GetPoints () const { return m_points; }
6215  float * GetPoints () { return m_points; }
6216 
6221  void SetRadii (int count, float const radii[] = 0);
6223  void SetRadius (float radius) { SetRadii (1, &radius); }
6225  float const * GetRadii () const { return m_radii; }
6227  float * GetRadii () { return m_radii; }
6228 
6229 
6234  void SetDPoints (int count, double const points[] = 0);
6236  double const * GetDPoints () const { return m_dpoints; }
6238  double * GetDPoints () { return m_dpoints; }
6239 
6244  void SetDRadii (int count, double const radii[] = 0);
6246  void SetDRadius (double radius) { SetDRadii (1, &radius); }
6248  double const * GetDRadii () const { return m_dradii; }
6250  double * GetDRadii () { return m_dradii; }
6251 
6252 
6254  int GetCount () const { return m_count; }
6256  int GetRadiusCount () const { return m_radius_count; }
6257 
6258 
6259 
6260 
6262  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
6264  int GetCaps () const { return m_flags & 0x03; }
6265 
6267  void SetEndNormal (int index, float const normal[] = 0) {
6268  int mask = 0x40 << index;
6269  if (normal == 0)
6270  m_flags &= ~mask;
6271  else {
6272  m_flags |= mask;
6273  m_normals[3*index+0] = normal[0];
6274  m_normals[3*index+1] = normal[1];
6275  m_normals[3*index+2] = normal[2];
6276  }
6277  }
6279  float const * GetEndNormal (int index) const {
6280  int mask = 0x40 << index;
6281  if (m_flags & mask)
6282  return &m_normals[3*index];
6283  else
6284  return 0;
6285  }
6286 };
6287 
6288 
6290 
6296 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
6297  protected:
6298  char m_type;
6299  float m_points[9];
6300  double m_dpoints[9];
6301  int m_counts[2];
6303  public:
6306  : BBaseOpcodeHandler (TKE_Grid) {}
6307 
6310  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6311 
6312  TK_Status ReadAscii (BStreamFileToolkit & tk);
6313  TK_Status WriteAscii (BStreamFileToolkit & tk);
6314 
6316  void SetOrigin (float x, float y, float z) {
6317  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6318  }
6320  void SetOrigin (float const o[]) { SetOrigin (o[0], o[1], o[2]); }
6322  float const * GetOrigin () const { return &m_points[0]; }
6324  float * GetOrigin () { return &m_points[0]; }
6325 
6327  void SetRef1 (float x, float y, float z) {
6328  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6329  }
6331  void SetRef1 (float const r[]) { SetRef1 (r[0], r[1], r[2]); }
6333  float const * GetRef1 () const { return &m_points[3]; }
6335  float * GetRef1 () { return &m_points[3]; }
6336 
6338  void SetRef2 (float x, float y, float z) {
6339  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6340  }
6342  void SetRef2 (float const r[]) { SetRef2 (r[0], r[1], r[2]); }
6344  float const * GetRef2 () const { return &m_points[6]; }
6346  float * GetRef2 () { return &m_points[6]; }
6347 
6348 
6350  void SetDOrigin (double x, double y, double z) {
6351  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6352  }
6354  void SetDOrigin (double const o[]) { SetDOrigin (o[0], o[1], o[2]);}
6356  double const * GetDOrigin () const { return &m_dpoints[0]; }
6358  double * GetDOrigin () { return &m_dpoints[0]; }
6359 
6361  void SetDRef1 (double x, double y, double z) {
6362  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6363  }
6365  void SetDRef1 (double const r[]) { SetDRef1 (r[0], r[1], r[2]); }
6367  double const * GetDRef1 () const { return &m_dpoints[3]; }
6369  double * GetDRef1 () { return &m_dpoints[3]; }
6370 
6372  void SetDRef2 (double x, double y, double z) {
6373  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6374  }
6376  void SetDRef2 (double const r[]) { SetDRef2 (r[0], r[1], r[2]); }
6378  double const * GetDRef2 () const { return &m_dpoints[6]; }
6380  double * GetDRef2 () { return &m_dpoints[6]; }
6381 
6382 
6384  void SetCounts (int c1, int c2) {
6385  m_counts[0] = c1; m_counts[1] = c2;
6386  }
6388  int const * GetCounts () const { return m_counts; }
6390  int * GetCounts () { return m_counts; }
6391 
6393  void SetType (int t) { m_type = (char)t; }
6395  int GetType () const { return (int)m_type; }
6396 };
6397 
6399 
6402  char * name;
6403 
6404  float color[3];
6405  float size;
6408  float slant;
6409  float rotation;
6410  float width_scale;
6411 
6412  unsigned short mask;
6413  unsigned short value;
6414 
6415  unsigned char size_units;
6416  unsigned char vertical_offset_units;
6417  unsigned char horizontal_offset_units;
6418 };
6419 
6420 
6422 
6428 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
6429  protected:
6430  float m_position[3];
6431  double m_dposition[3];
6432  int m_length;
6434  char * m_string;
6435  unsigned char m_encoding;
6436  unsigned char m_options;
6437  unsigned char m_region_options;
6438  unsigned char m_region_fit;
6439  unsigned char m_region_count;
6440  float m_region[4*3];
6441  int m_count;
6444  int m_tmp;
6446  void set_string (char const * string);
6447  void set_string (int length);
6448 
6449  public:
6451  TK_Text (unsigned char opcode);
6452  ~TK_Text();
6453 
6456  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6457 
6458  TK_Status ReadAscii (BStreamFileToolkit & tk);
6459  TK_Status WriteAscii (BStreamFileToolkit & tk);
6460 
6461  void Reset ();
6462 
6464  void SetString (char const * string) { set_string (string); }
6466  void SetString (unsigned short const * string);
6468  void SetString (unsigned int const * string);
6470  void SetString (int length) { set_string (length); }
6472  char const * GetString () const { return m_string; }
6474  char * GetString () { return m_string; }
6475 
6477  void SetPosition (float x, float y, float z)
6478  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6480  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6482  float const * GetPosition () const { return &m_position[0]; }
6483 
6485  void SetDPosition (double x, double y, double z)
6486  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6488  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6490  double const * GetDPosition () const { return &m_dposition[0]; }
6491 
6493  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
6495  int GetEncoding () const { return (int)m_encoding; }
6496 
6498  void SetTextRegion (int c, float const p[], int o=0, int f=0);
6500  int GetTextRegionCount () const { return (int)m_region_count; }
6502  float const * GetTextRegionPoints () const { return m_region; }
6504  int GetTextRegionOptions () const { return (int)m_region_options; }
6506  int GetTextRegionFitting () const { return (int)m_region_fit; }
6507 };
6508 
6510 
6512 
6518 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
6519  protected:
6520  char * m_name;
6521  char * m_lookup;
6522  char * m_bytes;
6525  int m_length;
6526  unsigned char m_type;
6527  unsigned char m_encoding;
6529  void set_bytes (int size, char const * bytes = 0);
6532  void set_name (char const * string);
6534  void set_name (int length);
6536  void set_lookup (char const * string);
6538  void set_lookup (int length);
6539 
6540  public:
6542  TK_Font () : BBaseOpcodeHandler (TKE_Font),
6543  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
6544  m_type (0), m_encoding (0) {}
6545  ~TK_Font();
6546 
6549  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6550 
6551  TK_Status ReadAscii (BStreamFileToolkit & tk);
6552  TK_Status WriteAscii (BStreamFileToolkit & tk);
6553 
6554  void Reset ();
6555 
6556 
6558  void SetType (int t) { m_type = (unsigned char)t;}
6560  int GetType () const { return (int)m_type; }
6561 
6566  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
6568  int GetBytesCount () const { return m_length; }
6570  char const * GetBytes () const { return m_bytes; }
6572  char * GetBytes () { return m_bytes; }
6573 
6575  void SetName (char const * string) { set_name (string); }
6577  void SetName (int length) { set_name (length); }
6579  char const * GetName () const { return m_name; }
6581  char * GetName () { return m_name; }
6582 
6584  void SetLookup (char const * string) { set_lookup (string); }
6586  void SetLookup (int length) { set_lookup (length); }
6588  char const * GetLookup () const { return m_lookup; }
6590  char * GetLookup () { return m_lookup; }
6591 
6593  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
6595  int GetEncoding () const { return (int)m_encoding; }
6596 };
6597 
6599 
6600 
6602 extern const int TK_Image_Bytes_Per_Pixel[];
6603 
6604 #ifndef DOXYGEN_SHOULD_SKIP_THIS
6605 
6606 class BBINFILETK_API2 TK_Image_Data_Buffer {
6607  protected:
6608  unsigned char * m_buffer;
6609  unsigned int m_allocated;
6610  unsigned int m_used;
6611 
6612  public:
6614  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
6615  ~TK_Image_Data_Buffer();
6616 
6617  void Resize (unsigned int size);
6618  void Expand (unsigned int size) { Resize (Size() + size); }
6619  void Reset ();
6620 
6621  unsigned int const & Size () const { return m_allocated; }
6622  unsigned int const & Used () const { return m_used; }
6623  unsigned int & Used () { return m_used; }
6624  unsigned char const * Buffer () const { return m_buffer; }
6625  unsigned char * Buffer () { return m_buffer; }
6626 };
6627 
6628 
6629 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
6630 
6631 
6633 
6639 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
6640  protected:
6641  char * m_bytes;
6642  char * m_name;
6643  char * m_reference;
6644  float m_position[3];
6645  double m_dposition[3];
6646  int m_size[2];
6650  unsigned char m_format;
6651  unsigned int m_options;
6652  unsigned char m_compression;
6653  unsigned char m_bytes_format;
6654  float m_explicit_size[2];
6655  unsigned char m_explicit_units[2];
6656  TK_Image_Data_Buffer m_work_area[2];
6661  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
6664  void set_name (char const * string);
6666  void set_name (int length);
6667 
6669  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
6671  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
6673  TK_Status read_jpeg_header ();
6674 
6675  public:
6677  TK_Image ();
6678  ~TK_Image();
6679 
6682  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6683 
6684  TK_Status ReadAscii (BStreamFileToolkit & tk);
6685  TK_Status WriteAscii (BStreamFileToolkit & tk);
6686  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
6687 
6688 
6689  void Reset ();
6690 
6695  void SetBytes (int size, char const * bytes = 0,
6696  unsigned char data_format = TKO_Compression_None)
6697  { set_data (size, bytes, data_format); }
6699  char const * GetBytes () const { return m_bytes; }
6701  char * GetBytes () { return m_bytes; }
6702 
6704  void SetName (char const * string) { set_name (string); }
6706  void SetName (int length) { set_name (length); }
6708  char const * GetName () const { return m_name; }
6710  char * GetName () { return m_name; }
6711 
6713  void SetReference (char const * string);
6715  void SetReference (int length);
6717  char const * GetReference () const { return m_reference; }
6719  char * GetReference () { return m_reference; }
6720 
6722  void SetPosition (float x, float y, float z)
6723  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6725  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6727  float const * GetPosition () const { return &m_position[0]; }
6728 
6730  void SetDPosition (double x, double y, double z)
6731  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6733  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6735  double const * GetDPosition () const { return &m_dposition[0]; }
6736 
6738  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
6740  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
6742  int const * GetSize () const { return m_size; }
6743 
6745  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
6747  int GetFormat () const { return (int)m_format; }
6748 
6750  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
6752  int GetOptions () const { return (int)m_options; }
6753 
6755  void SetCompression (int c) { m_compression = (unsigned char)c; }
6757  int GetCompression () const { return (int)m_compression; }
6758 };
6759 
6760 
6762 
6764 
6770 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
6771  protected:
6772  char * m_name;
6774  char * m_image;
6775  char * m_camera;
6780  int m_flags;
6791  char m_layout;
6792  char m_tiling;
6793  float m_value_scale[2];
6794  int m_source_dimensions[3];
6795  char * m_transform;
6799  void set_name (int length);
6800  void set_name (char const * name);
6801  void set_image (int length);
6802  void set_image (char const * image);
6803  void set_transform (int length);
6804  void set_transform (char const * transform);
6805 
6806  public:
6808  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
6809  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
6810  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
6811  m_transform (0) {
6812  Reset();
6813  }
6814  ~TK_Texture();
6815 
6818  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6819 
6820  TK_Status ReadAscii (BStreamFileToolkit & tk);
6821  TK_Status WriteAscii (BStreamFileToolkit & tk);
6822 
6823  void Reset ();
6824 
6826  void SetName (char const * name) { set_name (name); }
6828  void SetName (int length) { set_name (length); }
6830  char const * GetName () const { return m_name; }
6832  char * GetName () { return m_name; }
6833 
6835  void SetShaderSource (char const * shader_source);
6837  void SetShaderSource (int length);
6839  char const * GetShaderSource () const { return m_shader_source; }
6841  char * GetShaderSource () { return m_shader_source; }
6842 
6844  void SetImage (char const * image) { set_image (image); }
6846  void SetImage (int length) { set_image (length); }
6848  char const * GetImage () const { return m_image; }
6850  char * GetImage () { return m_image; }
6851 
6853  void SetCamera (char const * camera);
6855  void SetCamera (int length);
6857  char const * GetCamera () const { return m_camera; }
6859  char * GetCamera () { return m_camera; }
6860 
6862  void SetFlags (int f) {
6863  m_flags = f;
6864  if ((f & TKO_Texture_Extended_Mask) != 0)
6865  m_flags |= TKO_Texture_Extended;
6866  }
6868  int GetFlags () const { return m_flags; }
6869 
6871  void SetParameterSource (int p) { m_param_source = (char)p; }
6873  int GetParameterSource () const { return (int)m_param_source; }
6874 
6876  void SetInterpolation (int p) { m_interpolation = (char)p; }
6878  int GetInterpolation () const { return (int)m_interpolation; }
6879 
6881  void SetDecimation (int p) { m_decimation = (char)p; }
6883  int GetDecimation () const { return (int)m_decimation; }
6884 
6886  void SetRedMapping (int p) { m_red_mapping = (char)p; }
6888  int GetRedMapping () const { return (int)m_red_mapping; }
6889 
6891  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
6893  int GetGreenMapping () const { return (int)m_green_mapping; }
6894 
6896  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
6898  int GetBlueMapping () const { return (int)m_blue_mapping; }
6899 
6901  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
6903  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
6904 
6906  void SetParameterFunction (int p) { m_param_function = (char)p; }
6908  int GetParameterFunction () const { return (int)m_param_function; }
6909 
6911  void SetLayout (int p) { m_layout = (char)p; }
6913  int GetLayout () const { return (int)m_layout; }
6914 
6916  void SetTiling (int p) { m_tiling = (char)p; }
6918  int GetTiling () const { return (int)m_tiling; }
6919 
6921  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
6923  float const * GetValueScale () const { return m_value_scale; }
6924 
6926  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
6928  int GetApplicationMode () const { return (int)m_apply_mode; }
6929 
6931  void SetParameterOffset (int p) { m_param_offset = (char)p; }
6933  int GetParameterOffset () const { return (int)m_param_offset; }
6934 
6939  void SetTransform (char const * transform) { set_transform (transform); }
6944  void SetTransform (int length) { set_transform (length); }
6946  char const * GetTransform () const { return m_transform; }
6948  char * GetTransform () { return m_transform; }
6949 };
6950 
6952 
6954 
6960 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
6961  protected:
6962  unsigned char * m_bytes;
6964  int m_size[2];
6965  unsigned char m_format;
6967  public:
6969  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
6970  ~TK_Thumbnail();
6971 
6974  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6975 
6976  TK_Status ReadAscii (BStreamFileToolkit & tk);
6977  TK_Status WriteAscii (BStreamFileToolkit & tk);
6978 
6980  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
6981  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
6982  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
6983  void Reset ();
6984 
6989  void SetBytes (int size, unsigned char const * bytes = 0);
6991  unsigned char const * GetBytes () const { return m_bytes; }
6993  unsigned char * GetBytes () { return m_bytes; }
6994 
6996  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
6998  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7000  int const * GetSize () const { return m_size; }
7001 
7003  void SetFormat (int f) { m_format = (unsigned char)f; }
7005  int GetFormat () const { return (int)m_format; }
7006 };
7007 
7008 
7010 
7012 
7017 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
7018  protected:
7020  int m_size;
7021  char * m_name;
7022  char * m_data;
7024  public:
7026  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
7027  m_name_length (0), m_size (0),
7028  m_name (0), m_data (0) {}
7030 
7033  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7034 
7035  TK_Status ReadAscii (BStreamFileToolkit & tk);
7036  TK_Status WriteAscii (BStreamFileToolkit & tk);
7037 
7038  void Reset ();
7039 
7041  void SetName (char const * name);
7043  void SetName (int length);
7045  char const * GetName () const { return m_name; }
7047  char * GetName () { return m_name; }
7048 
7050  void SetDefinition (int size, char const * data = 0);
7052  int GetDefinitionSize () const { return m_size; }
7054  char const * GetDefinition () const { return m_data; }
7056  char * GetDefinition () { return m_data; }
7057 };
7058 
7059 
7061 
7066 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
7067  protected:
7069  char * m_name;
7072  char * m_segment;
7076  char * m_condition;
7080  bool m_follow;
7081 
7082  public:
7085  m_name_length (0), m_name (0),
7086  m_segment_length (0), m_segment (0) ,
7087  m_cond_length (0), m_cond_allocated (0), m_condition (0),
7088  m_key(-1), m_referee(0), m_follow(true) {}
7089  ~TK_Named_Style_Def();
7090 
7093  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7094 
7095  TK_Status ReadAscii (BStreamFileToolkit & tk);
7096  TK_Status WriteAscii (BStreamFileToolkit & tk);
7097 
7098  void Reset ();
7099 
7101  void SetName (char const * name);
7103  void SetName (int length);
7105  char const * GetName () const { return m_name; }
7107  char * GetName () { return m_name; }
7108 
7113  void SetSegment (char const * segment);
7118  void SetSegment (int length);
7122  char const * GetSegment () const { return m_segment; }
7127  char * GetSegment () { return m_segment; }
7128 };
7129 
7131 
7136 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
7137  protected:
7140  char * m_name;
7141  char * m_definition;
7143  public:
7145  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
7146  m_name_length (0), m_definition_length (0),
7147  m_name (0), m_definition (0) {}
7148  ~TK_Line_Style();
7149 
7152  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7153 
7154  TK_Status ReadAscii (BStreamFileToolkit & tk);
7155  TK_Status WriteAscii (BStreamFileToolkit & tk);
7156 
7157  void Reset ();
7158 
7160  void SetName (char const * name);
7162  void SetName (int length);
7164  char const * GetName () const { return m_name; }
7166  char * GetName () { return m_name; }
7167 
7169  void SetDefinition (char const * def);
7171  void SetDefinition (int length);
7173  char const * GetDefinition () const { return m_definition; }
7175  char * GetDefinition () { return m_definition; }
7176 };
7177 
7179 
7181 
7186 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
7187  protected:
7188  char m_options;
7189  float m_rect[4];
7191  public:
7194  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
7195 
7198  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7199 
7200  TK_Status ReadAscii (BStreamFileToolkit & tk);
7201  TK_Status WriteAscii (BStreamFileToolkit & tk);
7202 
7203  void Reset ();
7204 
7206  void SetRectangle (float left, float right, float bottom, float top)
7207  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
7209  void SetRectangle (float const * rect)
7210  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
7212  float const * GetRectangle () const { return m_rect; }
7213 
7215  void SetOptions (int o) { m_options = (char)o; }
7217  int GetOptions () const { return (int)m_options; }
7218 };
7219 
7221 
7223 
7228 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
7229  protected:
7230  char m_options;
7231  int m_count;
7232  float * m_points;
7233  double * m_dpoints;
7237  public:
7240  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0), m_complex (0) {}
7241  ~TK_Clip_Region();
7242 
7245  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7246 
7247  TK_Status ReadAscii (BStreamFileToolkit & tk);
7248  TK_Status WriteAscii (BStreamFileToolkit & tk);
7249 
7250  void Reset ();
7251 
7256  void SetPoints (int count, float const points[] = 0);
7258  float const * GetPoints () const { return m_points; }
7260  float * GetPoints () { return m_points; }
7261 
7266  void SetDPoints (int count, double const points[] = 0);
7268  double const * GetDPoints () const { return m_dpoints; }
7270  double * GetDPoints () { return m_dpoints; }
7271 
7272 
7274  int GetCount () const { return m_count; }
7275 
7276 
7278  void SetOptions (int o) { m_options = (char)o; }
7280  int GetOptions () const { return (int)m_options; }
7281 };
7282 
7283 
7285 
7287 
7292 class BBINFILETK_API TK_Complex_Clip_Region : public BBaseOpcodeHandler {
7293  protected:
7294  char m_options;
7295  int m_loops;
7296  int m_total;
7297  int * m_lengths;
7298  float * m_points;
7299  double * m_dpoints;
7301  public:
7304  : BBaseOpcodeHandler (TKE_Complex_Clip_Region), m_options (0), m_loops (0), m_total (0),
7305  m_lengths (0), m_points (0), m_dpoints (0) {}
7307 
7310  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7311 
7312  TK_Status ReadAscii (BStreamFileToolkit & tk);
7313  TK_Status WriteAscii (BStreamFileToolkit & tk);
7314 
7315  void Reset ();
7316 
7321  void SetPoints (int count, float const points[] = 0);
7323  float const * GetPoints () const { return m_points; }
7325  float * GetPoints () { return m_points; }
7326 
7331  void SetDPoints (int count, double const points[] = 0);
7333  double const * GetDPoints () const { return m_dpoints; }
7335  double * GetDPoints () { return m_dpoints; }
7336 
7337 
7342  void SetLengths (int count, int const lengths[] = 0);
7344  int const * GetLengths () const { return m_lengths; }
7346  int * GetLengths () { return m_lengths; }
7347 
7348 
7350  int GetTotal () const { return m_total; }
7352  int GetLoops () const { return m_loops; }
7353 
7354 
7356  void SetOptions (int o) { m_options = (char)o; }
7358  int GetOptions () const { return (int)m_options; }
7359 };
7360 
7361 
7363 
7365 
7381 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
7382  protected:
7383  int m_size;
7384  unsigned char * m_data;
7387  void set_data (int size, unsigned char const * bytes = 0);
7389 
7390  public:
7393  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
7394  ~TK_User_Data();
7395 
7398  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7399 
7400  TK_Status ReadAscii (BStreamFileToolkit & tk);
7401  TK_Status WriteAscii (BStreamFileToolkit & tk);
7402 
7404  void Reset ();
7405 
7410  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
7412  unsigned char const * GetUserData () const { return m_data; }
7414  unsigned char * GetUserData () { return m_data; }
7416  int GetSize () const { return m_size; }
7417 
7419  void Resize (int size);
7420 
7422  void SetSize (int size);
7423 };
7424 
7425 
7427 
7429 
7441 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
7442  protected:
7444 
7447  struct vlist_s *m_data;
7448 
7449  public:
7451  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
7452  ~TK_Material();
7453 
7456  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7457  void Reset ();
7458 
7459  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
7460  TK_Status GetBlock (char const **ptr, int *buffer_size);
7461 };
7462 
7464 
7469 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
7470  protected:
7471  int m_size;
7472  char * m_data;
7474  public:
7476  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
7477  ~TK_XML();
7478 
7481  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7482 
7483  TK_Status ReadAscii (BStreamFileToolkit & tk);
7484  TK_Status WriteAscii (BStreamFileToolkit & tk);
7485 
7487  void Reset ();
7488 
7493  void SetXML (int size, char const * data = 0);
7497  void AppendXML (int size, char const * data = 0);
7499  char const * GetXML () const { return m_data; }
7501  char * GetXML () { return m_data; }
7503  int GetSize () const { return m_size; }
7504 };
7505 
7506 
7507 
7509 
7515 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
7516  protected:
7517  int m_length;
7519  char * m_string;
7521  public:
7524  m_length (0), m_allocated (0), m_string (0) {}
7525  ~TK_URL();
7526 
7529  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7530 
7531  TK_Status ReadAscii (BStreamFileToolkit & tk);
7532  TK_Status WriteAscii (BStreamFileToolkit & tk);
7533 
7534  void Reset ();
7535 
7537  void SetString (char const * string);
7539  void SetString (int length);
7541  char const * GetString () const { return m_string; }
7543  char * GetString () { return m_string; }
7544 };
7545 
7546 
7548 
7554 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
7555  protected:
7556  int m_length;
7558  char * m_string;
7560  public:
7561  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
7562  m_length (0), m_allocated (0), m_string (0) {}
7564 
7567  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7568 
7569  TK_Status ReadAscii (BStreamFileToolkit & tk);
7570  TK_Status WriteAscii (BStreamFileToolkit & tk);
7571 
7573  void Reset ();
7574 
7576  void SetString (char const * string);
7578  void SetString (int length);
7580  char const * GetString () const { return m_string; }
7582  char * GetString () { return m_string; }
7583 };
7584 
7585 
7587 
7593 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
7594  protected:
7595  int m_length;
7597  wchar_t * m_string;
7599  public:
7600  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
7601  m_length (0), m_allocated (0), m_string (0) {}
7603 
7606  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7607 
7609  void Reset ();
7610 
7612  void SetString (__wchar_t const * string);
7613 #ifdef _MSC_VER
7614  void SetString (unsigned short const * string);
7615 #endif
7616 
7617  void SetString (int length);
7619  wchar_t const * GetString () const { return m_string; }
7621  wchar_t * GetString () { return m_string; }
7622 };
7623 
7624 
7625 #endif //BOPCODE_HANDLER
7626 
void SetOptions(int o)
Definition: BOpcodeHandler.h:5398
void SetAxis(float const s[], float const e[])
Definition: BOpcodeHandler.h:6105
char ** m_isoline_patterns
for internal use only.
Definition: BOpcodeHandler.h:2286
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:5009
char * GetString()
Definition: BOpcodeHandler.h:2171
void SetColorMarkerContrastLockMask(int m)
Definition: BOpcodeHandler.h:2824
float * m_control_points
Definition: BOpcodeHandler.h:5287
float const * GetRGB() const
Definition: BOpcodeHandler.h:1938
int m_nurbs_options_value
For internal use only.
Definition: BOpcodeHandler.h:2316
static TK_Status PutData(BStreamFileToolkit &tk, short const *s, int n)
Definition: BOpcodeHandler.h:343
shift corresponding to extended bit
Definition: BOpcodeEnums.h:276
int GetMask(int index=0) const
Definition: BOpcodeHandler.h:2423
int GetTechnology() const
Definition: BOpcodeHandler.h:2448
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2280
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:4418
int GetOptions() const
Definition: BOpcodeHandler.h:5149
for further expansion
Definition: BOpcodeEnums.h:1084
void SetPoints(float const s[], float const e[])
Definition: BOpcodeHandler.h:5186
ID_Key last_key(BStreamFileToolkit &tk) const
obsolete
Definition: BOpcodeHandler.h:640
int value
For internal use only.
Definition: BOpcodeHandler.h:1049
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:3906
int GetFlags() const
Definition: BOpcodeHandler.h:6868
void SetType(int t)
Definition: BOpcodeHandler.h:6393
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:217
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:7412
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:3842
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:7193
int m_name_length
Definition: BOpcodeHandler.h:7019
TK_Grid()
Definition: BOpcodeHandler.h:6305
int m_name_length
Definition: BOpcodeHandler.h:6648
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:3755
char * GetName()
Definition: BOpcodeHandler.h:6581
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:2476
int GetLodMinimumTriangleCount() const
Definition: BOpcodeHandler.h:3392
int GetFormat() const
Definition: BOpcodeHandler.h:6747
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:3834
float GetCutGeometryTolerance() const
Definition: BOpcodeHandler.h:3560
void SetDUpVector(double const u[])
Definition: BOpcodeHandler.h:4729
void SetVisibilityLockValue(int v)
Definition: BOpcodeHandler.h:2513
int const * GetSize() const
Definition: BOpcodeHandler.h:7000
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:614
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:4922
bool GetLogging() const
Definition: BStreamFileToolkit.h:1005
float * m_v_knots
Definition: BOpcodeHandler.h:5455
void SetPattern(int p)
Definition: BOpcodeHandler.h:4243
int color_value
For internal use only.
Definition: BOpcodeHandler.h:1051
channel m_bump
internal use
Definition: BOpcodeHandler.h:1731
short color_text_mask
For internal use only.
Definition: BOpcodeHandler.h:1060
unsigned short m_unsigned_short
temporary
Definition: BOpcodeHandler.h:81
char m_space
internal use
Definition: BOpcodeHandler.h:1952
int GetOffset() const
Definition: BOpcodeHandler.h:1690
int m_allocated
Definition: BOpcodeHandler.h:6963
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:1838
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5288
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1400
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:4726
void SetTransmission(float const rgb[])
Definition: BOpcodeHandler.h:1834
float const * GetField() const
Definition: BOpcodeHandler.h:4740
void SetLodFallback(int v)
Definition: BOpcodeHandler.h:3410
double * m_dpoints
Definition: BOpcodeHandler.h:6175
int GetCount() const
Definition: BOpcodeHandler.h:5576
char * GetCondition()
Definition: BOpcodeHandler.h:1420
static TK_Status GetData(BStreamFileToolkit &tk, short &s)
Definition: BOpcodeHandler.h:298
void SetComment(int length)
Definition: BOpcodeHandler.h:974
char const * GetCamera() const
Definition: BOpcodeHandler.h:6857
void SetColorMarkerContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3227
void SetOptions(int o)
Definition: BOpcodeHandler.h:7215
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char *b, int n)
Definition: BOpcodeHandler.h:286
int GetRadiusCount() const
Definition: BOpcodeHandler.h:6256
int const * GetIndices() const
Definition: BOpcodeHandler.h:4582
void SetColorLockValue(int v)
Definition: BOpcodeHandler.h:2536
static TK_Status PutData(BStreamFileToolkit &tk, char const *b, int n)
Definition: BOpcodeHandler.h:340
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:1842
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6725
int GetForcedLockValue() const
Definition: BOpcodeHandler.h:2899
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:3802
int m_count
internal use
Definition: BOpcodeHandler.h:5532
int m_lookup_length
Definition: BOpcodeHandler.h:6524
int m_shader_source_length
Definition: BOpcodeHandler.h:6777
void SetDRef1(double const r[])
Definition: BOpcodeHandler.h:6365
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5623
void SetGeneralDisplacement(int d)
Definition: BOpcodeHandler.h:2471
unsigned short mask
specifies which settings are active (i.e. the attributes for which we have an opinion at this point) ...
Definition: BOpcodeHandler.h:6412
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4503
bool NeedsTag() const
Definition: BOpcodeHandler.h:199
unsigned int NextOpcodeSequence()
Definition: BStreamFileToolkit.h:1036
int GetColorVertexLockMask() const
Definition: BOpcodeHandler.h:2760
TK_Header()
Definition: BOpcodeHandler.h:869
int m_values_length
internal use
Definition: BOpcodeHandler.h:2112
float const * GetWeights() const
Definition: BOpcodeHandler.h:5426
unsigned char m_degree
Definition: BOpcodeHandler.h:5378
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3071
void SetAmbientUpVector(float const v[])
Definition: BOpcodeHandler.h:3690
Capping_Options
Definition: BOpcodeHandler.h:6201
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:2364
char const * GetView() const
Definition: BOpcodeHandler.h:4787
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:4852
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:2817
unsigned char m_opcode
The opcode being handled by this particular object.
Definition: BOpcodeHandler.h:65
float const * GetPlane() const
Definition: BOpcodeHandler.h:5715
int GetTextRegionFitting() const
Definition: BOpcodeHandler.h:6506
float GetHlrFaceDisplacement() const
Definition: BOpcodeHandler.h:3336
int GetDebug() const
Definition: BOpcodeHandler.h:2458
int GetNURBSCurveBudget() const
Definition: BOpcodeHandler.h:3362
float const * GetAmbientUpVector() const
Definition: BOpcodeHandler.h:3692
char m_char
temporary
Definition: BOpcodeHandler.h:83
TK_Status PutGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:481
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:2875
static TK_Status GetData(BStreamFileToolkit &tk, short *s, int n)
Definition: BOpcodeHandler.h:254
int GetGeometry() const
Definition: BOpcodeHandler.h:2093
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:2466
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5206
int m_size
Definition: BOpcodeHandler.h:7383
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeEnums.h:1021
void SetFormat(int f)
Definition: BOpcodeHandler.h:6745
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:3388
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:4755
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:2651
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:4228
double * m_dpoints
Definition: BOpcodeHandler.h:7233
channel m_specular
internal use
Definition: BOpcodeHandler.h:1726
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:6991
float vertical_offset
offset, positive or negative, from the standard position. units are specified separately in vertical_...
Definition: BOpcodeHandler.h:6406
self-explanatory
Definition: BOpcodeEnums.h:263
char * m_shader_source
Definition: BOpcodeHandler.h:6773
int m_length
internal use
Definition: BOpcodeHandler.h:932
////
Definition: BOpcodeEnums.h:132
short color_face_value
For internal use only.
Definition: BOpcodeHandler.h:1053
void SetColorWindowForcedLockMask(int m)
Definition: BOpcodeHandler.h:3066
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:3303
float * GetPoints()
Definition: BOpcodeHandler.h:5484
short m_type
Definition: BOpcodeHandler.h:4366
unsigned char Opcode() const
Definition: BOpcodeHandler.h:164
void SetTechnology(int t)
Definition: BOpcodeHandler.h:2446
int m_surface_trim_budget
For internal use only.
Definition: BOpcodeHandler.h:2320
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:4709
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1247
int m_current_level
the index of the level currently in progress.
Definition: BOpcodeHandler.h:1505
char m_options
for internal use only
Definition: BOpcodeHandler.h:5600
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:5012
void increase_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:649
HT_NURBS_Trim * m_list
Definition: BOpcodeHandler.h:5384
void SetDPoints(double const p[])
Definition: BOpcodeHandler.h:5204
void SetTolerance(float t)
Definition: BOpcodeHandler.h:4915
int m_highest_level
keeps track of highest level lod that has been seen so far
Definition: BOpcodeHandler.h:1501
char * GetTransform()
Definition: BOpcodeHandler.h:6948
void SetSimpleShadowBlur(int m)
Definition: BOpcodeHandler.h:3578
float m_surface_max_facet_angle
For internal use only.
Definition: BOpcodeHandler.h:2322
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:3927
float m_radius
Definition: BOpcodeHandler.h:6082
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:4699
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:2944
int GetColorLineContrastLockMask() const
Definition: BOpcodeHandler.h:2806
char const * GetName() const
Definition: BOpcodeHandler.h:7105
void SetLodBounding(float const s[], float const e[])
Definition: BOpcodeHandler.h:3420
float m_hlr_weight
for internal use only.
Definition: BOpcodeHandler.h:2271
char * m_name
Definition: BOpcodeHandler.h:7069
void SetBufferOptionsMask(int v)
Definition: BOpcodeHandler.h:3295
int m_nurbs_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2315
float * m_control_points
Definition: BOpcodeHandler.h:5451
int m_loops
Definition: BOpcodeHandler.h:7295
void SetImage(int length)
Definition: BOpcodeHandler.h:6846
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1055
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6593
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1219
int GetPattern() const
Definition: BOpcodeHandler.h:4245
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:3925
float const * GetCenter() const
Definition: BOpcodeHandler.h:5991
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4031
int m_debug_allocated
Definition: BOpcodeHandler.h:70
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5571
int GetOrientationCount() const
Definition: BOpcodeHandler.h:3960
float const * GetPoints() const
Definition: BOpcodeHandler.h:7323
void SetDEnd(double const e[])
Definition: BOpcodeHandler.h:5830
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:2771
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:848
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:4441
static TK_Status GetData(BStreamFileToolkit &tk, float *f, int n)
Definition: BOpcodeHandler.h:270
void SetColorFaceLockMask(int m)
Definition: BOpcodeHandler.h:2548
int GetUSize() const
Definition: BOpcodeHandler.h:5495
short color_window_mask
For internal use only.
Definition: BOpcodeHandler.h:1062
int m_allocated
Definition: BOpcodeHandler.h:7596
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1613
void SetSelectionCulling(int c)
Definition: BOpcodeHandler.h:3826
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:6000
float m_max_distance
internal use; max distance
Definition: BOpcodeHandler.h:3760
void SetDPoints(double const s[], double const m[], double const e[], double const c[]=0)
Definition: BOpcodeHandler.h:5844
channel m_transmission
internal use
Definition: BOpcodeHandler.h:1728
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6079
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:5891
float m_radius
Definition: BOpcodeHandler.h:5962
void Reset(void)
Definition: BOpcodeHandler.h:5123
char const * GetBytes() const
Definition: BOpcodeHandler.h:6699
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1948
unsigned char m_flags
Definition: BOpcodeHandler.h:5960
char * m_string
internal use
Definition: BOpcodeHandler.h:2115
TK_Sphere()
Definition: BOpcodeHandler.h:5972
int GetTotal() const
Definition: BOpcodeHandler.h:7350
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:4534
double * GetDRadii()
Definition: BOpcodeHandler.h:6250
////
Definition: BOpcodeEnums.h:49
double * m_dpoints
Definition: BOpcodeHandler.h:7299
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:4962
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:3630
double * GetDOrigin()
Definition: BOpcodeHandler.h:6358
void SetInner(float i)
Definition: BOpcodeHandler.h:5652
unsigned char m_region_count
Definition: BOpcodeHandler.h:6439
TK_Conditional_Action()
Definition: BOpcodeHandler.h:4373
char const * GetImage() const
Definition: BOpcodeHandler.h:6848
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:5705
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeEnums.h:1319
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3135
int GetCount() const
Definition: BOpcodeHandler.h:5725
Handles the TKE_Termination and TKE_Pause opcodes.
Definition: BOpcodeHandler.h:996
unsigned short m_contour_options
for internal use only.
Definition: BOpcodeHandler.h:2275
char * m_condition
Definition: BOpcodeHandler.h:7076
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:5534
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:3846
TK_Thumbnail()
Definition: BOpcodeHandler.h:6969
void GetDTarget(double t[]) const
Definition: BOpcodeHandler.h:4713
void decrease_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:651
int GetLodNumCutoffs() const
Definition: BOpcodeHandler.h:3480
char m_options
relevant to TKE_Distant_Light and TKE_Local_Light only. See TKO_Light_Options.
Definition: BOpcodeHandler.h:5105
short color_vertex_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1078
int GetLodClamp() const
Definition: BOpcodeHandler.h:3400
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:2438
int GetHSR() const
Definition: BOpcodeHandler.h:2433
void SetLookup(int length)
Definition: BOpcodeHandler.h:6586
void SetChannels(int c)
Definition: BOpcodeHandler.h:1778
near limit setting
Definition: BOpcodeEnums.h:1054
float m_end_u
Definition: BOpcodeHandler.h:5383
void SetName(int length)
Definition: BOpcodeHandler.h:6577
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:5618
short color_window_value
For internal use only.
Definition: BOpcodeHandler.h:1063
float m_cut_geometry_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2347
float * m_points
Definition: BOpcodeHandler.h:5376
type for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:613
bool validate_count(int count, int limit=1<< 24) const
Definition: BOpcodeHandler.h:680
void SetShadowMap(int m)
Definition: BOpcodeHandler.h:3625
void SetEnd(float x, float y, float z)
Definition: BOpcodeHandler.h:5777
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6488
double * GetDPoints()
Definition: BOpcodeHandler.h:5488
int m_cond_allocated
Definition: BOpcodeHandler.h:1376
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:656
char * m_name
Definition: BOpcodeHandler.h:6772
char m_green_mapping
Definition: BOpcodeHandler.h:6787
char * GetSegment()
Definition: BOpcodeHandler.h:1331
int GetLockValue() const
Definition: BOpcodeHandler.h:2496
char * GetString()
Definition: BOpcodeHandler.h:7582
unsigned char m_encoding
Definition: BOpcodeHandler.h:6527
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:929
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1188
TK_Bounding(unsigned char opcode, double min[], double max[])
Definition: BOpcodeHandler.h:5070
Definition: BOpcodeHandler.h:4253
void SetBumpName(char const *name)
Definition: BOpcodeHandler.h:1871
void SetImageScale(float const s[])
Definition: BOpcodeHandler.h:3697
void SetOrtho(float const s[])
Definition: BOpcodeHandler.h:6017
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:2656
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1443
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:3673
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:4835
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5634
virtual void Reset()
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4029
void SetGloss(float g)
Definition: BOpcodeHandler.h:1880
char const * GetTransform() const
Definition: BOpcodeHandler.h:6946
TK_Delete_Object()
Definition: BOpcodeHandler.h:1474
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:5682
void SetCallback(int length)
Definition: BOpcodeHandler.h:2211
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:3844
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:3756
static TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:440
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4089
void SetAxis(float const a[])
Definition: BOpcodeHandler.h:6107
void SetValue(float const triple[])
Definition: BOpcodeHandler.h:1996
wchar_t * m_string
Definition: BOpcodeHandler.h:7597
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:3746
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:2956
int m_min_triangle_count
For internal use only.
Definition: BOpcodeHandler.h:2304
short color_line_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1075
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1372
short color_cut_face_value
For internal use only.
Definition: BOpcodeHandler.h:1085
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
void SetDAxis(double const s[])
Definition: BOpcodeHandler.h:6044
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:5748
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:3892
int m_flags
Definition: BOpcodeHandler.h:6780
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:3930
int GetType() const
Definition: BOpcodeHandler.h:6560
static TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:313
char m_layout
Definition: BOpcodeHandler.h:6791
static int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:500
int GetColorLineLockMask() const
Definition: BOpcodeHandler.h:2599
int GetForceDefer() const
Definition: BOpcodeHandler.h:3911
char * GetXML()
Definition: BOpcodeHandler.h:7501
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3209
double const * GetDPosition() const
Definition: BOpcodeHandler.h:4691
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4027
float * m_points
Definition: BOpcodeHandler.h:5224
int GetOptions() const
Definition: BOpcodeHandler.h:7217
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:2436
int GetMoveDown() const
Definition: BOpcodeHandler.h:4094
Definition: BOpcodeEnums.h:344
double const * GetDField() const
Definition: BOpcodeHandler.h:4749
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:3663
unsigned char m_format
Definition: BOpcodeHandler.h:6965
static TK_Status PutData(BStreamFileToolkit &tk, int const *i, int n)
Definition: BOpcodeHandler.h:364
unsigned char General_Flags() const
Definition: BOpcodeHandler.h:167
void SetRadius(float radius)
Definition: BOpcodeHandler.h:6223
int m_count
Definition: BOpcodeHandler.h:6441
int m_count
Definition: BOpcodeHandler.h:5375
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:3807
int GetDegree() const
Definition: BOpcodeHandler.h:5422
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7017
static void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:525
int m_size
Definition: BOpcodeHandler.h:7471
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3261
void SetView(char const *name)
Definition: BOpcodeHandler.h:4783
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2387
int m_knot_count_implicit
Definition: BOpcodeHandler.h:5286
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:64
self-explanatory
Definition: BOpcodeEnums.h:1166
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:4679
short color_marker_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1077
int GetCaps() const
Definition: BOpcodeHandler.h:6264
int m_allocated
Definition: BOpcodeHandler.h:6433
void SetIndex(float val)
Definition: BOpcodeHandler.h:2096
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:3799
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:6653
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:3492
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:6338
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1662
void SetEnd(float const e[])
Definition: BOpcodeHandler.h:5781
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:2335
char m_options
Definition: BOpcodeHandler.h:7294
Handles the TKE_Tag opcode.
Definition: BOpcodeHandler.h:1598
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int *i, int n)
Definition: BOpcodeHandler.h:292
Definition: BStreamFileToolkit.h:34
float m_dihedral
For internal use only.
Definition: BOpcodeHandler.h:2377
int GetVisibilityLockValue() const
Definition: BOpcodeHandler.h:2518
float * m_u_knots
Definition: BOpcodeHandler.h:5454
int GetUnits() const
Definition: BOpcodeHandler.h:4219
extra item for selectability; refer to ::HC_Set_Selectability for a description
Definition: BOpcodeEnums.h:221
unsigned char * m_bytes
Definition: BOpcodeHandler.h:6962
int m_count
Definition: BOpcodeHandler.h:6173
void SetIndex(int i)
Definition: BOpcodeHandler.h:1263
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:3887
unsigned int m_options
Definition: BOpcodeHandler.h:6651
unsigned char m_hlr_hsr_algorithm
for internal use only.
Definition: BOpcodeHandler.h:2273
void SetAntiAlias(int m)
Definition: BOpcodeHandler.h:3719
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6733
float const * GetWeights() const
Definition: BOpcodeHandler.h:5328
float m_depth_peeling_min_area
For internal use only.
Definition: BOpcodeHandler.h:2382
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:2967
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1648
void SetLockMask(int m)
Definition: BOpcodeHandler.h:2489
void SetParameterSource(int p)
Definition: BOpcodeHandler.h:6871
extended bit
Definition: BOpcodeEnums.h:1359
char const * GetName() const
Definition: BOpcodeHandler.h:6579
void SetValue(int v)
Definition: BOpcodeHandler.h:3792
char * m_image
Definition: BOpcodeHandler.h:6774
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:4856
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7136
char m_options
Definition: BOpcodeHandler.h:7188
int GetApplicationMode() const
Definition: BOpcodeHandler.h:6928
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:2317
float * GetRef2()
Definition: BOpcodeHandler.h:6346
int GetColorWindowLockMask() const
Definition: BOpcodeHandler.h:2668
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:5052
int m_name_length
Definition: BOpcodeHandler.h:7068
int GetLength()
Definition: BOpcodeHandler.h:4488
float m_value
for internal use only.
Definition: BOpcodeHandler.h:4196
char * m_name
internal use: name
Definition: BOpcodeHandler.h:4256
void SetCaps(int f)
Definition: BOpcodeHandler.h:6262
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:3378
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:5007
void SetNames(int length)
Definition: BOpcodeHandler.h:4898
void SetNURBSSurfaceBudget(int b)
Definition: BOpcodeHandler.h:3368
TK_Tag(unsigned char opcode=TKE_Tag)
Definition: BOpcodeHandler.h:1603
int GetOptions() const
Definition: BOpcodeHandler.h:5514
int m_count
for internal use only
Definition: BOpcodeHandler.h:4500
char * m_transform
Definition: BOpcodeHandler.h:6795
char * m_name
Definition: BOpcodeHandler.h:4648
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:1857
char const * GetSegment() const
Definition: BOpcodeHandler.h:7122
void SetOblique(float const o[])
Definition: BOpcodeHandler.h:4761
void SetSize(int const s[])
Definition: BOpcodeHandler.h:6740
short color_marker_value
For internal use only.
Definition: BOpcodeHandler.h:1059
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:2921
void SetColorFaceLockValue(int v)
Definition: BOpcodeHandler.h:2559
unsigned char m_renumbered_scope
for internal use only
Definition: BOpcodeHandler.h:1289
int m_int
temporary
Definition: BOpcodeHandler.h:82
short color_line_value
For internal use only.
Definition: BOpcodeHandler.h:1057
TK_Status Tag(BStreamFileToolkit &tk, int variant=-1) const
Definition: BOpcodeHandler.h:182
int GetSize() const
Definition: BOpcodeHandler.h:7503
int visibility_value
For internal use only.
Definition: BOpcodeHandler.h:1089
float * m_isoline_positions
for internal use only.
Definition: BOpcodeHandler.h:2282
int m_to_index
internal use
Definition: BOpcodeHandler.h:1444
void SetDPoints(double const s[], double const e[])
Definition: BOpcodeHandler.h:5200
int GetEncoding() const
Definition: BOpcodeHandler.h:6595
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int &i)
Definition: BOpcodeHandler.h:310
int GetAntiAlias() const
Definition: BOpcodeHandler.h:3721
char const * GetReference() const
Definition: BOpcodeHandler.h:6717
int GetSimpleShadowResolution() const
Definition: BOpcodeHandler.h:3585
char m_red_mapping
Definition: BOpcodeHandler.h:6786
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6722
int m_segment_length
Definition: BOpcodeHandler.h:7071
static TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:458
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:3440
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:6770
int m_allocated
Definition: BOpcodeHandler.h:1163
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
unsigned char m_options
Definition: BOpcodeHandler.h:5379
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1278
TK_Clip_Region()
Definition: BOpcodeHandler.h:7239
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:2553
void SetNURBSOptionsValue(int v)
Definition: BOpcodeHandler.h:3356
void SetColorWindowContrastLockMask(int m)
Definition: BOpcodeHandler.h:2709
void SetMirror(float r, float g, float b)
Definition: BOpcodeHandler.h:1817
int m_length
Definition: BOpcodeHandler.h:4647
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:2910
void SetFogLimits(float const l[])
Definition: BOpcodeHandler.h:2483
float const * GetTarget() const
Definition: BOpcodeHandler.h:4701
void SetValue(int v0, int v1=0, int v2=0)
Definition: BOpcodeHandler.h:2426
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:6327
TK_Close_Segment()
Definition: BOpcodeHandler.h:1222
int GetColorTextForcedLockMask() const
Definition: BOpcodeHandler.h:3048
int GetColorWindowContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3128
TK_Unicode_Options()
Definition: BOpcodeHandler.h:4467
self-explanatory
Definition: BOpcodeEnums.h:1328
float const * GetValue() const
Definition: BOpcodeHandler.h:1998
void SetSelectionBias(int c)
Definition: BOpcodeHandler.h:3830
float const * GetViewVolume() const
Definition: BOpcodeHandler.h:3873
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:234
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1054
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4052
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:5412
float * GetLodThresholds()
Definition: BOpcodeHandler.h:3466
void SetColorLineContrastLockValue(int v)
Definition: BOpcodeHandler.h:2812
int m_index
internal use: simple value for recognised old forms
Definition: BOpcodeHandler.h:4257
void Set_General_Flags(int f)
Definition: BOpcodeHandler.h:170
float const * GetOblique() const
Definition: BOpcodeHandler.h:4763
color by index
Definition: BOpcodeEnums.h:268
int m_mask
internal use
Definition: BOpcodeHandler.h:1898
void SetDAxis(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:6122
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3163
float m_gloss
internal use
Definition: BOpcodeHandler.h:1732
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1497
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5628
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:2686
char const * GetBumpName() const
Definition: BOpcodeHandler.h:1875
int GetGeneralDisplacement() const
Definition: BOpcodeHandler.h:2473
int GetGreekingMode() const
Definition: BOpcodeHandler.h:4972
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:4859
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1073
float * GetPoints()
Definition: BOpcodeHandler.h:7260
void SetString(char const *string)
Definition: BOpcodeHandler.h:6464
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6485
TK_Bounding(unsigned char opcode, float min[], float max[])
Definition: BOpcodeHandler.h:5058
void SetOptions(int o)
Definition: BOpcodeHandler.h:5662
int m_max_degree
For internal use only.
Definition: BOpcodeHandler.h:2307
void SetLodRatios(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3431
float GetNearLimit() const
Definition: BOpcodeHandler.h:4773
TK_Font()
Definition: BOpcodeHandler.h:6542
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:2366
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:1868
float const * GetStart() const
Definition: BOpcodeHandler.h:5801
float * GetPoints()
Definition: BOpcodeHandler.h:5252
int GetValue() const
Definition: BOpcodeHandler.h:4893
float const * GetPoints() const
Definition: BOpcodeHandler.h:6213
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5368
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3220
void SetColorLineLockMask(int m)
Definition: BOpcodeHandler.h:2594
void SetValue(float a, float b, float c)
Definition: BOpcodeHandler.h:1992
void SetLayout(int l)
Definition: BOpcodeHandler.h:5017
float * GetPoints()
Definition: BOpcodeHandler.h:5563
TK_Conditions()
Definition: BOpcodeHandler.h:4332
double GetDRadius() const
Definition: BOpcodeHandler.h:6035
unsigned char m_tessellations
For internal use only.
Definition: BOpcodeHandler.h:2332
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:4706
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:3348
channel m_mirror
internal use
Definition: BOpcodeHandler.h:1727
int GetOptions() const
Definition: BOpcodeHandler.h:5424
void SetColorLineContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3215
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6236
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:1827
int GetLodNumLevels() const
Definition: BOpcodeHandler.h:3396
float m_curve_max_angle
For internal use only.
Definition: BOpcodeHandler.h:2325
float GetWidthScale() const
Definition: BOpcodeHandler.h:4937
void SetMajor(float const m[])
Definition: BOpcodeHandler.h:5900
void GetUpVector(float u[]) const
Definition: BOpcodeHandler.h:4723
float * m_knots
Definition: BOpcodeHandler.h:5381
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:2374
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5452
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:6011
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5642
TK_Color_By_Value()
Definition: BOpcodeHandler.h:1956
void SetEnd(float e)
Definition: BOpcodeHandler.h:5335
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:3616
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1379
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2184
char const * GetString() const
Definition: BOpcodeHandler.h:7541
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:5014
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:6246
void SetMiddle(float const m[])
Definition: BOpcodeHandler.h:5773
char * GetName()
Definition: BOpcodeHandler.h:7166
void SetCulling(int c)
Definition: BOpcodeHandler.h:3822
TK_File_Info()
Definition: BOpcodeHandler.h:898
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:4853
void GetDField(double f[]) const
Definition: BOpcodeHandler.h:4751
float GetRotation() const
Definition: BOpcodeHandler.h:4927
char * m_name
Definition: BOpcodeHandler.h:7021
void SetTransmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1832
HT_NURBS_Trim * m_trims
Definition: BOpcodeHandler.h:5457
unsigned char m_region_options
Definition: BOpcodeHandler.h:6437
self-explanatory
Definition: BOpcodeEnums.h:267
void SetVisibilityLockMask(int m)
Definition: BOpcodeHandler.h:2502
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:4731
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1160
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:2587
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:2329
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:4255
double m_dradius
Definition: BOpcodeHandler.h:5966
int GetType() const
Definition: BOpcodeHandler.h:6395
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2252
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:4844
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:6584
double * GetDPoints()
Definition: BOpcodeHandler.h:5260
void SetIndices(int count)
Definition: BOpcodeHandler.h:4576
void SetOptions(int o)
Definition: BOpcodeHandler.h:7356
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:5905
float GetExtraSpace() const
Definition: BOpcodeHandler.h:4942
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:3537
void SetOptions(int o)
Definition: BOpcodeHandler.h:5338
float * GetWeights()
Definition: BOpcodeHandler.h:5329
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const &b)
Definition: BOpcodeHandler.h:449
int GetFlags()
Definition: BOpcodeHandler.h:916
char * GetDiffuseName()
Definition: BOpcodeHandler.h:1799
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:3897
void SetStart(float s)
Definition: BOpcodeHandler.h:5333
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:6442
bump map
Definition: BOpcodeEnums.h:271
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7052
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1253
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:6901
short color_marker_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1076
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:905
TK_Area_Light()
Definition: BOpcodeHandler.h:5542
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:2367
TK_Cylinder()
Definition: BOpcodeHandler.h:6089
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:2840
float const * GetMirror() const
Definition: BOpcodeHandler.h:1825
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1543
int m_length
Definition: BOpcodeHandler.h:7595
unsigned char m_optionals
Definition: BOpcodeHandler.h:5283
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:2341
format mask
Definition: BOpcodeEnums.h:1311
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:5958
channel m_emission
internal use
Definition: BOpcodeHandler.h:1729
static TK_Status GetData(BStreamFileToolkit &tk, double &d)
Definition: BOpcodeHandler.h:316
float m_curve_max_deviation
For internal use only.
Definition: BOpcodeHandler.h:2326
int m_name_length
Definition: BOpcodeHandler.h:6776
void SetRef2(float const r[])
Definition: BOpcodeHandler.h:6342
float const * GetSpecular() const
Definition: BOpcodeHandler.h:1810
void SetOptions(int o)
Definition: BOpcodeHandler.h:7278
TK_User_Index()
Definition: BOpcodeHandler.h:4509
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:4857
float const * GetMajor() const
Definition: BOpcodeHandler.h:5902
short m_options
Definition: BOpcodeHandler.h:4367
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4498
short color_simple_reflection_value
For internal use only.
Definition: BOpcodeHandler.h:1083
int GetOptions() const
Definition: BOpcodeHandler.h:5339
short color_window_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1066
unsigned char m_num_levels
For internal use only.
Definition: BOpcodeHandler.h:2306
TK_Renumber(unsigned char opcode, ID_Key key=0)
Definition: BOpcodeHandler.h:1577
double * GetDPoints()
Definition: BOpcodeHandler.h:5324
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:4945
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6730
int m_mask
internal use
Definition: BOpcodeHandler.h:2060
double const * GetDStart() const
Definition: BOpcodeHandler.h:6133
float m_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2308
Definition: BStream.h:282
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:4970
mask of bits requiring extended
Definition: BOpcodeEnums.h:776
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6135
int m_data_size
Definition: BOpcodeHandler.h:6647
int GetCutGeometry() const
Definition: BOpcodeHandler.h:3545
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6416
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:2835
int GetOptions() const
Definition: BOpcodeHandler.h:4403
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short *s, int n)
Definition: BOpcodeHandler.h:289
void SetDMatrix(double const m[])
Definition: BOpcodeHandler.h:4148
unsigned char m_options
Definition: BOpcodeHandler.h:6436
Definition: BOpcodeHandler.h:820
char * m_condition
Definition: BOpcodeHandler.h:1285
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:6639
void SetPlane(float const p[])
Definition: BOpcodeHandler.h:5710
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:3580
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:3812
float * GetPoints()
Definition: BOpcodeHandler.h:7325
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6518
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4460
int * GetIndices()
Definition: BOpcodeHandler.h:4532
void SetView(int length)
Definition: BOpcodeHandler.h:4785
int GetShadowMap() const
Definition: BOpcodeHandler.h:3627
Internal_Translator::Index_Key_Pair * m_item
internal use; cache lookup in Pending cases
Definition: BOpcodeHandler.h:1634
float m_inner
for internal use only
Definition: BOpcodeHandler.h:5598
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1093
float * m_weights
Definition: BOpcodeHandler.h:5289
void SetCenter(float const c[])
Definition: BOpcodeHandler.h:5790
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:3553
void SetPoints(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5559
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6027
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5639
int const * GetIndices() const
Definition: BOpcodeHandler.h:4530
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:3809
void SetProjection(int p)
Definition: BOpcodeHandler.h:4777
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:6903
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:891
TK_Status PutOpcode(BStreamFileToolkit &tk, int adjust=1)
Definition: BOpcodeHandler.h:464
BBaseOpcodeHandler * m_current_object
internal use
Definition: BOpcodeHandler.h:865
float m_end
Definition: BOpcodeHandler.h:5292
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6490
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1703
double * GetDPoints()
Definition: BOpcodeHandler.h:5573
void SetColorWindowLockValue(int v)
Definition: BOpcodeHandler.h:2674
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:3739
int m_value
specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:4836
Definition: BOpcodeHandler.h:1046
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6029
void SetSimpleShadowLight(float x, float y, float z)
Definition: BOpcodeHandler.h:3588
unsigned char m_simple_shadow_blur
For internal use only.
Definition: BOpcodeHandler.h:2350
char m_decimation
Definition: BOpcodeHandler.h:6785
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:3488
void SetFormat(int f)
Definition: BOpcodeHandler.h:7003
int GetSimpleReflectionVisibilityValue() const
Definition: BOpcodeHandler.h:3665
char m_threshold_type
For internal use only.
Definition: BOpcodeHandler.h:2303
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:5737
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:2894
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:2714
int GetBlueMapping() const
Definition: BOpcodeHandler.h:6898
int const * GetSize() const
Definition: BOpcodeHandler.h:6742
int * GetIndices()
Definition: BOpcodeHandler.h:4585
void SetHlrLinePattern(int p)
Definition: BOpcodeHandler.h:3338
short color_window_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1067
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:2979
void SetSlant(float s)
Definition: BOpcodeHandler.h:4930
void SetViewVolume(float const v[])
Definition: BOpcodeHandler.h:3884
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:3866
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:2905
int GetCount() const
Definition: BOpcodeHandler.h:7274
char * GetName()
Definition: BOpcodeHandler.h:6710
float GetSlant() const
Definition: BOpcodeHandler.h:4932
void SetSimpleShadowLight(float const l[])
Definition: BOpcodeHandler.h:3594
void set_points(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5228
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:5626
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3140
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1064
Definition: BStream.h:256
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:5055
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4116
TK_Compression(char opcode)
Definition: BOpcodeHandler.h:1028
void SetColorFaceContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3089
Definition: BOpcodeHandler.h:4226
float * GetPoints()
Definition: BOpcodeHandler.h:5420
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:4841
char * GetNames()
Definition: BOpcodeHandler.h:4902
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:4854
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:4201
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:933
void SetIndices(int count, int const indices[], void const *values[], int const sizes[])
Definition: BOpcodeHandler.h:4571
TK_XML()
Definition: BOpcodeHandler.h:7476
void SetLodClamp(int v)
Definition: BOpcodeHandler.h:3398
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const &i)
Definition: BOpcodeHandler.h:455
void SetFogLimits(float n, float f)
Definition: BOpcodeHandler.h:2481
void SetQuantization(int q)
Definition: BOpcodeHandler.h:2451
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:5852
char m_lod_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2298
void SetMirrorName(char const *name)
Definition: BOpcodeHandler.h:1821
Handles the TKE_URL opcodes.
Definition: BOpcodeHandler.h:7515
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5530
int GetMask() const
Definition: BOpcodeHandler.h:4888
float const * GetImageScale() const
Definition: BOpcodeHandler.h:3699
void SetOrigin(float const o[])
Definition: BOpcodeHandler.h:6320
void SetSimpleReflectionOpacity(float o)
Definition: BOpcodeHandler.h:3658
int GetIndex()
Definition: BOpcodeHandler.h:1486
char * GetShaderSource()
Definition: BOpcodeHandler.h:6841
double const * GetDRef2() const
Definition: BOpcodeHandler.h:6378
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:3372
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:2468
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:5674
float const * GetPosition() const
Definition: BOpcodeHandler.h:4681
int GetColorLineLockValue() const
Definition: BOpcodeHandler.h:2610
float * GetUKnots()
Definition: BOpcodeHandler.h:5505
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:3904
int GetRedMapping() const
Definition: BOpcodeHandler.h:6888
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:3566
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
int GetColorVertexContrastLockMask() const
Definition: BOpcodeHandler.h:2852
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:4689
int GetOptions() const
Definition: BOpcodeHandler.h:7358
void SetLodThresholdType(int v)
Definition: BOpcodeHandler.h:3447
self-explanatory
Definition: BOpcodeEnums.h:266
void SetName(int length)
Definition: BOpcodeHandler.h:6828
TK_Callback()
Definition: BOpcodeHandler.h:2196
int const * GetPreferences() const
Definition: BOpcodeHandler.h:5004
float const * GetKnots() const
Definition: BOpcodeHandler.h:5330
TK_Complex_Clip_Region()
Definition: BOpcodeHandler.h:7303
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:6896
int GetParameterOffset() const
Definition: BOpcodeHandler.h:6933
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7066
double * GetDRef1()
Definition: BOpcodeHandler.h:6369
void **const GetValues() const
Definition: BOpcodeHandler.h:4588
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:3384
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3266
float m_surface_max_facet_deviation
For internal use only.
Definition: BOpcodeHandler.h:2323
int GetTargetVersion() const
Definition: BStreamFileToolkit.h:986
void SetScreenRange(float l, float r, float b, float t)
Definition: BOpcodeHandler.h:3677
int m_allocated
internal use
Definition: BOpcodeHandler.h:934
float const * GetRef1() const
Definition: BOpcodeHandler.h:6333
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:4988
float GetLodTolerance() const
Definition: BOpcodeHandler.h:3408
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:4846
//– would like this to be obsolete, but...
Definition: BOpcodeEnums.h:150
int GetColorBackLockMask() const
Definition: BOpcodeHandler.h:2737
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:2691
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:3864
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:6279
void SetField(float const f[])
Definition: BOpcodeHandler.h:4738
int GetIndex() const
Definition: BOpcodeHandler.h:1265
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:6695
char const * GetConditions() const
Definition: BOpcodeHandler.h:4349
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:4484
void SetIndex(float i)
Definition: BOpcodeHandler.h:1884
char * GetConditions()
Definition: BOpcodeHandler.h:4351
void SetMatrix(float const m[])
Definition: BOpcodeHandler.h:4144
self-explanatory
Definition: BOpcodeEnums.h:1052
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1569
float slant
the angle (in degrees) that text is slanted (e.g. for italic). Positive numbers correspond to clockwi...
Definition: BOpcodeHandler.h:6408
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7292
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:3635
void SetOptions(int o)
Definition: BOpcodeHandler.h:5147
char * m_string
Definition: BOpcodeHandler.h:7558
short color_back_value
For internal use only.
Definition: BOpcodeHandler.h:1069
unsigned char m_present
internal use
Definition: BOpcodeHandler.h:1631
void SetDecimation(int p)
Definition: BOpcodeHandler.h:6881
void SetName(int length)
Definition: BOpcodeHandler.h:6706
void SetName(char const *string)
Definition: BOpcodeHandler.h:6575
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7173
int GetInterpolation() const
Definition: BOpcodeHandler.h:6878
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:4858
char const * GetCallback() const
Definition: BOpcodeHandler.h:2213
TK_User_Options()
Definition: BOpcodeHandler.h:4427
unsigned char m_region_fit
Definition: BOpcodeHandler.h:6438
double * m_dpoints
Definition: BOpcodeHandler.h:5225
int m_selection_culling
internal use; selection culling options
Definition: BOpcodeHandler.h:3750
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:4845
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2065
char * GetName()
Definition: BOpcodeHandler.h:7107
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:6409
void SetField(float w, float h)
Definition: BOpcodeHandler.h:4736
int GetCount() const
Definition: BOpcodeHandler.h:4579
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4030
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:4486
char * GetCallback()
Definition: BOpcodeHandler.h:2215
float const * GetVector() const
Definition: BOpcodeHandler.h:3854
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6477
int GetSize() const
Definition: BOpcodeHandler.h:1686
int GetDown() const
Definition: BOpcodeHandler.h:4072
bool Find_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:677
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:3850
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:3522
static void fix_in(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:550
float m_rgb[3]
The RGB value of the color for this channel.
Definition: BOpcodeHandler.h:1713
int GetGeometry() const
Definition: BOpcodeHandler.h:4004
TK_Spot_Light()
Definition: BOpcodeHandler.h:5604
void SetImageTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3706
void SetOuter(float o)
Definition: BOpcodeHandler.h:5647
void SetSize(int size)
Definition: BOpcodeHandler.h:1684
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:3856
float GetHlrDimFactor() const
Definition: BOpcodeHandler.h:3332
float m_compression_quality
Definition: BOpcodeHandler.h:6657
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6480
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1052
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:6906
BBaseOpcodeHandler *** m_primitives
for each level, an array of opcode handler pointers that store the primitives
Definition: BOpcodeHandler.h:1500
void SetUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4716
int m_camera_length
Definition: BOpcodeHandler.h:6779
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1445
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:7469
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6735
ID_Key remove_segment(BStreamFileToolkit &tk)
for internal use only
Definition: BOpcodeHandler.h:636
TK_Terminator(char opcode, bool is_file_terminator=true)
Definition: BOpcodeHandler.h:999
extended bit
Definition: BOpcodeEnums.h:269
short color_line_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1074
char * m_bytes
Definition: BOpcodeHandler.h:6641
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:7554
Definition: BOpcodeHandler.h:4167
TK_Material()
Definition: BOpcodeHandler.h:7451
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:3643
virtual TK_Status Error(char const *msg=0) const
int m_allocated
Definition: BOpcodeHandler.h:5223
TK_Bounding(unsigned char opcode, float center[], float radius)
Definition: BOpcodeHandler.h:5064
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:2349
void SetFlags(int f)
Definition: BOpcodeHandler.h:6862
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1916
char * GetName()
Definition: BOpcodeHandler.h:6832
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:2939
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1440
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:3558
void SetHSR(int h)
Definition: BOpcodeHandler.h:2431
int GetLength()
Definition: BOpcodeHandler.h:4353
void SetName(char const *string)
Definition: BOpcodeHandler.h:6704
char * m_string
Definition: BOpcodeHandler.h:2187
int GetSimpleShadow() const
Definition: BOpcodeHandler.h:3575
void SetLodCutoffs(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3471
int m_count
Definition: BOpcodeHandler.h:5222
int const * GetSizes() const
Definition: BOpcodeHandler.h:4594
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:3524
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3025
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:5400
for further expansion
Definition: BOpcodeEnums.h:1083
char m_num_cutoffs
For internal use only.
Definition: BOpcodeHandler.h:2310
void Remember_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:675
int m_debug_length
Definition: BOpcodeHandler.h:69
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1969
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:5281
void SetDiffuseTextureTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3711
int GetEncoding() const
Definition: BOpcodeHandler.h:6495
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4325
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:3804
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:2324
char m_blue_mapping
Definition: BOpcodeHandler.h:6788
float * m_points
Definition: BOpcodeHandler.h:6174
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:3469
unsigned char m_optionals
Definition: BOpcodeHandler.h:5448
int GetColorTextContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3278
unsigned char m_shadow_map_samples
For internal use only.
Definition: BOpcodeHandler.h:2359
int GetTextRegionOptions() const
Definition: BOpcodeHandler.h:6504
double const * GetDMajor() const
Definition: BOpcodeHandler.h:5930
int m_value
internal use; specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:3975
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:7410
void SetNames(char const *names)
Definition: BOpcodeHandler.h:4896
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:5195
char * m_names
for internal use only
Definition: BOpcodeHandler.h:4838
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:5399
void SetLodNumLevels(int v)
Definition: BOpcodeHandler.h:3394
int GetGeometry() const
Definition: BOpcodeHandler.h:2044
TK_Dictionary_Locater()
Definition: BOpcodeHandler.h:1669
env map
Definition: BOpcodeEnums.h:270
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:3814
static TK_Status GetData(BStreamFileToolkit &tk, int &i)
Definition: BOpcodeHandler.h:301
float const * GetMatrix() const
Definition: BOpcodeHandler.h:4152
////
Definition: BOpcodeEnums.h:147
int m_index
Definition: BOpcodeHandler.h:1374
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:6405
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:187
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:3330
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:4173
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2262
int * GetCounts()
Definition: BOpcodeHandler.h:6390
float * GetRadii()
Definition: BOpcodeHandler.h:6227
char const * GetXML() const
Definition: BOpcodeHandler.h:7499
int m_offset
internal use
Definition: BOpcodeHandler.h:1665
void SetStart(float const s[])
Definition: BOpcodeHandler.h:5765
char m_alpha_mapping
Definition: BOpcodeHandler.h:6789
unsigned char m_buffer_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2261
void SetBufferOptionsValue(int v)
Definition: BOpcodeHandler.h:3299
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:434
float GetInner() const
Definition: BOpcodeHandler.h:5654
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:4847
int m_mask
internal use; specifies which visibility settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:3974
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3008
char * m_comment
internal use
Definition: BOpcodeHandler.h:936
int GetSelectionCulling() const
Definition: BOpcodeHandler.h:3828
float * m_points
Definition: BOpcodeHandler.h:7232
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:5677
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:3505
int GetExtras() const
Definition: BOpcodeHandler.h:3819
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:4855
static short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:496
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:2463
float GetEnd() const
Definition: BOpcodeHandler.h:5336
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:5233
void SetDepthRange(float const l[])
Definition: BOpcodeHandler.h:3671
void SetSpecularName(int length)
Definition: BOpcodeHandler.h:1808
int GetLoops() const
Definition: BOpcodeHandler.h:7352
float m_simple_reflection_opacity
For internal use only.
Definition: BOpcodeHandler.h:2363
channel m_environment
internal use; note: environment & bump are never a simple RGB type color
Definition: BOpcodeHandler.h:1730
void SetRadius(float r)
Definition: BOpcodeHandler.h:6116
short color_text_value
For internal use only.
Definition: BOpcodeHandler.h:1061
void SetOffset(int offset)
Definition: BOpcodeHandler.h:1688
void SetPreference(int r)
Definition: BOpcodeHandler.h:4997
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:3753
int GetSelectionBias() const
Definition: BOpcodeHandler.h:3832
unsigned char m_clamp
For internal use only.
Definition: BOpcodeHandler.h:2305
int GetValue() const
Definition: BOpcodeHandler.h:4015
bool GetFollow()
Definition: BOpcodeHandler.h:1426
void SetColorWindowContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3123
float * GetKnots()
Definition: BOpcodeHandler.h:5331
void SetVisibilityForcedLockValue(int v)
Definition: BOpcodeHandler.h:2916
float const * GetOrientation() const
Definition: BOpcodeHandler.h:3962
int GetQuantization() const
Definition: BOpcodeHandler.h:2453
char * GetTransmissionName()
Definition: BOpcodeHandler.h:1844
void SetColorTextContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3284
TK_User_Value()
Definition: BOpcodeHandler.h:4613
int m_cond_length
Definition: BOpcodeHandler.h:7074
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:2755
char * GetCondition()
Definition: BOpcodeHandler.h:4392
int GetColorVertexContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3255
int * GetSizes()
Definition: BOpcodeHandler.h:4597
void SetLodBounding(float const p[])
Definition: BOpcodeHandler.h:3424
//// pseudo-handler (non-zero value)
Definition: BOpcodeEnums.h:156
void SetValue(HLONG v)
Definition: BOpcodeHandler.h:4624
int const * GetLengths() const
Definition: BOpcodeHandler.h:7344
char * GetLookup()
Definition: BOpcodeHandler.h:6590
float const * GetPoints() const
Definition: BOpcodeHandler.h:5192
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:2974
int m_count
Definition: BOpcodeHandler.h:7231
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:5942
void SetIndices(int count, int const indices[], POINTER_SIZED_INT const values[])
Definition: BOpcodeHandler.h:4523
unsigned char m_flags
Definition: BOpcodeHandler.h:6179
int GetAction() const
Definition: BOpcodeHandler.h:4399
float GetSimpleShadowOpacity() const
Definition: BOpcodeHandler.h:3621
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:5818
void GetField(float f[]) const
Definition: BOpcodeHandler.h:4742
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:3797
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1548
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:3840
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7186
void SetLockValue(int v)
Definition: BOpcodeHandler.h:2494
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:3838
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:2313
unsigned char m_compression
Definition: BOpcodeHandler.h:6652
char const * GetCondition() const
Definition: BOpcodeHandler.h:1347
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:4833
int GetLodOptionsMask() const
Definition: BOpcodeHandler.h:3380
struct vlist_s * m_current_working
holds the geometry list in progress. struct vlist_s the incomplete type for vlist_t (used until vlist...
Definition: BOpcodeHandler.h:1504
int m_flags
internal use
Definition: BOpcodeHandler.h:894
void SetDiffuse(float r, float g, float b)
Definition: BOpcodeHandler.h:1787
bool m_needs_tag
Indicate if this object explicitly needs tagging.
Definition: BOpcodeHandler.h:67
int GetColorFaceLockValue() const
Definition: BOpcodeHandler.h:2564
char const * GetDiffuseName() const
Definition: BOpcodeHandler.h:1797
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:5896
static TK_Status GetData(BStreamFileToolkit &tk, double *d, int n)
Definition: BOpcodeHandler.h:278
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:3899
HLONG * m_values
for internal use only
Definition: BOpcodeHandler.h:4502
int GetOptions() const
Definition: BOpcodeHandler.h:6752
static TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:461
float const * GetValueScale() const
Definition: BOpcodeHandler.h:6923
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4546
int m_size
Definition: BOpcodeHandler.h:7020
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:2289
float const * GetValues() const
Definition: BOpcodeHandler.h:2147
int GetParameterSource() const
Definition: BOpcodeHandler.h:6873
void floats_to_bytes(float const *in, unsigned char *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:622
double GetDRadius() const
Definition: BOpcodeHandler.h:6140
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:6566
float * GetVKnots()
Definition: BOpcodeHandler.h:5509
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:91
char const * GetOptions() const
Definition: BOpcodeHandler.h:4445
Definition: BOpcodeHandler.h:4194
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:3708
double const * GetDPlanes() const
Definition: BOpcodeHandler.h:5722
Handles the TKE_Dictionary opcode.
Definition: BOpcodeHandler.h:1627
float * GetLodRatios()
Definition: BOpcodeHandler.h:3444
void SetValue(int v)
Definition: BOpcodeHandler.h:4891
float const * GetPosition() const
Definition: BOpcodeHandler.h:6482
float const * GetTransmission() const
Definition: BOpcodeHandler.h:1840
int GetCaps() const
Definition: BOpcodeHandler.h:6146
int GetColorEdgeLockMask() const
Definition: BOpcodeHandler.h:2576
void SetOrientation(int count, float const o[])
Definition: BOpcodeHandler.h:3952
bool GetStreaming() const
Definition: BOpcodeHandler.h:4314
void SetLayout(int p)
Definition: BOpcodeHandler.h:6911
char m_param_function
Definition: BOpcodeHandler.h:6790
char * m_definition
Definition: BOpcodeHandler.h:7141
int m_string_length
internal use
Definition: BOpcodeHandler.h:2114
char m_num_cylinder
For internal use only.
Definition: BOpcodeHandler.h:2333
int m_surface_budget
For internal use only.
Definition: BOpcodeHandler.h:2319
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1571
float GetGloss() const
Definition: BOpcodeHandler.h:1882
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:5519
internal use, indicates bits which require TKO_Geo_Extended
Definition: BOpcodeEnums.h:176
float * m_isoline_weights_value
for internal use only.
Definition: BOpcodeHandler.h:2288
short color_cut_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1086
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7054
int GetVisibilityLockMask() const
Definition: BOpcodeHandler.h:2507
Definition: BStream.h:255
void SetRotation(float r)
Definition: BOpcodeHandler.h:4925
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:2428
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:3297
//
Definition: BOpcodeEnums.h:141
float * m_weights
Definition: BOpcodeHandler.h:5453
void SetColorBackLockMask(int m)
Definition: BOpcodeHandler.h:2732
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5101
TK_PolyCylinder()
Definition: BOpcodeHandler.h:6184
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:7206
void SetUpVector(float const u[])
Definition: BOpcodeHandler.h:4719
unsigned char m_tq
internal use; low half technology, high half quantization. For internal use only. ...
Definition: BOpcodeHandler.h:2251
unsigned char m_general_flags
Basic flags common to many handlers.
Definition: BOpcodeHandler.h:66
char * m_name
Definition: BOpcodeHandler.h:7140
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:4609
char * GetCondition()
Definition: BOpcodeHandler.h:1352
float const * GetWindow() const
Definition: BOpcodeHandler.h:4820
unsigned char m_type
Definition: BOpcodeHandler.h:6526
void SetDMajor(double const m[])
Definition: BOpcodeHandler.h:5928
void SetScreenRange(float const l[])
Definition: BOpcodeHandler.h:3680
int GetCutGeometryLevel() const
Definition: BOpcodeHandler.h:3550
char * GetName()
Definition: BOpcodeHandler.h:4281
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:3695
float const * GetVKnots() const
Definition: BOpcodeHandler.h:5507
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:4312
void SetSpace(int s)
Definition: BOpcodeHandler.h:1987
void SetEnvironmentName(int length)
Definition: BOpcodeHandler.h:1864
int GetCompression() const
Definition: BOpcodeHandler.h:6757
int const * GetRenderers() const
Definition: BOpcodeHandler.h:4983
int m_index
internal use
Definition: BOpcodeHandler.h:2012
void SetRadius(float r)
Definition: BOpcodeHandler.h:5995
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:5373
TK_Open_Segment()
Definition: BOpcodeHandler.h:1173
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:3382
void SetVector(float const v[])
Definition: BOpcodeHandler.h:3862
int GetColorTextLockMask() const
Definition: BOpcodeHandler.h:2645
extended bits for common/shared items
Definition: BOpcodeEnums.h:175
BBaseOpcodeHandler * m_complex
Definition: BOpcodeHandler.h:7234
Definition: BOpcodeHandler.h:1711
double const * GetDStart() const
Definition: BOpcodeHandler.h:5850
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:5769
int GetGeometry() const
Definition: BOpcodeHandler.h:1931
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:4993
short m_channels
internal use
Definition: BOpcodeHandler.h:1706
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:6738
self-explanatory
Definition: BOpcodeEnums.h:1167
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2268
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:4848
void SetLodMinimumTriangleCount(int v)
Definition: BOpcodeHandler.h:3390
char * m_condition
Definition: BOpcodeHandler.h:1377
float m_start
Definition: BOpcodeHandler.h:5291
void SetDOrigin(double const o[])
Definition: BOpcodeHandler.h:6354
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:5876
int GetCount() const
Definition: BOpcodeHandler.h:6254
TK_Heuristics()
Definition: BOpcodeHandler.h:3770
void SetHlrFaceDisplacement(float d)
Definition: BOpcodeHandler.h:3334
void SetPoints(float const s[], float const m[], float const e[], float const c[]=0)
Definition: BOpcodeHandler.h:5795
int GetMaskTransform() const
Definition: BOpcodeHandler.h:3539
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3289
char * GetString()
Definition: BOpcodeHandler.h:7543
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:5810
void SetDiffuseTextureTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3714
void SetEmission(float const rgb[])
Definition: BOpcodeHandler.h:1849
void SetOptions(int f)
Definition: BOpcodeHandler.h:6750
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:6993
void SetMask(int m)
Definition: BOpcodeHandler.h:3783
void SetConcentration(float c)
Definition: BOpcodeHandler.h:5657
char m_param_source
Definition: BOpcodeHandler.h:6783
float * GetWeights()
Definition: BOpcodeHandler.h:5428
int m_buffer_size
Definition: BOpcodeHandler.h:7385
ID_Key GetKey() const
Definition: BOpcodeHandler.h:1588
static void fix_out(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:599
void SetColorBackForcedLockValue(int v)
Definition: BOpcodeHandler.h:3146
unsigned short m_simple_shadow_resolution
For internal use only.
Definition: BOpcodeHandler.h:2351
int const * GetCounts() const
Definition: BOpcodeHandler.h:6388
float const * GetEnd() const
Definition: BOpcodeHandler.h:6113
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:5701
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:3889
void add_segment(BStreamFileToolkit &tk, ID_Key key)
for internal use only
Definition: BOpcodeHandler.h:634
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:7079
Lock_Masks m_filter
for internal use only
Definition: BOpcodeHandler.h:1292
void SetColorTextForcedLockMask(int m)
Definition: BOpcodeHandler.h:3043
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:3909
void SetColorLockMask(int m)
Definition: BOpcodeHandler.h:2525
ID_Key m_renumbered_key
for internal use only
Definition: BOpcodeHandler.h:1288
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4126
void SetIndex(int i)
Definition: BOpcodeHandler.h:4183
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:3724
int GetColorWindowContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3117
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:1793
void Reset()
internal use
Definition: BOpcodeHandler.h:1718
int m_number_of_items
internal use
Definition: BOpcodeHandler.h:1632
int GetGreenMapping() const
Definition: BOpcodeHandler.h:6893
////
Definition: BOpcodeEnums.h:36
char * GetCylinderTessellations()
Definition: BOpcodeHandler.h:3507
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5631
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:3509
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:2743
void SetAction(int at)
Definition: BOpcodeHandler.h:4397
float m_index
internal use
Definition: BOpcodeHandler.h:2061
void SetDAxis(double const s[], double const e[])
Definition: BOpcodeHandler.h:6127
char * GetSegment()
Definition: BOpcodeHandler.h:1204
void SetSize(int const s[])
Definition: BOpcodeHandler.h:6998
void SetColorVertexContrastLockValue(int v)
Definition: BOpcodeHandler.h:2858
int m_general_displacement
For internal use only.
Definition: BOpcodeHandler.h:2385
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1896
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1290
char const * GetSegment() const
Definition: BOpcodeHandler.h:1326
int m_definition_length
Definition: BOpcodeHandler.h:7139
static TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:262
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:5170
int m_stage
The writing stage.
Definition: BOpcodeHandler.h:63
void SetColorLineContrastLockMask(int m)
Definition: BOpcodeHandler.h:2801
void SetColorVertexForcedLockValue(int v)
Definition: BOpcodeHandler.h:3169
int GetNURBSOptionsValue() const
Definition: BOpcodeHandler.h:3358
float * m_planes
internal use
Definition: BOpcodeHandler.h:5676
void SetTiling(int p)
Definition: BOpcodeHandler.h:6916
int GetLodFallback() const
Definition: BOpcodeHandler.h:3412
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1072
void SetDMinor(double const m[])
Definition: BOpcodeHandler.h:5937
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6171
int * GetLengths()
Definition: BOpcodeHandler.h:7346
char m_type
internal use
Definition: BOpcodeHandler.h:5051
all
Definition: BOpcodeEnums.h:335
mask of bits in second byte
Definition: BOpcodeEnums.h:728
unsigned short m_shadow_map
For internal use only.
Definition: BOpcodeHandler.h:2357
void GetDPosition(double p[]) const
Definition: BOpcodeHandler.h:4693
float m_stereo_distance
For internal use only.
Definition: BOpcodeHandler.h:2330
int m_length
Definition: BOpcodeHandler.h:4416
float GetLineSpacing() const
Definition: BOpcodeHandler.h:4952
static TK_Status LookatData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:334
int m_length
Definition: BOpcodeHandler.h:2186
int visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:1088
int GetCount() const
Definition: BOpcodeHandler.h:5416
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3273
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:2748
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4111
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:619
void SetKey(ID_Key k)
Definition: BOpcodeHandler.h:1586
char const * GetNames() const
Definition: BOpcodeHandler.h:4900
int GetLength() const
Definition: BOpcodeHandler.h:2151
int m_placeholder
internal use
Definition: BOpcodeHandler.h:1630
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:2388
double const * GetDRadii() const
Definition: BOpcodeHandler.h:6248
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3020
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:7619
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:6876
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6023
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:5933
float * GetMatrix()
Definition: BOpcodeHandler.h:4154
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:6316
int m_length
Definition: BOpcodeHandler.h:4327
int GetGeometryOptionsMask() const
Definition: BOpcodeHandler.h:3529
int m_allocated
Definition: BOpcodeHandler.h:1281
int GetCutGeometryColorMatch() const
Definition: BOpcodeHandler.h:3555
unsigned char size_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6415
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:7593
float m_outer
for internal use only
Definition: BOpcodeHandler.h:5597
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5220
char m_apply_mode
Definition: BOpcodeHandler.h:6796
HLONG * GetValues()
Definition: BOpcodeHandler.h:4536
int GetHlrOptions() const
Definition: BOpcodeHandler.h:3328
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:3752
int m_count
internal use
Definition: BOpcodeHandler.h:5678
int mask
For internal use only.
Definition: BOpcodeHandler.h:1048
int m_internal_shell
internal use
Definition: BOpcodeHandler.h:3745
void SetRef1(float const r[])
Definition: BOpcodeHandler.h:6331
float const * GetLimits() const
Definition: BOpcodeHandler.h:5946
unsigned char m_type
Definition: BOpcodeHandler.h:5374
float GetConcentration() const
Definition: BOpcodeHandler.h:5659
void SetColorFaceContrastLockValue(int v)
Definition: BOpcodeHandler.h:2697
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:2622
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5047
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:4646
char m_tint_effect
For internal use only.
Definition: BOpcodeHandler.h:2294
void SetColorFaceForcedLockValue(int v)
Definition: BOpcodeHandler.h:2962
TK_User_Data()
Definition: BOpcodeHandler.h:7392
int GetCount() const
Definition: BOpcodeHandler.h:5327
void SetRGB(float const rgb[])
Definition: BOpcodeHandler.h:1936
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:5449
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:3757
float GetOuter() const
Definition: BOpcodeHandler.h:5649
float const * GetPosition() const
Definition: BOpcodeHandler.h:5620
int m_index
Definition: BOpcodeHandler.h:1249
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:5133
////
Definition: BOpcodeEnums.h:94
const int TK_Image_Bytes_Per_Pixel[]
Specifies the number of bytes per pixel for each format.
TK_Glyph_Definition()
Definition: BOpcodeHandler.h:7026
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:2933
double m_dradius
Definition: BOpcodeHandler.h:6084
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:2847
int GetColorLockMask() const
Definition: BOpcodeHandler.h:2530
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:4960
float const * GetStart() const
Definition: BOpcodeHandler.h:6111
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:3386
char * GetEmissionName()
Definition: BOpcodeHandler.h:1859
int GetNURBSSurfaceBudget() const
Definition: BOpcodeHandler.h:3370
unsigned short m_tint_options
For internal use only.
Definition: BOpcodeHandler.h:2291
int m_maximum_extent_mode
internal use; maximum extent mode – int! argh...
Definition: BOpcodeHandler.h:3754
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1094
void SetWindow(float const w[])
Definition: BOpcodeHandler.h:4818
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:1725
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2078
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:4986
int GetNumSphereTessellations() const
Definition: BOpcodeHandler.h:3520
float * GetValues()
Definition: BOpcodeHandler.h:2149
float * m_radii
Definition: BOpcodeHandler.h:6177
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4636
int GetTransparentStyle() const
Definition: BOpcodeHandler.h:2443
int m_mask
internal use
Definition: BOpcodeHandler.h:2011
int GetSpace() const
Definition: BOpcodeHandler.h:1989
float m_index
internal use
Definition: BOpcodeHandler.h:1733
int GetColorMarkerContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3232
int GetSizeUnits() const
Definition: BOpcodeHandler.h:4912
void SetLodThreshold(float r)
Definition: BOpcodeHandler.h:3451
float m_start_u
Definition: BOpcodeHandler.h:5382
int GetJoinCutoffAngle() const
Definition: BOpcodeHandler.h:2478
int GetColorWindowLockValue() const
Definition: BOpcodeHandler.h:2679
unsigned short m_transparency_options
internal use; low nibble style, next peeling flags, then zsort
Definition: BOpcodeHandler.h:2342
int m_total_size
the total size of the blind material data
Definition: BOpcodeHandler.h:7443
int m_mask
internal use
Definition: BOpcodeHandler.h:1705
char m_interpolation
Definition: BOpcodeHandler.h:6784
void SetNURBSCurveContinuedBudget(int b)
Definition: BOpcodeHandler.h:3364
char const * GetComment() const
Definition: BOpcodeHandler.h:978
void SetHlrOptions(int o)
Definition: BOpcodeHandler.h:3319
void SetStereoDistance(float d)
Definition: BOpcodeHandler.h:3313
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:6428
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3151
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:4851
float const * GetWeights() const
Definition: BOpcodeHandler.h:5499
short color_back_mask
For internal use only.
Definition: BOpcodeHandler.h:1068
void set_last_key(BStreamFileToolkit &tk, ID_Key key)
sets the given key as "most recent" on the toolkit for the purposes of associating keys with indices ...
Definition: BOpcodeHandler.h:638
int m_length
Definition: BOpcodeHandler.h:7556
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:6410
char m_param_offset
Definition: BOpcodeHandler.h:6797
int m_substage
Definition: BOpcodeHandler.h:5372
double * GetDRef2()
Definition: BOpcodeHandler.h:6380
double const * GetDCenter() const
Definition: BOpcodeHandler.h:5921
void SetWindow(float l, float r, float b, float t)
Definition: BOpcodeHandler.h:4815
float * m_weights
Definition: BOpcodeHandler.h:5380
void SetFlags(int f)
Definition: BOpcodeHandler.h:914
char * GetLoggingString()
Definition: BOpcodeHandler.h:239
void SetDebug(int d)
Definition: BOpcodeHandler.h:2456
int m_lod_options_value
For internal use only.
Definition: BOpcodeHandler.h:2297
char * GetDefinition()
Definition: BOpcodeHandler.h:7175
float * m_points
Definition: BOpcodeHandler.h:7298
unsigned char m_format
Definition: BOpcodeHandler.h:6650
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:2829
int color_mask
For internal use only.
Definition: BOpcodeHandler.h:1050
float const * GetPoints() const
Definition: BOpcodeHandler.h:5561
int m_length
Definition: BOpcodeHandler.h:6525
oblique y setting
Definition: BOpcodeEnums.h:1050
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2245
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:3848
float const * GetPoints() const
Definition: BOpcodeHandler.h:5418
int Pass(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:176
secondary extended bits
Definition: BOpcodeEnums.h:204
int GetUDegree() const
Definition: BOpcodeHandler.h:5491
BBaseOpcodeHandler * Opcode_Handler(BStreamFileToolkit &tk, unsigned char op) const
Definition: BOpcodeHandler.h:661
void SetViewVolume(float ax, float ay, float az, float bx, float by, float bz)
Definition: BOpcodeHandler.h:3875
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:4197
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:5887
int GetMask() const
Definition: BOpcodeHandler.h:3789
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:969
unsigned char m_flags
Definition: BOpcodeHandler.h:5743
bool m_terminate_file
internal use for hsx read-write only. This indicates if the TKE_Terminate is
Definition: BOpcodeHandler.h:1013
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3174
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3031
self-explanatory
Definition: BOpcodeEnums.h:1477
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:5434
void SetDAxis(double const a[])
Definition: BOpcodeHandler.h:6129
Definition: BOpcodeHandler.h:845
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1058
char * GetSegment()
Definition: BOpcodeHandler.h:7127
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:2287
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:6931
float const * GetPoints() const
Definition: BOpcodeHandler.h:5321
float const * GetKnots() const
Definition: BOpcodeHandler.h:5430
Contains enum types which are used by BBaseOpcodeHandler.
char * m_string
Definition: BOpcodeHandler.h:7519
float const * GetEmission() const
Definition: BOpcodeHandler.h:1855
int m_buffer_size_limit
For internal use only.
Definition: BOpcodeHandler.h:2263
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:55
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4156
float const * GetDiffuseTextureTintColor() const
Definition: BOpcodeHandler.h:3716
char * GetString()
Definition: BOpcodeHandler.h:6474
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7268
int GetCount() const
Definition: BOpcodeHandler.h:5263
unsigned char m_hsr
internal use; low half hsr, high half thsr. For internal use only.
Definition: BOpcodeHandler.h:2250
void SetDiffuseName(char const *name)
Definition: BOpcodeHandler.h:1791
char const * GetCondition() const
Definition: BOpcodeHandler.h:1415
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:3660
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2269
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:7441
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:3309
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2209
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short &s)
Definition: BOpcodeHandler.h:307
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:254
char const * GetCondition() const
Definition: BOpcodeHandler.h:4390
void SetCaps(int f)
Definition: BOpcodeHandler.h:6144
int GetBytesCount() const
Definition: BOpcodeHandler.h:6568
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:4798
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:4420
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:5109
int m_length
Definition: BOpcodeHandler.h:6432
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:4419
unsigned char m_encoding
Definition: BOpcodeHandler.h:6435
TK_LOD()
Definition: BOpcodeHandler.h:1511
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:2794
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3250
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:4212
void SetAxis(float const s[])
Definition: BOpcodeHandler.h:6006
void SetValue(int m)
Definition: BOpcodeHandler.h:4010
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6131
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:3972
unsigned short m_selection_bias
internal use; selection bias options
Definition: BOpcodeHandler.h:3751
float GetIndex() const
Definition: BOpcodeHandler.h:1886
void SetPoint(float const p[])
Definition: BOpcodeHandler.h:5135
void SetExtras(int e)
Definition: BOpcodeHandler.h:3817
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1424
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2272
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:7084
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:6981
unsigned char m_cut_geometry_match
For internal use only.
Definition: BOpcodeHandler.h:2346
char * m_string
Definition: BOpcodeHandler.h:1282
void SetPoints(float const p[])
Definition: BOpcodeHandler.h:5190
double * GetDPoints()
Definition: BOpcodeHandler.h:7335
void SetTransparentStyle(int s)
Definition: BOpcodeHandler.h:2441
float const * GetRectangle() const
Definition: BOpcodeHandler.h:7212
int m_length
Definition: BOpcodeHandler.h:1280
internal use, indicates bits which require TKO_Geo_Extended2
Definition: BOpcodeEnums.h:205
float m_contour_value_scale
for internal use only.
Definition: BOpcodeHandler.h:2278
short color_text_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1080
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:6413
TK_Color_RGB()
Definition: BOpcodeHandler.h:1903
unsigned char m_cut_geometry
For internal use only.
Definition: BOpcodeHandler.h:2344
char m_type
Definition: BOpcodeHandler.h:6298
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:194
float const * GetRef2() const
Definition: BOpcodeHandler.h:6344
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4553
int m_ascii_progress
Tracks the amount of data that has been read/written so far by GetAscii functions.
Definition: BOpcodeHandler.h:78
void SetColorLineForcedLockMask(int m)
Definition: BOpcodeHandler.h:2997
char * GetView()
Definition: BOpcodeHandler.h:4789
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:4935
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:2571
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3100
unsigned char m_degree
Definition: BOpcodeHandler.h:5284
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5486
int GetDegree() const
Definition: BOpcodeHandler.h:5326
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1356
char * GetSpecularName()
Definition: BOpcodeHandler.h:1814
int m_name_length
Definition: BOpcodeHandler.h:7138
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5446
int m_reference_length
Definition: BOpcodeHandler.h:6649
float const * GetUKnots() const
Definition: BOpcodeHandler.h:5503
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3082
char * m_data
Definition: BOpcodeHandler.h:7472
float * m_points
internal use
Definition: BOpcodeHandler.h:5533
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:3632
void SetOptions(int o)
Definition: BOpcodeHandler.h:5579
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:4837
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1380
void SetDField(double const f[])
Definition: BOpcodeHandler.h:4747
int GetShadowMapSamples() const
Definition: BOpcodeHandler.h:3637
double const * GetDTarget() const
Definition: BOpcodeHandler.h:4711
struct vlist_s * m_data
Definition: BOpcodeHandler.h:7447
unsigned char m_geometry_options
For internal use only.
Definition: BOpcodeHandler.h:2376
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2009
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2029
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:2605
void SetIndices(int count)
Definition: BOpcodeHandler.h:4526
float const * GetSimpleReflectionPlane() const
Definition: BOpcodeHandler.h:3655
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:3759
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2386
int GetHlrLinePattern() const
Definition: BOpcodeHandler.h:3340
float GetStereoDistance() const
Definition: BOpcodeHandler.h:3315
int m_levels_allocated
the number of entries allocated in m_num_primitives and m_primitives
Definition: BOpcodeHandler.h:1502
unsigned char horizontal_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6417
int GetRenderer() const
Definition: BOpcodeHandler.h:4978
void SetCylinderTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3494
void SetNearLimit(float l)
Definition: BOpcodeHandler.h:4768
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2277
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:4940
#define ID_Key
Definition: BStream.h:230
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:3928
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:4696
int GetIndex() const
Definition: BOpcodeHandler.h:2049
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:2413
int m_cond_allocated
Definition: BOpcodeHandler.h:7075
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:2863
unsigned char m_flags
Definition: BOpcodeHandler.h:6085
char * name
the font name
Definition: BOpcodeHandler.h:6402
int GetLayout() const
Definition: BOpcodeHandler.h:5019
double * GetDPoints()
Definition: BOpcodeHandler.h:7270
wchar_t * GetString()
Definition: BOpcodeHandler.h:7621
int GetColorFaceContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3094
void SetTransmissionName(char const *name)
Definition: BOpcodeHandler.h:1836
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant)
Definition: BOpcodeHandler.h:957
#define TKO_Rendo_Extended
Definition: BOpcodeEnums.h:417
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:5834
double * m_dradii
Definition: BOpcodeHandler.h:6178
int GetMask() const
Definition: BOpcodeHandler.h:3949
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:862
float const * GetUpVector() const
Definition: BOpcodeHandler.h:4721
unsigned short m_isoline_options
for internal use only.
Definition: BOpcodeHandler.h:2276
float GetVertexDecimation() const
Definition: BOpcodeHandler.h:3726
internal use, indicates bits which require TKO_Geo_Extended_Colors
Definition: BOpcodeEnums.h:191
void SetPoints(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:5181
int m_index
internal use
Definition: BOpcodeHandler.h:1470
float * GetPoints()
Definition: BOpcodeHandler.h:6215
int m_simple_reflection_visibility_value
For internal use only.
Definition: BOpcodeHandler.h:2368
void SetSimpleReflectionPlane(float const p[])
Definition: BOpcodeHandler.h:3653
float m_concentration
for internal use only
Definition: BOpcodeHandler.h:5599
void SetString(int length)
Definition: BOpcodeHandler.h:6470
int GetNumCylinderTessellations() const
Definition: BOpcodeHandler.h:3503
int GetChannels() const
Definition: BOpcodeHandler.h:1784
float * GetWeights()
Definition: BOpcodeHandler.h:5501
void SetTransform(int length)
Definition: BOpcodeHandler.h:6944
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:4920
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:1795
int GetOptions() const
Definition: BOpcodeHandler.h:7280
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3077
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:6939
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:6960
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4414
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5458
int GetTransforms() const
Definition: BOpcodeHandler.h:4957
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:2897
int m_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2253
TK_Dictionary()
Definition: BOpcodeHandler.h:1638
unsigned char m_byte
temporary
Definition: BOpcodeHandler.h:80
int GetGeometry() const
Definition: BOpcodeHandler.h:4061
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7228
void SetSegment(int length)
Definition: BOpcodeHandler.h:1322
char const * GetString() const
Definition: BOpcodeHandler.h:7580
unsigned char m_display_list_level
For internal use only.
Definition: BOpcodeHandler.h:2389
int GetVDegree() const
Definition: BOpcodeHandler.h:5493
int GetValue() const
Definition: BOpcodeHandler.h:3794
char const * GetName() const
Definition: BOpcodeHandler.h:7045
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:5351
char * GetImage()
Definition: BOpcodeHandler.h:6850
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:3901
float const * GetMiddle() const
Definition: BOpcodeHandler.h:5803
TK_Color_Map()
Definition: BOpcodeHandler.h:2123
char * m_string
Definition: BOpcodeHandler.h:4328
double const * GetDPoint() const
Definition: BOpcodeHandler.h:5144
void SetDiffuse(float const rgb[])
Definition: BOpcodeHandler.h:1789
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:6057
static void fix_in(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:567
int GetIndex() const
Definition: BOpcodeHandler.h:4286
void SetDepthRange(float n, float f)
Definition: BOpcodeHandler.h:3669
short color_vertex_mask
For internal use only.
Definition: BOpcodeHandler.h:1070
int GetMoveUp() const
Definition: BOpcodeHandler.h:4105
short color_face_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1065
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3105
TK_Streaming()
Definition: BOpcodeHandler.h:4303
static void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:537
float GetMaxDistance() const
Definition: BOpcodeHandler.h:3870
void GetOblique(float o[]) const
Definition: BOpcodeHandler.h:4765
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4100
int GetDecimation() const
Definition: BOpcodeHandler.h:6883
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:4991
void SetCutGeometry(int m)
Definition: BOpcodeHandler.h:3543
void SetEndNormal(int index, float const normal[]=0)
Definition: BOpcodeHandler.h:6267
TK_Bounding(unsigned char opcode, double center[], double radius)
Definition: BOpcodeHandler.h:5077
char * m_debug_string
Definition: BOpcodeHandler.h:71
char m_tiling
Definition: BOpcodeHandler.h:6792
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3158
char const * GetSegment() const
Definition: BOpcodeHandler.h:1199
void SetSimpleReflection(int m)
Definition: BOpcodeHandler.h:3641
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:4967
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2109
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:304
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const *i, int n)
Definition: BOpcodeHandler.h:437
char * GetBumpName()
Definition: BOpcodeHandler.h:1877
char m_num_thresholds
For internal use only.
Definition: BOpcodeHandler.h:2301
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:3374
float m_contour_value_translate
for internal use only.
Definition: BOpcodeHandler.h:2279
int m_mask
internal use
Definition: BOpcodeHandler.h:1950
float const * GetLodCutoffs() const
Definition: BOpcodeHandler.h:3482
TK_Named(unsigned char opcode)
Definition: BOpcodeHandler.h:4261
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1291
void SetAxis(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:6100
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:1853
char * m_name
Definition: BOpcodeHandler.h:6520
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4501
char const * GetString() const
Definition: BOpcodeHandler.h:6472
void SetDStart(double const s[])
Definition: BOpcodeHandler.h:5814
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3192
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:4843
int GetColorEdgeForcedLockValue() const
Definition: BOpcodeHandler.h:2990
void SetCurve(int degree, int control_count, float const points[]=0, float const weights[]=0, float const knots[]=0, float start=0.0f, float end=1.0f)
sets the curve properties
Definition: BOpcodeHandler.h:5312
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:7078
char * m_name
Definition: BOpcodeHandler.h:6642
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1382
float GetSize() const
Definition: BOpcodeHandler.h:4907
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4033
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4133
void SetDMiddle(double const m[])
Definition: BOpcodeHandler.h:5822
unsigned short m_simple_reflection
For internal use only.
Definition: BOpcodeHandler.h:2361
float GetRadius() const
Definition: BOpcodeHandler.h:5997
float const * GetTarget() const
Definition: BOpcodeHandler.h:5636
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:3366
static float read_float(char const *cp, char **newcpp)
for internal use only
Definition: BOpcodeHandler.h:687
static TK_Status GetData(BStreamFileToolkit &tk, char *b, int n)
Definition: BOpcodeHandler.h:251
int * m_num_primitives
an array of ints to indicate the length of each row in m_primitives
Definition: BOpcodeHandler.h:1499
bool m_flag
for internal use only
Definition: BOpcodeHandler.h:4299
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2258
unsigned char * m_data
Definition: BOpcodeHandler.h:7384
float GetSize() const
Definition: BOpcodeHandler.h:4217
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:6891
void SetLodThresholds(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3453
void SetRectangle(float const *rect)
Definition: BOpcodeHandler.h:7209
TK_Status SetDPoints(int count, double const points[]=0)
void SetOptions(int at)
Definition: BOpcodeHandler.h:4401
Base class for shell and mesh.
Definition: BPolyhedron.h:22
char const * GetName() const
Definition: BOpcodeHandler.h:6830
char m_options
Definition: BOpcodeHandler.h:7230
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:4550
char * m_string
Definition: BOpcodeHandler.h:1164
int m_hlr_options
For internal use only.
Definition: BOpcodeHandler.h:2265
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7333
TK_User_Index_Data()
Definition: BOpcodeHandler.h:4560
void SetDCenter(double const c[])
Definition: BOpcodeHandler.h:5839
void SetCompression(int c)
Definition: BOpcodeHandler.h:6755
int GetHardExtent() const
Definition: BOpcodeHandler.h:3852
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2016
char * m_reference
Definition: BOpcodeHandler.h:6643
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3646
extends font options to a second byte
Definition: BOpcodeEnums.h:1073
void SetRenderer(int r)
Definition: BOpcodeHandler.h:4976
int m_name_length
Definition: BOpcodeHandler.h:6523
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4364
char const * GetName() const
Definition: BOpcodeHandler.h:4279
TK_Geometry_Options()
Definition: BOpcodeHandler.h:3935
int GetUp() const
Definition: BOpcodeHandler.h:4083
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:1851
char * m_bytes
Definition: BOpcodeHandler.h:6522
int m_vertex_displacement
For internal use only.
Definition: BOpcodeHandler.h:2254
float GetIndex() const
Definition: BOpcodeHandler.h:2098
void SetHardEdgeAngle(int m)
Definition: BOpcodeHandler.h:3532
float m_surface_max_trim_curve_deviation
For internal use only.
Definition: BOpcodeHandler.h:2321
void SetColorEdgeContrastLockValue(int v)
Definition: BOpcodeHandler.h:2789
double const * GetDPlane() const
Definition: BOpcodeHandler.h:5717
Handles the TKE_Start_User_Data opcode.
Definition: BOpcodeHandler.h:7381
float m_size
for internal use only
Definition: BOpcodeHandler.h:4839
float * GetKnots()
Definition: BOpcodeHandler.h:5432
int m_length
internal use
Definition: BOpcodeHandler.h:2111
float const * GetPoints() const
Definition: BOpcodeHandler.h:5482
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:2116
void SetName(char const *name)
Definition: BOpcodeHandler.h:6826
TK_Status SetPoints(int count, float const points[]=0)
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:207
void bytes_to_floats(unsigned char const *in, float *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:627
int GetVSize() const
Definition: BOpcodeHandler.h:5497
void set_channel_rgb(channel &c, float r, float g, float b, int which_channel=-1)
internal use
Definition: BOpcodeHandler.h:1737
char * m_lookup
Definition: BOpcodeHandler.h:6521
char const * GetLookup() const
Definition: BOpcodeHandler.h:6588
TK_Window()
Definition: BOpcodeHandler.h:4804
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:2881
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3013
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:4232
int m_radius_count
Definition: BOpcodeHandler.h:6176
void SetSimpleShadowResolution(int m)
Definition: BOpcodeHandler.h:3583
void SetIndex(int index)
Definition: BOpcodeHandler.h:1398
float GetTolerance() const
Definition: BOpcodeHandler.h:4917
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:5919
void SetDRef2(double const r[])
Definition: BOpcodeHandler.h:6376
TK_Line_Style()
Definition: BOpcodeHandler.h:7145
Definition: BOpcodeHandler.h:4297
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:6049
float * GetRef1()
Definition: BOpcodeHandler.h:6335
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:2299
float GetHardEdgeAngle() const
Definition: BOpcodeHandler.h:3534
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:4965
int GetParameterFunction() const
Definition: BOpcodeHandler.h:6908
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:3748
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:4950
float const * GetMinor() const
Definition: BOpcodeHandler.h:5911
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6493
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1025
unsigned short * m_string
Definition: BOpcodeHandler.h:4463
static void fix_out(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:582
char const * GetName() const
Definition: BOpcodeHandler.h:6708
void SetColorWindowContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3112
void SetPreferences(int r1, int r2)
Definition: BOpcodeHandler.h:5002
TK_Texture()
Definition: BOpcodeHandler.h:6808
char * m_gooch_color_map_segment
For internal use only.
Definition: BOpcodeHandler.h:2340
void SetColorEdgeContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3181
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1038
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6138
int m_allocated
Definition: BOpcodeHandler.h:7557
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:3449
static TK_Status PutData(BStreamFileToolkit &tk, double const *d, int n)
Definition: BOpcodeHandler.h:408
int GetPreference() const
Definition: BOpcodeHandler.h:4999
float m_gooch_diffuse_weight
For internal use only.
Definition: BOpcodeHandler.h:2339
void SetColorEdgeContrastLockMask(int m)
Definition: BOpcodeHandler.h:2778
char const * GetName() const
Definition: BOpcodeHandler.h:7164
int GetLodNumThresholds() const
Definition: BOpcodeHandler.h:3462
void SetAmbientUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:3687
int GetFormat() const
Definition: BOpcodeHandler.h:2139
static TK_Status PutData(BStreamFileToolkit &tk, int const &i)
Definition: BOpcodeHandler.h:446
unsigned char * GetUserData()
Definition: BOpcodeHandler.h:7414
float const * GetLodRatios() const
Definition: BOpcodeHandler.h:3442
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:2886
extended bits for color
Definition: BOpcodeEnums.h:190
void SetColorWindowLockMask(int m)
Definition: BOpcodeHandler.h:2663
int m_total
Definition: BOpcodeHandler.h:7296
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3243
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:5436
void SetIndex(int i)
Definition: BOpcodeHandler.h:1484
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:3596
static TK_Status PutData(BStreamFileToolkit &tk, float const *f, int n)
Definition: BOpcodeHandler.h:385
float GetStereoSeparation() const
Definition: BOpcodeHandler.h:3311
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:1866
void SetSimpleShadowOpacity(float o)
Definition: BOpcodeHandler.h:3619
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:2720
double const * GetDOrigin() const
Definition: BOpcodeHandler.h:6356
char * GetName()
Definition: BOpcodeHandler.h:7047
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:5761
void GetTarget(float t[]) const
Definition: BOpcodeHandler.h:4703
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:1812
void SetIndex(int i)
Definition: BOpcodeHandler.h:2047
int m_substage
Definition: BOpcodeHandler.h:6443
float const * GetPoint() const
Definition: BOpcodeHandler.h:5137
int GetFormat() const
Definition: BOpcodeHandler.h:7005
int m_options
internal use
Definition: BOpcodeHandler.h:1446
char * GetComment()
Definition: BOpcodeHandler.h:983
short color_line_mask
For internal use only.
Definition: BOpcodeHandler.h:1056
float const * GetEnd() const
Definition: BOpcodeHandler.h:5805
extra item for color; refer to ::HC_Set_Color for a description
Definition: BOpcodeEnums.h:213
void SetSimpleShadowPlane(float const p[])
Definition: BOpcodeHandler.h:3606
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:2485
int GetCount() const
Definition: BOpcodeHandler.h:4528
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:5826
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:2928
self-explanatory
Definition: BOpcodeEnums.h:1206
int m_lod_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2296
int GetTiling() const
Definition: BOpcodeHandler.h:6918
float * m_isoline_colors
for internal use only.
Definition: BOpcodeHandler.h:2284
void SetColorEdgeLockValue(int v)
Definition: BOpcodeHandler.h:2582
void SetDisplayListLevel(int m)
Definition: BOpcodeHandler.h:3564
TK_URL()
Definition: BOpcodeHandler.h:7523
int GetProjection() const
Definition: BOpcodeHandler.h:4779
int m_allocated
Definition: BOpcodeHandler.h:7518
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3511
void SetImage(char const *image)
Definition: BOpcodeHandler.h:6844
int GetLength()
Definition: BOpcodeHandler.h:4394
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:6502
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:6886
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1468
void SetMinor(float const m[])
Definition: BOpcodeHandler.h:5909
double * GetDPoints()
Definition: BOpcodeHandler.h:6238
float * GetOrigin()
Definition: BOpcodeHandler.h:6324
void SetColorMarkerContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3238
double const * GetDMinor() const
Definition: BOpcodeHandler.h:5939
TK_Default()
Definition: BOpcodeHandler.h:828
void SetColorFaceForcedLockMask(int m)
Definition: BOpcodeHandler.h:2951
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1317
short color_cut_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1084
void GetDUpVector(double u[]) const
Definition: BOpcodeHandler.h:4733
HLONG GetValue() const
Definition: BOpcodeHandler.h:4626
unsigned char m_heuristic
For internal use only.
Definition: BOpcodeHandler.h:2312
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1287
char * GetDefinition()
Definition: BOpcodeHandler.h:7056
int m_count
for internal use only
Definition: BOpcodeHandler.h:4548
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:6926
void SetEnvironmentName(char const *name)
Definition: BOpcodeHandler.h:1862
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:5591
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:4657
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:4981
void SetMirror(float const rgb[])
Definition: BOpcodeHandler.h:1819
int GetType() const
Definition: BOpcodeHandler.h:5414
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:1806
float const * GetPosition() const
Definition: BOpcodeHandler.h:6727
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5644
float const * GetOrigin() const
Definition: BOpcodeHandler.h:6322
int m_length
Definition: BOpcodeHandler.h:1162
void Record_Instance(BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
Definition: BOpcodeHandler.h:665
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:961
short color_text_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1081
int GetBufferSizeLimit() const
Definition: BOpcodeHandler.h:3305
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:1823
char const * GetBytes() const
Definition: BOpcodeHandler.h:6570
bool GetFollow()
Definition: BOpcodeHandler.h:1358
char * m_string
Definition: BOpcodeHandler.h:6434
TK_Text_Font()
Definition: BOpcodeHandler.h:4866
int GetGeometry() const
Definition: BOpcodeHandler.h:1776
int m_length
Definition: BOpcodeHandler.h:4462
float * m_values
internal use
Definition: BOpcodeHandler.h:2113
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:2783
void SetSize(float s)
Definition: BOpcodeHandler.h:4905
float const * GetAxis() const
Definition: BOpcodeHandler.h:6008
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4032
void SetOptions(int length)
Definition: BOpcodeHandler.h:4443
int m_cond_length
Definition: BOpcodeHandler.h:1375
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:6361
int GetColorWindowContrastLockValue() const
Definition: BOpcodeHandler.h:2725
int GetColorTextForcedLockValue() const
Definition: BOpcodeHandler.h:3059
void SetLodMaxDegree(int v)
Definition: BOpcodeHandler.h:3402
void SetSegment(int length)
Definition: BOpcodeHandler.h:1194
float m_simple_reflection_hither
For internal use only.
Definition: BOpcodeHandler.h:2365
void SetSimpleShadow(int m)
Definition: BOpcodeHandler.h:3569
void SetNURBSCurveBudget(int b)
Definition: BOpcodeHandler.h:3360
int GetNURBSOptionsMask() const
Definition: BOpcodeHandler.h:3354
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1764
extra item for visibility; refer to ::HC_Set_Visibility for a description
Definition: BOpcodeEnums.h:253
void SetCutGeometryLevel(int m)
Definition: BOpcodeHandler.h:3548
unsigned char m_depth_peeling_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2383
void SetIndex(int i)
Definition: BOpcodeHandler.h:4284
int m_value
internal use
Definition: BOpcodeHandler.h:3742
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:2617
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:4686
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5161
float m_slant
for internal use only
Definition: BOpcodeHandler.h:4842
float const * GetAxis() const
Definition: BOpcodeHandler.h:6109
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3197
virtual TK_Status Execute(BStreamFileToolkit &tk)
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5385
void SetDown(int m)
Definition: BOpcodeHandler.h:4067
int GetCulling() const
Definition: BOpcodeHandler.h:3824
float GetHlrFaceSortingAlgorithm() const
Definition: BOpcodeHandler.h:3344
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:6996
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:4947
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5323
float const * GetOrtho() const
Definition: BOpcodeHandler.h:6019
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6033
int GetLayout() const
Definition: BOpcodeHandler.h:6913
float const * GetCenter() const
Definition: BOpcodeHandler.h:5893
char * m_string
Definition: BOpcodeHandler.h:4369
int m_substage
Definition: BOpcodeHandler.h:6781
void SetColorTextForcedLockValue(int v)
Definition: BOpcodeHandler.h:3054
int m_substage
internal use; To track the subcases
Definition: BOpcodeHandler.h:1734
void SetSpecular(float const rgb[])
Definition: BOpcodeHandler.h:1804
self-explanatory
Definition: BOpcodeEnums.h:262
void SetSizeUnits(int u)
Definition: BOpcodeHandler.h:4910
void SetEmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1847
void SetLodRatio(float r)
Definition: BOpcodeHandler.h:3429
void SetDPoint(double const p[])
Definition: BOpcodeHandler.h:5142
TK_Visibility(void)
Definition: BOpcodeHandler.h:3979
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3036
int m_control_point_count
Definition: BOpcodeHandler.h:5285
char m_index
internal use
Definition: BOpcodeHandler.h:4169
char * GetReference()
Definition: BOpcodeHandler.h:6719
self-explanatory
Definition: BOpcodeEnums.h:265
void SetSimpleShadowColor(float const rgb[])
Definition: BOpcodeHandler.h:3614
void SetColorLineContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3204
float GetStart() const
Definition: BOpcodeHandler.h:5334
int m_related
internal use
Definition: BOpcodeHandler.h:3744
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4549
void SetUp(int m)
Definition: BOpcodeHandler.h:4078
void SetMask(int m)
Definition: BOpcodeHandler.h:4880
void SetGeometryOptionsMask(int m)
Definition: BOpcodeHandler.h:3527
float const * GetPoints() const
Definition: BOpcodeHandler.h:5250
Lock_Masks m_forced
For internal use only.
Definition: BOpcodeHandler.h:2259
int GetOptions() const
Definition: BOpcodeHandler.h:5664
int GetLength()
Definition: BOpcodeHandler.h:4449
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:6921
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:5785
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:3426
int GetLockMask() const
Definition: BOpcodeHandler.h:2491
char * m_camera
Definition: BOpcodeHandler.h:6775
float const * GetRadii() const
Definition: BOpcodeHandler.h:6225
int m_image_length
Definition: BOpcodeHandler.h:6778
int GetIndex() const
Definition: BOpcodeHandler.h:4185
TK_Selectability(void)
Definition: BOpcodeHandler.h:4038
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:2985
float const * GetScreenRange() const
Definition: BOpcodeHandler.h:3682
char const * GetString() const
Definition: BOpcodeHandler.h:2166
int m_length
Definition: BOpcodeHandler.h:7517
float const * GetLodThresholds() const
Definition: BOpcodeHandler.h:3464
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:1629
unsigned short m_shadow_map_resolution
For internal use only.
Definition: BOpcodeHandler.h:2358
float m_hlr_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2267
int m_tmp
Definition: BOpcodeHandler.h:6444
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:5868
float const * GetCenter() const
Definition: BOpcodeHandler.h:5807
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:6372
int GetBufferOptionsValue() const
Definition: BOpcodeHandler.h:3301
float horizontal_offset
offset, positive or negative, from the standard position. units are specified separately in horizonta...
Definition: BOpcodeHandler.h:6407
int GetSize() const
Definition: BOpcodeHandler.h:7416
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:1714
self-explanatory
Definition: BOpcodeEnums.h:264
Definition: BOpcodeHandler.h:6401
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:6038
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1679
void SetDMajor(double x, double y, double z)
Definition: BOpcodeHandler.h:5924
void SetForcedLockMask(int m)
Definition: BOpcodeHandler.h:2892
void SetSpecular(float r, float g, float b)
Definition: BOpcodeHandler.h:1802
void SetColorMarkerLockValue(int v)
Definition: BOpcodeHandler.h:2628
int * m_lengths
Definition: BOpcodeHandler.h:7297
void **const GetValues()
Definition: BOpcodeHandler.h:4591
int m_cond_allocated
Definition: BOpcodeHandler.h:1284
void SetTransforms(int t)
Definition: BOpcodeHandler.h:4955
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6296
char * GetCamera()
Definition: BOpcodeHandler.h:6859
void SetBumpName(int length)
Definition: BOpcodeHandler.h:1873
static TK_Status PutData(BStreamFileToolkit &tk, short const &s)
Definition: BOpcodeHandler.h:443
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:431
refer to ::HC_Set_Heuristics
Definition: BOpcodeEnums.h:853
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:6404
void adjust_written(BStreamFileToolkit &tk, int count)
for internal use only
Definition: BOpcodeHandler.h:647
float const * GetPoints() const
Definition: BOpcodeHandler.h:7258
int m_size
internal use
Definition: BOpcodeHandler.h:1664
int GetColorLineForcedLockMask() const
Definition: BOpcodeHandler.h:3002
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1381
int m_from_index
internal use
Definition: BOpcodeHandler.h:1442
float m_hlr_dim_factor
For internal use only.
Definition: BOpcodeHandler.h:2266
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:7080
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:3608
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:2318
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:6384
int m_length
Definition: BOpcodeHandler.h:4368
indicates that the 2nd byte should be written
Definition: BOpcodeEnums.h:727
char * m_segment
Definition: BOpcodeHandler.h:7072
float GetRadius() const
Definition: BOpcodeHandler.h:6118
float const * GetPlanes() const
Definition: BOpcodeHandler.h:5720
unsigned char m_depth_peeling_layers
For internal use only.
Definition: BOpcodeHandler.h:2381
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:5989
int GetColorLockValue() const
Definition: BOpcodeHandler.h:2541
int GetGeometry() const
Definition: BOpcodeHandler.h:1984
virtual TK_Status Write(BStreamFileToolkit &tk)=0
TK_Status GetGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:320
void SetLodBounding(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:3415
int m_isoline_position_count
for internal use only.
Definition: BOpcodeHandler.h:2281
void SetDField(double w, double h)
Definition: BOpcodeHandler.h:4745
float * GetPoints()
Definition: BOpcodeHandler.h:5322
double const * GetDRef1() const
Definition: BOpcodeHandler.h:6367
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6046
Flags
Definition: BOpcodeHandler.h:6063
short color_simple_reflection_mask
For internal use only.
Definition: BOpcodeHandler.h:1082
void SetColorTextLockMask(int m)
Definition: BOpcodeHandler.h:2640
extended bit
Definition: BOpcodeEnums.h:775
void SetLodTolerance(float v)
Definition: BOpcodeHandler.h:3406
int GetTessellationMask() const
Definition: BOpcodeHandler.h:3490
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5615
void SetOptions(int o)
Definition: BOpcodeHandler.h:5512
int m_cond_length
Definition: BOpcodeHandler.h:1283
float m_curve_max_length
For internal use only.
Definition: BOpcodeHandler.h:2327
int m_isoline_pattern_count
for internal use only.
Definition: BOpcodeHandler.h:2285
char * GetBytes()
Definition: BOpcodeHandler.h:6701
double const * GetDEnd() const
Definition: BOpcodeHandler.h:5854
bool Find_Instance(BStreamFileToolkit &tk, int val1, int val2, int val3)
Definition: BOpcodeHandler.h:670
int m_substage
tracks progress of reading individual opcode handler arrays.
Definition: BOpcodeHandler.h:1503
int GetLodMaxDegree() const
Definition: BOpcodeHandler.h:3404
void SetDPlane(double const p[])
Definition: BOpcodeHandler.h:5712
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:3749
float * m_knots
Definition: BOpcodeHandler.h:5290
char m_options
internal use
Definition: BOpcodeHandler.h:5535
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:4676
static TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:295
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:2461
char * GetBytes()
Definition: BOpcodeHandler.h:6572
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:4607
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:3342
short color_cut_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1087
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:3836
void SetValues(int count, float const values[]=0)
Definition: BOpcodeHandler.h:2145
extended bit for HLR suboptions; refer to ::HC_Set_Rendering_Options for description ...
Definition: BOpcodeEnums.h:618
char * m_string
Definition: BOpcodeHandler.h:4417
void SetColorTextContrastLockMask(int m)
Definition: BOpcodeHandler.h:2870
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2058
double const * GetDCenter() const
Definition: BOpcodeHandler.h:5856
int m_mask
internal use
Definition: BOpcodeHandler.h:3741
void SetImageTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3703
unsigned char m_cut_geometry_level
For internal use only.
Definition: BOpcodeHandler.h:2345
short color_vertex_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1079
char * m_data
Definition: BOpcodeHandler.h:7022
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1071
int GetColorMarkerLockValue() const
Definition: BOpcodeHandler.h:2633
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:6500
void SetType(int t)
Definition: BOpcodeHandler.h:6558
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:4840
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:6350
void SetSimpleShadowPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3599
void SetFormat(int f)
Definition: BOpcodeHandler.h:2137
int GetOptions() const
Definition: BOpcodeHandler.h:5581
int GetVersion() const
Definition: BStreamFileToolkit.h:972
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:5985
int m_isoline_color_count
for internal use only.
Definition: BOpcodeHandler.h:2283
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const &s)
Definition: BOpcodeHandler.h:452
void SetDPoint(double x, double y, double z)
Definition: BOpcodeHandler.h:5140
Capping_Options
Definition: BOpcodeHandler.h:6151
char * GetOptions()
Definition: BOpcodeHandler.h:4447
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:6839
char * GetMirrorName()
Definition: BOpcodeHandler.h:1829
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5258
void GetPosition(float p[]) const
Definition: BOpcodeHandler.h:4683
entity is double precision
Definition: BStream.h:333
double * GetDMatrix()
Definition: BOpcodeHandler.h:4158
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:3484
bool m_jpeg_native
Definition: BOpcodeHandler.h:6659
void SetGeometry(int m)
Definition: BOpcodeHandler.h:3992
void SetColorVertexLockValue(int v)
Definition: BOpcodeHandler.h:2766
int GetColorEdgeContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3186
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4034
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:2702
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3611
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:5915
void SetMask(int m)
Definition: BOpcodeHandler.h:3947
void SetRGB(float r, float g, float b)
Definition: BOpcodeHandler.h:1934
void SetDOrtho(double const s[])
Definition: BOpcodeHandler.h:6055