Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

BOpcodeHandler.h
Go to the documentation of this file.
1 // Copyright (c) 1998-2014 by 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 
29 
32 
53 class BBINFILETK_API2 BBaseOpcodeHandler
54 #ifdef HPS_CORE_BUILD
55  : public CMO
56 #else
58 #endif
59 {
60  protected:
61  int m_stage;
62  int m_progress;
63  unsigned char m_opcode;
64  unsigned char m_general_flags;
65  bool m_needs_tag;
66 
69  char * m_debug_string;
71  char * m_ascii_buffer;
72  int m_ascii_size;
73  int m_ascii_length;
74 
75  int m_ascii_stage;
77 
78  unsigned char m_byte;
79  unsigned short m_unsigned_short;
80  int m_int;
81  char m_char;
82 
83  public:
90  : m_stage (0), m_progress (0), m_opcode ((unsigned char)op), m_general_flags(0), m_needs_tag (false),
91  m_debug_length (0), m_debug_allocated (0), m_debug_string (0),
92 
93  m_ascii_buffer (0), m_ascii_size (0), m_ascii_length (0), m_ascii_stage (0), m_ascii_progress(0),
94  m_byte(0), m_unsigned_short(0), m_int(0), m_char('\0')
95  {}
96  virtual ~BBaseOpcodeHandler ();
97 
105  virtual TK_Status Read (BStreamFileToolkit & tk) = 0;
106 
114  virtual TK_Status Write (BStreamFileToolkit & tk) = 0;
115 
123  virtual TK_Status Execute (BStreamFileToolkit & tk);
124 
134  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant = 0);
135 
145  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
146 
152  virtual void Reset ();
153 
158  virtual bool Match_Instance (BStreamFileToolkit const & tk, Recorded_Instance * instance);
159 
160 
162  unsigned char Opcode () const { return m_opcode; }
163 
165  unsigned char General_Flags () const { return m_general_flags; }
166 
168  void Set_General_Flags (int f) { m_general_flags = (unsigned char)f; }
169 
174  int Pass (BStreamFileToolkit & tk) const { return tk.pass(); }
175 
180  TK_Status Tag (BStreamFileToolkit & tk, int variant= -1) const { return tk.tag(variant); }
181 
185  bool Tagging (BStreamFileToolkit & tk) const {
186  return m_needs_tag || tk.GetWriteFlags(TK_Force_Tags) != 0;
187  }
188 
192  void SetNeedsTag (bool n) { m_needs_tag = n; }
193 
197  bool NeedsTag () const { return m_needs_tag; }
198 
205  virtual TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const {
206  *handler = 0;
207  return tk.Error();
208  }
209 
215  virtual bool NeedsContext (BStreamFileToolkit & tk) const { (void)tk; return false; }
216 
221  void SetLoggingString (char const * segment);
222 
227  void SetLoggingString (int length);
228 
232  char const * GetLoggingString () const { return m_debug_string; }
237  char * GetLoggingString () { return m_debug_string; }
238 
242  void LogDebug (BStreamFileToolkit & tk, char const * string = 0);
243 
244  protected:
245  // various means of pulling data from the toolkit buffer
246  // Note: format conversion is safe to do in output buffer
247 
249  TK_Status GetData (BStreamFileToolkit & tk, char * b, int n) { return tk.read (b, n); }
250 
252  TK_Status GetData (BStreamFileToolkit & tk, short * s, int n) {
253  TK_Status status;
254  if ((status = GetData (tk, (char *)s, n * (int)sizeof (short))) == TK_Normal)
255  fix (s, n);
256  return status;
257  }
258 
260  TK_Status GetData (BStreamFileToolkit & tk, int * i, int n) {
261  TK_Status status;
262  if ((status = GetData (tk, (char *)i, n * (int)sizeof (int))) == TK_Normal)
263  fix (i, n);
264  return status;
265  }
266 
268  TK_Status GetData (BStreamFileToolkit & tk, float * f, int n) {
269  TK_Status status;
270  if ((status = GetData (tk, (char *)f, n * (int)sizeof (float))) == TK_Normal)
271  fix_in (f, n);
272  return status;
273  }
274 
276  TK_Status GetData (BStreamFileToolkit & tk, double * d, int n) {
277  TK_Status status;
278  if ((status = GetData (tk, (char *)d, n * (int)sizeof (double))) == TK_Normal)
279  fix_in (d, n);
280  return status;
281  }
282 
284  TK_Status GetData (BStreamFileToolkit & tk, unsigned char * b, int n) { return GetData (tk, (char *)b, n); }
285 
287  TK_Status GetData (BStreamFileToolkit & tk, unsigned short * s, int n) { return GetData (tk, (short *)s, n); }
288 
290  TK_Status GetData (BStreamFileToolkit & tk, unsigned int * i, int n) { return GetData (tk, (int *)i, n); }
291 
293  TK_Status GetData (BStreamFileToolkit & tk, char & c) { return GetData (tk, &c, 1); }
294 
296  TK_Status GetData (BStreamFileToolkit & tk, short & s) { return GetData (tk, &s, 1); }
297 
299  TK_Status GetData (BStreamFileToolkit & tk, int & i) { return GetData (tk, &i, 1); }
300 
302  TK_Status GetData (BStreamFileToolkit & tk, unsigned char & b) { return GetData (tk, &b, 1); }
303 
305  TK_Status GetData (BStreamFileToolkit & tk, unsigned short & s) { return GetData (tk, &s, 1); }
306 
308  TK_Status GetData (BStreamFileToolkit & tk, unsigned int & i) { return GetData (tk, &i, 1); }
309 
311  TK_Status GetData (BStreamFileToolkit & tk, float & f) { return GetData (tk, &f, 1); }
312 
314  TK_Status GetData (BStreamFileToolkit & tk, double & d) { return GetData (tk, &d, 1); }
315 
316 
319  TK_Status status = TK_Normal;
320 
321  if (tk.GetVersion() >= 1975 &&
322  (status = GetData (tk, m_general_flags)) != TK_Normal)
323  return status;
324 
325  return status;
326  }
327 
328 
329 
330 
332  TK_Status LookatData (BStreamFileToolkit & tk, unsigned char & b) { return tk.lookat ((char &)b); }
333 
334  // various means of putting data into the toolkit buffer
335  // Note: format conversion is NOT safe in input buffer -- use temps
336 
338  TK_Status PutData (BStreamFileToolkit & tk, char const * b, int n) { return tk.write (b, n); }
339 
341  TK_Status PutData (BStreamFileToolkit & tk, short const * s, int n) {
342  #ifdef STREAM_BIGENDIAN
343  short * buffer;
344  short * tmp;
345  TK_Status status;
346  int i;
347  BSTREAM_ALLOC_ARRAY(buffer, n, short);
348  tmp = buffer;
349  for (i=0; i<n; ++i)
350  *tmp++ = flip (*s++);
351  status = PutData (tk, (char const *)buffer, n * (int)sizeof (short));
352  BSTREAM_FREE_ARRAY(buffer, n, short);
353  if (status != TK_Normal)
354  return status;
355  return TK_Normal;
356  #else
357  return PutData (tk, (char const *)s, n * (int)sizeof (short));
358  #endif
359  }
360 
362  TK_Status PutData (BStreamFileToolkit & tk, int const * i, int n) {
363  #ifdef STREAM_BIGENDIAN
364  int * buffer;
365  int * tmp;
366  TK_Status status;
367  int j;
368  BSTREAM_ALLOC_ARRAY(buffer, n, int);
369  tmp = buffer;
370  for (j=0; j<n; ++j)
371  *tmp++ = flip (*i++);
372  status = PutData (tk, (char const *)buffer, n * (int)sizeof (int));
373  BSTREAM_FREE_ARRAY(buffer, n, int);
374  if (status != TK_Normal)
375  return status;
376  return TK_Normal;
377  #else
378  return PutData (tk, (char const *)i, n * (int)sizeof (int));
379  #endif
380  }
381 
383  TK_Status PutData (BStreamFileToolkit & tk, float const * f, int n) {
384  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
385  float * buffer;
386  float * tmp;
387  TK_Status status;
388  int i;
389  BSTREAM_ALLOC_ARRAY(buffer, n, float);
390  tmp = buffer;
391  for (i=0; i<n; ++i) {
392  *tmp = *f++;
393  fix_out (tmp++, 1);
394  }
395  status = PutData (tk, (char const *)buffer, n * (int)sizeof (float));
396  BSTREAM_FREE_ARRAY(buffer, n, float);
397  if (status != TK_Normal)
398  return status;
399  return TK_Normal;
400  #else
401  return PutData (tk, (char const *)f, n * (int)sizeof (float));
402  #endif
403  }
404 
406  TK_Status PutData (BStreamFileToolkit & tk, double const * d, int n) {
407  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
408  double * buffer;
409  double * tmp;
410  TK_Status status;
411  int i;
412  BSTREAM_ALLOC_ARRAY(buffer, n, double);
413  tmp = buffer;
414  for (i=0; i<n; ++i) {
415  *tmp = *d++;
416  fix_out (tmp++, 1);
417  }
418  status = PutData (tk, (char const *)buffer, n * (int)sizeof (double));
419  BSTREAM_FREE_ARRAY(buffer, n, double);
420  if (status != TK_Normal)
421  return status;
422  return TK_Normal;
423  #else
424  return PutData (tk, (char const *)d, n * (int)sizeof (double));
425  #endif
426  }
427 
429  TK_Status PutData (BStreamFileToolkit & tk, unsigned char const * b, int n) { return PutData (tk, (char const *)b, n); }
430 
432  TK_Status PutData (BStreamFileToolkit & tk, unsigned short const * s, int n) { return PutData (tk, (short const *)s, n); }
433 
435  TK_Status PutData (BStreamFileToolkit & tk, unsigned int const * i, int n) { return PutData (tk, (int const *)i, n); }
436 
438  TK_Status PutData (BStreamFileToolkit & tk, char const & c) { return PutData (tk, &c, 1); }
439 
441  TK_Status PutData (BStreamFileToolkit & tk, short const & s) { return PutData (tk, &s, 1); }
442 
444  TK_Status PutData (BStreamFileToolkit & tk, int const & i) { return PutData (tk, &i, 1); }
445 
447  TK_Status PutData (BStreamFileToolkit & tk, unsigned char const & b) { return PutData (tk, &b, 1); }
448 
450  TK_Status PutData (BStreamFileToolkit & tk, unsigned short const & s) { return PutData (tk, &s, 1); }
451 
453  TK_Status PutData (BStreamFileToolkit & tk, unsigned int const & i) { return PutData (tk, &i, 1); }
454 
456  TK_Status PutData (BStreamFileToolkit & tk, float const & f) { return PutData (tk, &f, 1); }
457 
459  TK_Status PutData (BStreamFileToolkit & tk, double const & d) { return PutData (tk, &d, 1); }
460 
462  TK_Status PutOpcode (BStreamFileToolkit & tk, int adjust = 1) {
463  TK_Status status;
464  unsigned int sequence;
465 
466  if ((status = PutData (tk, Opcode ())) != TK_Normal)
467  return status;
468 
469  tk.adjust_written (adjust);
470 
471  sequence = tk.NextOpcodeSequence();
472  if (tk.GetLogging())
473  log_opcode (tk, sequence, Opcode());
474 
475  return status;
476  }
477 
480  TK_Status status = TK_Normal;
481 
482  if (tk.GetTargetVersion() >= 1975 &&
483  (status = PutData (tk, General_Flags ())) != TK_Normal)
484  return status;
485 
486  return status;
487  }
488 
489 
490 
491  /* note -- fix for int types will work during read OR write phase, but floats need separate routines for native->IEEE and IEEE->native
492  */
494  short flip (short s) {
495  return (short)(((s >> 8) & 0x00FF) | (s << 8));
496  }
498  int flip (int i) {
499  return ((i >> 24) & 0x000000FF) | ((i >> 8) & 0x0000FF00) |
500  ((i << 8) & 0x00FF0000) | (i << 24);
501  }
502 
503 #ifndef DOXYGEN_SHOULD_SKIP_THIS
504  #ifndef UNREFERENCED
505  #define UNREFERENCED(x) (void)(x)
506  #endif
507 #endif
508 
510  void fix (int * i, int n) {
511  #ifdef STREAM_BIGENDIAN
512  while (n--){
513  *i = flip (*i);
514  i++;
515  }
516  #else
517  UNREFERENCED(i);
518  UNREFERENCED(n);
519  #endif
520  }
522  void fix (short * s, int n) {
523  #ifdef STREAM_BIGENDIAN
524  while (n--){
525  *s = flip (*s);
526  s++;
527  }
528  #else
529  UNREFERENCED(s);
530  UNREFERENCED(n);
531  #endif
532  }
533 
535  void fix_in (float * f, int n) {
536  #ifdef NON_IEEE
537  // need to re-interpret from IEEE to native format
538  #endif
539 
540  #ifdef STREAM_BIGENDIAN
541  int * i = (int *) f;
542  while (n--) {
543  *i = flip (*i);
544  i++;
545  }
546  #else
547  UNREFERENCED(f);
548  UNREFERENCED(n);
549  #endif
550  }
552  void fix_in (double * d, int n) {
553  #ifdef NON_IEEE
554  // need to re-interpret from IEEE to native format
555  #endif
556 
557  #ifdef STREAM_BIGENDIAN
558  while (n--) {
559  flip (i++);
560  }
561  #else
562  UNREFERENCED(d);
563  UNREFERENCED(n);
564  #endif
565  }
567  void fix_out (float * f, int n) {
568  #ifdef NON_IEEE
569  // need to re-interpret from native format to IEEE
570  #endif
571 
572  #ifdef STREAM_BIGENDIAN
573  int * i = (int*) f;
574  while (n--) {
575  *i = flip (*i);
576  i++;
577  }
578  #else
579  UNREFERENCED(f);
580  UNREFERENCED(n);
581  #endif
582  }
584  void fix_out (double * d, int n) {
585  #ifdef NON_IEEE
586  // need to re-interpret from native format to IEEE
587  #endif
588 
589  #ifdef STREAM_BIGENDIAN
590  while (n--) {
591  flip (d++);
592  }
593  #else
594  UNREFERENCED(d);
595  UNREFERENCED(n);
596  #endif
597  }
598 
600  void log_opcode (BStreamFileToolkit & tk, unsigned int sequence, unsigned char opcode);
601 
602 
603  /* common conversions
604  these two are for converting between floats [0.0,1.0] and unsigned chars [0,255]
605  */
607  void floats_to_bytes (float const * in, unsigned char * out, int count) const {
608  while (count-- > 0)
609  *out++ = char (*in++ * 255.999f);
610  }
612  void bytes_to_floats (unsigned char const * in, float * out, int count) const {
613  while (count-- > 0)
614  *out++ = float (*in++) * (1.0f/255.0f);
615  }
616 
617  // access to toolkit utility functions
619  void add_segment (BStreamFileToolkit & tk, ID_Key key) { tk.add_segment (key); }
621  ID_Key remove_segment (BStreamFileToolkit & tk) { return tk.remove_segment(); }
623  void set_last_key (BStreamFileToolkit & tk, ID_Key key) { tk.set_last_key (key); }
626  if (tk.m_last_keys_used == 1)
627  return tk.m_last_keys[0];
628  else
629  return -1;
630  }
632  void adjust_written (BStreamFileToolkit & tk, int count) { tk.adjust_written (count); }
634  void increase_nesting (BStreamFileToolkit & tk, int amount=1) { tk.increase_nesting (amount); }
636  void decrease_nesting (BStreamFileToolkit & tk, int amount=1) { tk.decrease_nesting (amount); }
637 
641  void Revisit (BStreamFileToolkit & tk, float priority=0.0f, int variant=0) const { tk.revisit (Opcode(), priority, variant); }
642 
646  BBaseOpcodeHandler * Opcode_Handler (BStreamFileToolkit & tk, unsigned char op) const
647  { return tk.opcode_handler (op); }
648 
650  void Record_Instance (BStreamFileToolkit & tk, ID_Key key, int variant,
651  int val1, int val2, int val3) const {
652  tk.record_instance (key, variant, this, val1, val2, val3);
653  }
655  bool Find_Instance (BStreamFileToolkit & tk, int val1, int val2, int val3) {
656  return tk.find_instance (this, val1, val2, val3);
657  }
658 
660  void Remember_Item (BStreamFileToolkit & tk, ID_Key key) const { tk.remember_item(key); }
662  bool Find_Item (BStreamFileToolkit & tk, ID_Key key) const { return tk.find_item(key); }
663 
665  bool validate_count (int count, int limit = 1<<24) const { return 0 <= count && count <= limit; }
666 
670  static float read_float (char const *cp, char const ** newcpp = 0);
672  static float read_float (char const *cp, char ** newcpp)
673  { return read_float (cp, (char const **)newcpp); }
675  static char * write_float (char * buffer, double f);
676 
677 
678 
680  TK_Status SkipNewlineAndTabs(BStreamFileToolkit & tk, unsigned int* readSize=0);
682  TK_Status ReadAsciiLine(BStreamFileToolkit & tk, unsigned int* readSize=0);
684  TK_Status ReadAsciiWord(BStreamFileToolkit & tk, unsigned int* readSize=0);
686  TK_Status ReadEndOpcode(BStreamFileToolkit & tk);
688  bool RemoveAngularBrackets(char* string);
690  bool RemoveQuotes(char* string);
692  TK_Status Read_Referenced_Segment(BStreamFileToolkit & tk, int &i_progress);
693 
694  //TK_Status GetAsciiData(BStreamFileToolkit & tk, float * rFloats, unsigned int n);
695 
697  TK_Status GetAsciiData(BStreamFileToolkit & tk, int * rInts, unsigned int n);
698  //TK_Status GetAsciiData(BStreamFileToolkit & tk, short * rShorts, unsigned int n);
699 
701  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char& value);
703  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char& value);
705  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short& value);
707  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short& value);
709  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int& value);
711  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float& value);
713  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float * rFloats, unsigned int n);
715  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char * m_string, unsigned int n);
717  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char * m_string, unsigned int n);
719  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int * rInts, unsigned int n);
721  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short * rShorts, unsigned int n);
723  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short * rShorts, unsigned int n);
725  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned char &value);
727  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, int &value);
729  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, char &value);
731  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned short &value);
733  TK_Status GetAsciiImageData(BStreamFileToolkit & tk, const char * tag, unsigned char * rValues, unsigned int n);
734 
736  TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1, bool is_end = false, bool want_newline = true);
737  // TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1);
738 
740  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const * b, int n);
742  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const * s, int n);
744  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const * i, int n);
746  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const * f, int n);
748  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const * b, int n);
750  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const * s, int n);
752  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const * i, int n);
754  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const & c);
756  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const & s);
758  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const & i);
760  TK_Status PutAsciiFlag (BStreamFileToolkit & tk, char const *tag, int const & i);
762  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const & b);
764  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const & s);
766  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const & i);
768  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const & f);
770  TK_Status PutAsciiMask (BStreamFileToolkit & tk,char const *tag, int const & i);
772  TK_Status PutAsciiHex (BStreamFileToolkit & tk, char const *tag, int const & i);
774  TK_Status PutStartXMLTag (BStreamFileToolkit & tk, char const *tag);
776  TK_Status PutEndXMLTag (BStreamFileToolkit & tk, char const *tag);
777 };
778 
780 #define IMPLEMENT_CLONE(class_name) \
781  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
782  *newhandler = BSTREAM_NEW(class_name); \
783  if (*newhandler != null) \
784  return TK_Normal; \
785  else \
786  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
787  } //
788 #define IMPLEMENT_CLONE_OPCODE(class_name) \
790  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
791  *newhandler = BSTREAM_NEW(class_name)(Opcode()); \
792  if (*newhandler != null) \
793  return TK_Normal; \
794  else \
795  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
796 } //
797 
798 
799 
801 
809 // Additions need to be reflected in the 'opcode_string' table in BOpcodeHandler.cpp
811  TKE_Termination = '\x00',
812  TKE_Pause = '\x01',
813  TKE_Comment = ';',
815  TKE_Font = 'f',
817  TKE_Texture = 't',
818  TKE_Material = '\x02',
819  TKE_Open_Segment = '(',
821  TKE_Close_Segment = ')',
822  TKE_Reopen_Segment = 's',
823  TKE_Include_Segment = '<',
824  TKE_Style_Segment = '{',
826  TKE_Geometry_Attributes = ':',
828  TKE_Renumber_Key_Global = 'K',
829  TKE_Renumber_Key_Local = 'k',
830  TKE_Priority = '0',
831  TKE_Tag = 'q',
832  TKE_Bounding = 'b',
834  TKE_Bounding_Info = 'B',
835  TKE_Callback = '\x07',
836  TKE_Camera = '>',
837  TKE_Conditional_Action = '\'',
838  TKE_Conditions = '?',
839  TKE_Color = '"',
840  TKE_Color_By_Index = '\x08',
841  TKE_Color_By_Index_16 = '\x09',
842  TKE_Color_By_FIndex = '\x0A',
843  TKE_Color_RGB = '~',
844  TKE_Color_By_Value = '\x0B',
845  TKE_Color_Map = '\x0C',
846  TKE_Edge_Pattern = '\x0D',
847  TKE_Edge_Weight = '\x0E',
848  TKE_Face_Pattern = 'P',
849  TKE_Geometry_Options = '\x17',
850  TKE_Handedness = 'h',
851  TKE_Heuristics = 'H',
852  TKE_Line_Pattern = '-',
853  TKE_Line_Weight = '=',
854  TKE_Marker_Size = '+',
855  TKE_Marker_Symbol = '@',
856  TKE_Modelling_Matrix = '%',
857  TKE_LOD = '\x19',
858  TKE_Rendering_Options = 'R',
859  TKE_Selectability = '!',
860  TKE_Text_Alignment = '*',
861  TKE_Text_Font = 'F',
862  TKE_Text_Path = '|',
863  TKE_Text_Spacing = ' ',
864  TKE_Texture_Matrix = '$',
865  TKE_Unicode_Options = '\x16',
866  TKE_User_Index = 'n',
867  TKE_User_Index_Data = 'm',
868  TKE_User_Options = 'U',
869  TKE_User_Value = 'v',
870  TKE_Visibility = 'V',
871  TKE_Window = 'W',
872  TKE_Window_Frame = '#',
873  TKE_Window_Pattern = 'p',
874  TKE_Glyph_Definition = 'j',
875  TKE_Line_Style = 'J',
877  TKE_Area_Light = 'a',
879  TKE_Circle = 'C',
880  TKE_Circular_Arc = 'c',
881  TKE_Circular_Chord = '\\',
882  TKE_Circular_Wedge = 'w',
883  TKE_Cutting_Plane = '/',
884  TKE_Cylinder = 'Y',
885  TKE_Distant_Light = 'd',
886  TKE_Ellipse = 'E',
887  TKE_Elliptical_Arc = 'e',
888  TKE_Grid = 'g',
889  TKE_Image = 'i',
890  TKE_Infinite_Line = '`',
891  TKE_Infinite_Ray = '\x11',
892  TKE_Line = 'l',
893  TKE_Local_Light = '.',
894  TKE_Marker = 'X',
895  TKE_Mesh = 'M',
896  TKE_NURBS_Curve = 'N',
897  TKE_NURBS_Surface = 'A',
898  TKE_PolyCylinder = 'Q',
899  TKE_Polygon = 'G',
900  TKE_Polyline = 'L',
901  TKE_PolyPolyline = '\x10',
902  TKE_Reference = 'r',
903  TKE_Shell = 'S',
904  TKE_Sphere = '\x1a',
905  TKE_Spot_Light = '^',
906  TKE_Text = 'T',
908  TKE_Start_User_Data = '[',
910  TKE_Stop_User_Data = ']',
911  TKE_XML = '\x18',
912  TKE_External_Reference = '\x12',
913  TKE_External_Reference_Unicode = '\x13',
914  TKE_URL = '\x15',
915  TKE_Start_Compression = 'Z',
918  TKE_Repeat_Object = '&',
920  TKE_View = '}',
921  TKE_Clip_Rectangle = 'o',
922  TKE_Clip_Region = 'O',
924  TKE_File_Info = 'I',
926  TKE_Dictionary = 'D',
927  TKE_Dictionary_Locater = '_',
928  TKE_Thumbnail = '\x14',
929  TKE_Delete_Object = '\x7F',
933 
936  TKE_HW3D_Image = 0xE0,
940 };
941 
942 
944 
945 
951 class BBINFILETK_API TK_Default : public BBaseOpcodeHandler {
952 
953  protected:
954  char * m_opcode_buffer;
955  int m_buffer_count;
956 
957  public:
959  TK_Default () : BBaseOpcodeHandler (TKE_Pseudo_Handler) {m_opcode_buffer = 0, m_buffer_count = 0;}
960 
962 
964 
965 
966  TK_Status ReadAscii (BStreamFileToolkit & tk);
967  TK_Status WriteAscii (BStreamFileToolkit & tk);
968 
969 };
970 
976 class BBINFILETK_API TK_Unavailable : public BBaseOpcodeHandler {
977  public:
979  TK_Unavailable (char opcode) : BBaseOpcodeHandler (opcode) {}
980 
983 };
984 
987 
993 class BBINFILETK_API TK_Header : public BBaseOpcodeHandler {
994  protected:
997 
998  public:
1000  TK_Header () : BBaseOpcodeHandler (TKE_Pseudo_Handler), m_current_object (0) {}
1001  ~TK_Header();
1002 
1005 
1006 
1007  TK_Status ReadAscii (BStreamFileToolkit & tk);
1008  TK_Status WriteAscii (BStreamFileToolkit & tk);
1009 
1010 
1011  void Reset ();
1012 };
1013 
1014 
1016 
1022 class BBINFILETK_API TK_File_Info : public BBaseOpcodeHandler {
1023  protected:
1025  int m_flags;
1026 
1027  public:
1029  TK_File_Info () : BBaseOpcodeHandler (TKE_File_Info), m_flags (0) {}
1030 
1031 
1035  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
1036  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1037  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1038 
1039 
1040  TK_Status ReadAscii (BStreamFileToolkit & tk);
1041  TK_Status WriteAscii (BStreamFileToolkit & tk);
1042 
1043 
1045  void SetFlags (int f) { m_flags = f; }
1047  int GetFlags () { return m_flags; }
1048 };
1049 
1050 
1052 
1060 class BBINFILETK_API TK_Comment : public BBaseOpcodeHandler {
1061  protected:
1067  char * m_comment;
1068 
1070  void set_comment (char const * comment);
1072  void set_comment (int length);
1073 
1074  public:
1076  TK_Comment (char const * comment = 0);
1077  ~TK_Comment();
1078 
1082 
1083  TK_Status ReadAscii (BStreamFileToolkit & tk);
1084  TK_Status WriteAscii (BStreamFileToolkit & tk);
1085  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
1088  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant) {
1089  (void)tk; (void)key; (void)variant;
1090  return TK_Normal;
1091  }
1092  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1093  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1094  void Reset ();
1095 
1100  void SetComment (char const * comment) { set_comment (comment); }
1105  void SetComment (int length) { set_comment (length); }
1109  char const * GetComment () const { return m_comment; }
1114  char * GetComment () { return m_comment; }
1115 };
1116 
1117 
1119 
1127 class BBINFILETK_API TK_Terminator : public BBaseOpcodeHandler {
1128  public:
1130  TK_Terminator (char opcode, bool is_file_terminator = true) : BBaseOpcodeHandler (opcode),
1131  m_terminate_file(is_file_terminator) {}
1132 
1136 
1137 
1138  TK_Status ReadAscii (BStreamFileToolkit & tk);
1139  TK_Status WriteAscii (BStreamFileToolkit & tk);
1140 
1141  protected:
1143  // meant to terminate the file or something else (viz. LOD collection)
1145 };
1146 
1147 
1149 
1156 class BBINFILETK_API TK_Compression : public BBaseOpcodeHandler {
1157  public:
1159  TK_Compression (char opcode) : BBaseOpcodeHandler (opcode) {}
1160 
1163 
1164  TK_Status ReadAscii (BStreamFileToolkit & tk);
1165  TK_Status WriteAscii (BStreamFileToolkit & tk);
1167  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
1168  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
1169  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1170  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1171 };
1172 
1174 
1179  // first byte is common/shared items, plus flag for extended bits
1180  TKO_Geo_Face = 0x00000001,
1181  TKO_Geo_Edge = 0x00000002,
1182  TKO_Geo_Line = 0x00000004,
1183  TKO_Geo_Marker = 0x00000008,
1184  TKO_Geo_Text = 0x00000010,
1185  TKO_Geo_Window = 0x00000020,
1186  TKO_Geo_Image = 0x00000040,
1187 
1188  TKO_Geo_Extended = 0x00000080,
1189  TKO_Geo_Extended_Mask = 0xFFFFFF00,
1191 
1192  // extras for color
1193  TKO_Geo_Ambient_Up = 0x00000100,
1194  TKO_Geo_Light = 0x00000200,
1195  TKO_Geo_Face_Contrast = 0x00000400,
1197  TKO_Geo_Front = 0x00001000,
1198  TKO_Geo_Back = 0x00002000,
1199  TKO_Geo_Vertex = 0x00004000,
1200  TKO_Geo_Geom_Colors = 0x0000701F,
1201  TKO_Geo_Every_Colors = 0x000073BF,
1202 
1205  = 0xFFFF0000,
1207  = 16,
1208 
1209  TKO_Geo_Edge_Contrast = 0x00010000,
1210  TKO_Geo_Line_Contrast = 0x00020000,
1213  TKO_Geo_Cut_Edge = 0x00100000,
1215  TKO_Geo_Cut_Face = 0x00400000,
1216 
1217  TKO_Geo_Extended2 = 0x00800000,
1218  TKO_Geo_Extended2_Mask = 0xFF000000,
1220 
1221  TKO_Geo_Text_Contrast = 0x01000000,
1222  TKO_Geo_Ambient_Down = 0x02000000,
1224  = 0x04000000,
1225  TKO_Geo_Ambient = 0x02000100,
1226  TKO_Geo_All_Colors = 0x077F7F7F,
1227 
1228  //extras for selectability
1229  TKO_Geo_String_Cursor = 0x00000100,
1230 // TKO_Geo_Light = 0x00000200, //!< extra item for selectability; refer to ::HC_Set_Selectability for a description
1231 // TKO_Geo_Vertex = 0x00004000, //!< extra item for selectability; refer to ::HC_Set_Selectability for a description
1232  TKO_Geo_Isoline = 0x00000080,
1233  TKO_Geo_Geom_Selects = 0x0000435F,
1234  TKO_Geo_All_Selects = 0x000043FF,
1235 
1236  // extras for visibility
1237 // TKO_Geo_String_Cursor = 0x00000100, //!< extra item for visibility; refer to ::HC_Set_Visibility for a description
1238  TKO_Geo_Face_Lighting = 0x00000200,
1239  TKO_Geo_Edge_Lighting = 0x00000400,
1241  TKO_Geo_Light_Visibles = 0x00000E00,
1242 
1244  TKO_Geo_Perimeter_Edge = 0x00002000,
1245  TKO_Geo_Mesh_Quad = 0x00004000,
1246  TKO_Geo_Hard_Edge = 0x00008000,
1247  TKO_Geo_Cutting_Plane = 0x00010000,
1248  TKO_Geo_Shadow_Emit = 0x00020000,
1249  TKO_Geo_Shadow_Cast = 0x00040000,
1250  TKO_Geo_Shadow_Receive = 0x00080000,
1252 // TKO_Geo_Cut_Edge = 0x00100000, //!< extra item for visibility; refer to ::HC_Set_Visibility for a description
1253  TKO_Geo_Vertex_Vis = 0x00200000,
1254 // TKO_Geo_Cut_Face = 0x00400000, //!< extra item for visibility; refer to ::HC_Set_Visibility for a description
1255  TKO_Geo_Cut_Geometry = 0x00500000,
1256 
1257  TKO_Geo_Adjacent_Edge = 0x01000000,
1258  TKO_Geo_NonCulled_Edge = 0x02000000,
1259  TKO_Geo_Edge_Visibles = 0x0300F002,
1260 
1261 
1262  TKO_Geo_Geom_Visibles = 0x0301FFFF,
1263 
1264 
1265 
1266  TKO_Geo_All_Visibles = 0x037FFF7F
1267 };
1268 
1269 
1284 
1285  TKO_Channel_Count = 10,
1286 
1289 };
1290 
1291 
1293 
1298  TKO_Lock_Callback = 0x00000001,
1299  TKO_Lock_Camera = 0x00000002,
1300  TKO_Lock_Color = 0x00000004,
1301  TKO_Lock_Color_Map = 0x00000008,
1302  TKO_Lock_Driver = 0x00000010,
1304  TKO_Lock_Edge_Pattern = 0x00000040,
1305  TKO_Lock_Edge_Weight = 0x00000080,
1306  TKO_Lock_Face_Pattern = 0x00000100,
1307  TKO_Lock_Handedness = 0x00000200,
1308  TKO_Lock_Heuristics = 0x00000400,
1309  TKO_Lock_Line_Pattern = 0x00000800,
1310  TKO_Lock_Line_Weight = 0x00001000,
1311  TKO_Lock_Marker_Size = 0x00002000,
1312  TKO_Lock_Marker_Symbol = 0x00004000,
1313  TKO_Lock_Metafile = 0x00008000,
1316  TKO_Lock_Selectability = 0x00040000,
1317  TKO_Lock_Styles = 0x00080000,
1319  TKO_Lock_Text_Font = 0x00200000,
1320  TKO_Lock_Text_Path = 0x00400000,
1321  TKO_Lock_Text_Spacing = 0x00800000,
1322  TKO_Lock_User_Options = 0x01000000,
1323  TKO_Lock_User_Value = 0x02000000,
1325  TKO_Lock_Visibility = 0x08000000,
1326  TKO_Lock_Window = 0x10000000,
1327  TKO_Lock_Window_Frame = 0x20000000,
1329  TKO_Lock_All = 0x7FFFFFFF
1330 
1331 };
1332 
1347 };
1348 
1349 
1350 // this should be based off a "data handling" interface class broken out from BBaseOpcodeHandler
1351 class BBINFILETK_API Lock_Masks : public BBaseOpcodeHandler {
1352  public:
1353  int mask;
1354  int value;
1395 
1396 
1397  Lock_Masks () : BBaseOpcodeHandler (0) {}
1400 
1401  TK_Status Read (BStreamFileToolkit & tk, bool mask_only);
1402  TK_Status Write (BStreamFileToolkit & tk, bool mask_only);
1403 
1404  void init() {
1405  mask = value = 0;
1406  color_mask = color_value = 0;
1407  color_face_mask = color_face_value =
1408  color_edge_mask = color_edge_value =
1409  color_line_mask = color_line_value =
1410  color_marker_mask = color_marker_value =
1411  color_text_mask = color_text_value =
1412  color_window_mask = color_window_value =
1413  color_face_contrast_mask = color_face_contrast_value =
1414  color_window_contrast_mask = color_window_contrast_value =
1415  color_back_mask = color_back_value =
1416  color_vertex_mask = color_vertex_value =
1417  color_edge_contrast_mask = color_edge_contrast_value =
1418  color_line_contrast_mask = color_line_contrast_value =
1419  color_marker_contrast_mask = color_marker_contrast_value =
1420  color_vertex_contrast_mask = color_vertex_contrast_value =
1421  color_text_contrast_mask = color_text_contrast_value = 0;
1422  color_simple_reflection_mask = color_simple_reflection_value = 0;
1423  color_cut_face_mask = color_cut_face_value = 0;
1424  color_cut_edge_mask = color_cut_edge_value = 0;
1425  visibility_mask = visibility_value = 0;
1426  }
1427 
1428  void set_color() {
1429  color_mask = color_value = TKO_Geo_All_Colors;
1430  color_face_mask = color_face_value =
1431  color_edge_mask = color_edge_value =
1432  color_line_mask = color_line_value =
1433  color_marker_mask = color_marker_value =
1434  color_text_mask = color_text_value =
1435  color_window_mask = color_window_value =
1436  color_face_contrast_mask = color_face_contrast_value =
1437  color_window_contrast_mask = color_window_contrast_value =
1438  color_back_mask = color_back_value =
1439  color_vertex_mask = color_vertex_value =
1440  color_edge_contrast_mask = color_edge_contrast_value =
1441  color_line_contrast_mask = color_line_contrast_value =
1442  color_marker_contrast_mask = color_marker_contrast_value =
1443  color_vertex_contrast_mask = color_vertex_contrast_value =
1444  color_text_contrast_mask = color_text_contrast_value =
1445  color_simple_reflection_mask = color_simple_reflection_value =
1446  color_cut_face_mask = color_cut_face_value =
1447  color_cut_edge_mask = color_cut_edge_value =
1449  }
1450 };
1451 
1453 
1455 
1465 class BBINFILETK_API TK_Open_Segment : public BBaseOpcodeHandler {
1466  protected:
1467  int m_length;
1469  char * m_string;
1471  void set_segment (char const * segment);
1474  void set_segment (int length);
1475 
1476  public:
1478  TK_Open_Segment () : BBaseOpcodeHandler (TKE_Open_Segment), m_length (0), m_allocated (0), m_string (0) {}
1479  ~TK_Open_Segment();
1480 
1483  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1484 
1485  TK_Status ReadAscii (BStreamFileToolkit & tk);
1486  TK_Status WriteAscii (BStreamFileToolkit & tk);
1487  void Reset ();
1488 
1493  void SetSegment (char const * segment) { set_segment (segment); }
1494 
1499  void SetSegment (int length) { set_segment (length); }
1500 
1504  char const * GetSegment () const { return m_string; }
1509  char * GetSegment () { return m_string; }
1510 
1511 };
1512 
1513 
1515 
1524 class BBINFILETK_API TK_Close_Segment : public BBaseOpcodeHandler {
1525  public:
1527  TK_Close_Segment () : BBaseOpcodeHandler (TKE_Close_Segment) {}
1528 
1531  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1532 
1533  TK_Status ReadAscii (BStreamFileToolkit & tk);
1534  TK_Status WriteAscii (BStreamFileToolkit & tk);
1535 };
1536 
1537 
1538 
1540 
1552 class BBINFILETK_API TK_Reopen_Segment : public BBaseOpcodeHandler {
1553  protected:
1554  int m_index;
1556  public:
1558  TK_Reopen_Segment () : BBaseOpcodeHandler (TKE_Reopen_Segment), m_index (-1) {}
1559 
1562  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1563 
1564  TK_Status ReadAscii (BStreamFileToolkit & tk);
1565  TK_Status WriteAscii (BStreamFileToolkit & tk);
1566 
1568  void SetIndex (int i) { m_index = i; }
1570  int GetIndex () const { return m_index; }
1571 };
1572 
1573 
1575 
1583 class BBINFILETK_API TK_Referenced_Segment : public BBaseOpcodeHandler {
1584  protected:
1585  int m_length;
1587  char * m_string;
1590  char * m_condition;
1594  unsigned char m_renumbered_scope;
1596  bool m_follow;
1598 
1599  void set_segment (char const * segment);
1600  void set_segment (int length);
1601 
1602  public:
1604  TK_Referenced_Segment (unsigned char opcode);
1606 
1609  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1610 
1611  TK_Status ReadAscii (BStreamFileToolkit & tk);
1612  TK_Status WriteAscii (BStreamFileToolkit & tk);
1613  void Reset ();
1614 
1619  void SetSegment (char const * segment) { set_segment (segment); }
1624  void SetSegment (int length) { set_segment (length); }
1628  char const * GetSegment () const { return m_string; }
1633  char * GetSegment () { return m_string; }
1634 
1635 
1640  void SetCondition (char const * condition);
1645  void SetCondition (int length);
1649  char const * GetCondition () const { return m_condition; }
1654  char * GetCondition () { return m_condition; }
1655 
1656 
1658  void SetFollow (bool f) { m_follow = f; }
1660  bool GetFollow () { return m_follow; }
1661 
1662 };
1663 
1664 
1666 
1674 class BBINFILETK_API TK_Reference : public BBaseOpcodeHandler {
1675  protected:
1676  int m_index;
1679  char * m_condition;
1684  bool m_follow;
1685 
1686  public:
1688  TK_Reference ();
1689  ~TK_Reference();
1690 
1693  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1694 
1695  TK_Status ReadAscii (BStreamFileToolkit & tk);
1696  TK_Status WriteAscii (BStreamFileToolkit & tk);
1697  void Reset ();
1698 
1700  void SetIndex (int index) { m_index = index; }
1702  ID_Key GetIndex () { return m_index; }
1703 
1708  void SetCondition (char const * condition);
1713  void SetCondition (int length);
1717  char const * GetCondition () const { return m_condition; }
1722  char * GetCondition () { return m_condition; }
1723 
1724 
1726  void SetFollow (bool f) { m_follow = f; }
1728  bool GetFollow () { return m_follow; }
1729 };
1730 
1731 
1737 };
1738 
1739 
1741 
1749 class BBINFILETK_API TK_Instance : public BBaseOpcodeHandler {
1750  protected:
1756  float m_matrix[16];
1757 
1758  public:
1760  TK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
1761  int options=0, float const * xform=0);
1762 
1765  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1766 
1767  TK_Status ReadAscii (BStreamFileToolkit & tk);
1768  TK_Status WriteAscii (BStreamFileToolkit & tk);
1769 
1770  void Reset ();
1771 };
1772 
1774 
1777 class BBINFILETK_API TK_Delete_Object : public BBaseOpcodeHandler {
1778  protected:
1779  int m_index;
1780 
1781  public:
1784 
1787  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1788 
1789  TK_Status ReadAscii (BStreamFileToolkit & tk);
1790  TK_Status WriteAscii (BStreamFileToolkit & tk);
1791 
1793  void SetIndex (int i) { m_index = i; }
1795  int GetIndex () { return m_index; }
1796 };
1797 
1798 
1800 
1801 
1803 
1806 class BBINFILETK_API TK_LOD : public BBaseOpcodeHandler {
1807  protected:
1813  struct vlist_s *m_current_working;
1815 
1816  TK_Status ReadOneList (BStreamFileToolkit & tk);
1817 
1818  public:
1820  TK_LOD () : BBaseOpcodeHandler (TKE_LOD) {
1821  m_num_primitives = 0;
1822  m_primitives = 0;
1823  m_highest_level = 0;
1824  m_levels_allocated = 0;
1825  m_substage = 0;
1826  m_current_working = 0;
1827  m_current_level = 0;
1828  }
1829  ~TK_LOD();
1830 
1833  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1834 
1835  TK_Status ReadAscii (BStreamFileToolkit & tk);
1836  TK_Status WriteAscii (BStreamFileToolkit & tk);
1837 
1838  void Reset ();
1839 };
1841 #define TKLOD_ESCAPE 255
1842 
1843 
1845 
1847 
1852 class BBINFILETK_API TK_Geometry_Attributes : public BBaseOpcodeHandler {
1853  protected:
1854 
1855  public:
1857  TK_Geometry_Attributes () : BBaseOpcodeHandler (TKE_Geometry_Attributes) {}
1858 
1861 
1862  TK_Status ReadAscii (BStreamFileToolkit & tk);
1863  TK_Status WriteAscii (BStreamFileToolkit & tk);
1865 };
1866 
1868 
1878 class BBINFILETK_API TK_Renumber : public BBaseOpcodeHandler {
1879  protected:
1881 
1882  public:
1886  TK_Renumber (unsigned char opcode, ID_Key key = 0) : BBaseOpcodeHandler (opcode), m_key (key) {}
1887 
1890  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1891 
1892  TK_Status ReadAscii (BStreamFileToolkit & tk);
1893  TK_Status WriteAscii (BStreamFileToolkit & tk);
1894 
1895  void SetKey (ID_Key k) { m_key = k; }
1897  ID_Key GetKey () const { return m_key; }
1898 };
1899 
1900 
1902 
1907 class BBINFILETK_API TK_Tag : public BBaseOpcodeHandler {
1908  protected:
1909 
1910  public:
1912  TK_Tag (unsigned char opcode = TKE_Tag) : BBaseOpcodeHandler (opcode) {}
1913 
1916 
1917  TK_Status ReadAscii (BStreamFileToolkit & tk);
1918  TK_Status WriteAscii (BStreamFileToolkit & tk);
1919 
1921  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1922  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1923  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1924 };
1925 
1927 
1934 // Note: unlike most opcode handlers, this one does not contain its own data, it is primarily a
1935 // wrapper around the key <-> index translation table in the toolkit.
1936 class BBINFILETK_API TK_Dictionary : public BBaseOpcodeHandler {
1937  protected:
1938  unsigned char m_format;
1940  unsigned char m_present;
1942 
1943  Internal_Translator::Index_Key_Pair * m_item;
1944 
1945  public:
1947  TK_Dictionary () : BBaseOpcodeHandler (TKE_Dictionary), m_format (0) {}
1948 
1951 
1952  TK_Status ReadAscii (BStreamFileToolkit & tk);
1953  TK_Status WriteAscii (BStreamFileToolkit & tk);
1954 
1956  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1957  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1958  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1959  void Reset ();
1960 };
1961 
1962 
1964 
1971 class BBINFILETK_API TK_Dictionary_Locater : public BBaseOpcodeHandler {
1972  protected:
1973  int m_size;
1974  int m_offset;
1975 
1976  public:
1978  TK_Dictionary_Locater () : BBaseOpcodeHandler (TKE_Dictionary_Locater), m_offset (0) {}
1979 
1982 
1983  TK_Status ReadAscii (BStreamFileToolkit & tk);
1984  TK_Status WriteAscii (BStreamFileToolkit & tk);
1985 
1987  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1988  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1989  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1990  void Reset ();
1991 
1993  void SetSize (int size) { m_size = size; }
1995  int GetSize () const { return m_size; }
1997  void SetOffset (int offset) { m_offset = offset; }
1999  int GetOffset () const { return m_offset; }
2000 };
2001 
2002 
2004 
2005 
2007 
2012 class BBINFILETK_API TK_Color : public BBaseOpcodeHandler {
2013  protected:
2014  int m_mask;
2015  short m_channels;
2016 
2020  class BBINFILETK_API channel {
2021  public:
2022  float m_rgb[3];
2023  char * m_name;
2024 
2025  channel() : m_name (0) {}
2026  ~channel() { Reset(); }
2027  void Reset () {
2028  if (m_name)
2029  BSTREAM_FREE_ARRAY(m_name, (int)(strlen(m_name) + 1), char);
2030  m_name = 0;
2031  }
2032  };
2033 
2041  float m_gloss;
2042  float m_index;
2044 
2046  void set_channel_rgb (channel & c, float r, float g, float b, int which_channel = -1) {
2047  c.m_rgb[0] = r; c.m_rgb[1] = g; c.m_rgb[2] = b;
2048  if (which_channel != -1) {
2049  m_channels |= (1 << which_channel);
2050  if (which_channel > TKO_Channel_Extended)
2051  m_channels |= (1 << TKO_Channel_Extended);
2052  }
2053  }
2055  void set_channel_name (channel & c, char const * name, int which_channel = -1);
2057  void set_channel_name (channel & c, int length, int which_channel = -1);
2058 
2059  public:
2060  TK_Color ();
2061  ~TK_Color ();
2062 
2063  TK_Status Read (BStreamFileToolkit & tk);
2064  TK_Status Write (BStreamFileToolkit & tk);
2065  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2066 
2067  TK_Status ReadAscii (BStreamFileToolkit & tk);
2068  TK_Status WriteAscii (BStreamFileToolkit & tk);
2069 
2070  void Reset ();
2071 
2073  void SetGeometry (int m) {
2074  m_mask = m & TKO_Geo_All_Colors;
2075  if ((m & TKO_Geo_Extended_Mask) != 0) {
2076  m_mask |= TKO_Geo_Extended;
2077  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2078  m_mask |= TKO_Geo_Extended_Colors;
2079  if ((m & TKO_Geo_Extended2_Mask) != 0)
2080  m_mask |= TKO_Geo_Extended2;
2081  }
2082  }
2083  }
2085  int GetGeometry () const { return m_mask; }
2087  void SetChannels (int c) {
2088  m_channels = (short)c;
2089  if ((c & (((unsigned int)~0) << (TKO_Channel_Extended_Shift))) != 0)
2090  m_channels |= (1 << TKO_Channel_Extended);
2091  }
2093  int GetChannels () const { return (int)m_channels; }
2094 
2096  void SetDiffuse (float r, float g, float b) { set_channel_rgb (m_diffuse, r, g, b, TKO_Channel_Diffuse); }
2098  void SetDiffuse (float const * rgb) { SetDiffuse (rgb[0], rgb[1], rgb[2]); }
2100  void SetDiffuseName (char const * name) { set_channel_name (m_diffuse, name, TKO_Channel_Diffuse); }
2102  void SetDiffuseName (int length) { set_channel_name (m_diffuse, length, TKO_Channel_Diffuse); }
2104  float const * GetDiffuse () const { return m_diffuse.m_rgb; }
2106  char const * GetDiffuseName () const { return m_diffuse.m_name; }
2108  char * GetDiffuseName () { return m_diffuse.m_name; }
2109 
2111  void SetSpecular (float r, float g, float b) { set_channel_rgb (m_specular, r, g, b, TKO_Channel_Specular);}
2113  void SetSpecular (float const * rgb) { SetSpecular (rgb[0], rgb[1], rgb[2]); }
2115  void SetSpecularName (char const * name) { set_channel_name (m_specular, name, TKO_Channel_Specular); }
2117  void SetSpecularName (int length) { set_channel_name (m_specular, length, TKO_Channel_Specular);}
2119  float const * GetSpecular () const { return m_specular.m_rgb; }
2121  char const * GetSpecularName () const { return m_specular.m_name; }
2123  char * GetSpecularName () { return m_specular.m_name; }
2124 
2126  void SetMirror (float r, float g, float b) { set_channel_rgb (m_mirror, r, g, b, TKO_Channel_Mirror); }
2128  void SetMirror (float const * rgb) { SetMirror (rgb[0], rgb[1], rgb[2]); }
2130  void SetMirrorName (char const * name) { set_channel_name (m_mirror, name, TKO_Channel_Mirror); }
2132  void SetMirrorName (int length) { set_channel_name (m_mirror, length, TKO_Channel_Mirror); }
2134  float const * GetMirror () const { return m_mirror.m_rgb; }
2136  char const * GetMirrorName () const { return m_mirror.m_name; }
2138  char * GetMirrorName () { return m_mirror.m_name; }
2139 
2141  void SetTransmission (float r, float g, float b) { set_channel_rgb (m_transmission, r, g, b, TKO_Channel_Transmission); }
2143  void SetTransmission (float const * rgb) { SetTransmission (rgb[0], rgb[1], rgb[2]); }
2145  void SetTransmissionName (char const * name) { set_channel_name (m_transmission, name, TKO_Channel_Transmission); }
2147  void SetTransmissionName (int length) { set_channel_name (m_transmission, length, TKO_Channel_Transmission); }
2149  float const * GetTransmission () const { return m_transmission.m_rgb; }
2151  char const * GetTransmissionName () const { return m_transmission.m_name; }
2153  char * GetTransmissionName () { return m_transmission.m_name; }
2154 
2156  void SetEmission (float r, float g, float b) { set_channel_rgb (m_emission, r, g, b, TKO_Channel_Emission);}
2158  void SetEmission (float const * rgb) { SetEmission (rgb[0], rgb[1], rgb[2]); }
2160  void SetEmissionName (char const * name) { set_channel_name (m_emission, name, TKO_Channel_Emission); }
2162  void SetEmissionName (int length) { set_channel_name (m_emission, length, TKO_Channel_Emission);}
2164  float const * GetEmission () const { return m_emission.m_rgb; }
2166  char const * GetEmissionName () const { return m_emission.m_name; }
2168  char * GetEmissionName () { return m_emission.m_name; }
2169 
2171  void SetEnvironmentName (char const * name) { set_channel_name (m_environment, name, TKO_Channel_Environment); }
2173  void SetEnvironmentName (int length) { set_channel_name (m_environment, length, TKO_Channel_Environment); }
2175  char const * GetEnvironmentName () const { return m_environment.m_name; }
2177  char * GetEnvironmentName () { return m_environment.m_name; }
2178 
2180  void SetBumpName (char const * name) { set_channel_name (m_bump, name, TKO_Channel_Bump); }
2182  void SetBumpName (int length) { set_channel_name (m_bump, length, TKO_Channel_Bump); }
2184  char const * GetBumpName () const { return m_bump.m_name; }
2186  char * GetBumpName () { return m_bump.m_name; }
2187 
2189  void SetGloss (float g) { m_gloss = g; m_channels |= (1<<TKO_Channel_Gloss); }
2191  float GetGloss () const { return m_gloss; }
2193  void SetIndex (float i) { m_index = i; m_channels |= (1<<TKO_Channel_Index); }
2195  float GetIndex () const { return m_index; }
2196 };
2197 
2198 
2200 
2205 class BBINFILETK_API TK_Color_RGB : public BBaseOpcodeHandler {
2206  protected:
2207  int m_mask;
2208  float m_rgb[3];
2209 
2210  public:
2212  TK_Color_RGB () : BBaseOpcodeHandler (TKE_Color_RGB), m_mask (0) {}
2213 
2216  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2217 
2218  TK_Status ReadAscii (BStreamFileToolkit & tk);
2219  TK_Status WriteAscii (BStreamFileToolkit & tk);
2220 
2225  void SetGeometry (int m) {
2226  m_mask = m & TKO_Geo_All_Colors;
2227  if ((m & TKO_Geo_Extended_Mask) != 0) {
2228  m_mask |= TKO_Geo_Extended;
2229  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2230  m_mask |= TKO_Geo_Extended_Colors;
2231  if ((m & TKO_Geo_Extended2_Mask) != 0)
2232  m_mask |= TKO_Geo_Extended2;
2233  }
2234  }
2235  }
2240  int GetGeometry () const { return m_mask; }
2241 
2243  void SetRGB (float r, float g, float b) { m_rgb[0] = r; m_rgb[1] = g; m_rgb[2] = b; }
2245  void SetRGB (float const * rgb) { SetRGB (rgb[0], rgb[1], rgb[2]); }
2247  float const * GetRGB () const { return m_rgb; }
2248 };
2249 
2250 
2252 
2257 class BBINFILETK_API TK_Color_By_Value : public BBaseOpcodeHandler {
2258  protected:
2259  int m_mask;
2260  float m_value[3];
2261  char m_space;
2262 
2263  public:
2265  TK_Color_By_Value () : BBaseOpcodeHandler (TKE_Color_By_Value), m_mask (0) {}
2266 
2269  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2270 
2271  TK_Status ReadAscii (BStreamFileToolkit & tk);
2272  TK_Status WriteAscii (BStreamFileToolkit & tk);
2273 
2278  void SetGeometry (int m) {
2279  m_mask = m & TKO_Geo_All_Colors;
2280  if ((m & TKO_Geo_Extended_Mask) != 0) {
2281  m_mask |= TKO_Geo_Extended;
2282  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2283  m_mask |= TKO_Geo_Extended_Colors;
2284  if ((m & TKO_Geo_Extended2_Mask) != 0)
2285  m_mask |= TKO_Geo_Extended2;
2286  }
2287  }
2288  }
2293  int GetGeometry () const { return m_mask; }
2294 
2296  void SetSpace (int s) { m_space = (char)s; }
2298  int GetSpace () const { return (int)m_space; }
2299 
2301  void SetValue (float a, float b, float c) {
2302  m_value[0] = a; m_value[1] = b; m_value[2] = c;
2303  }
2305  void SetValue (float const * triple) { SetValue (triple[0], triple[1], triple[2]); }
2307  float const * GetValue () const { return m_value; }
2308 };
2309 
2310 
2312 
2318 class BBINFILETK_API TK_Color_By_Index : public BBaseOpcodeHandler {
2319  protected:
2320  int m_mask;
2321  int m_index;
2322 
2323  public:
2325  TK_Color_By_Index (unsigned char opcode) : BBaseOpcodeHandler (opcode), m_mask (0), m_index (-1) {}
2326 
2329  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2330 
2331  TK_Status ReadAscii (BStreamFileToolkit & tk);
2332  TK_Status WriteAscii (BStreamFileToolkit & tk);
2333 
2338  void SetGeometry (int m) {
2339  m_mask = m & TKO_Geo_All_Colors;
2340  if ((m & TKO_Geo_Extended_Mask) != 0) {
2341  m_mask |= TKO_Geo_Extended;
2342  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2343  m_mask |= TKO_Geo_Extended_Colors;
2344  if ((m & TKO_Geo_Extended2_Mask) != 0)
2345  m_mask |= TKO_Geo_Extended2;
2346  }
2347  }
2348  }
2353  int GetGeometry () const { return m_mask; }
2354 
2356  void SetIndex (int i) { m_index = i; }
2358  int GetIndex () const { return m_index; }
2359 };
2360 
2362 
2367 class BBINFILETK_API TK_Color_By_FIndex : public BBaseOpcodeHandler {
2368  protected:
2369  int m_mask;
2370  float m_index;
2371 
2372  public:
2374  TK_Color_By_FIndex () : BBaseOpcodeHandler (TKE_Color_By_FIndex), m_mask (0), m_index (-1.0f) {}
2375 
2378  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2379 
2380  TK_Status ReadAscii (BStreamFileToolkit & tk);
2381  TK_Status WriteAscii (BStreamFileToolkit & tk);
2382 
2387  void SetGeometry (int m) {
2388  m_mask = m & TKO_Geo_All_Colors;
2389  if ((m & TKO_Geo_Extended_Mask) != 0) {
2390  m_mask |= TKO_Geo_Extended;
2391  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2392  m_mask |= TKO_Geo_Extended_Colors;
2393  if ((m & TKO_Geo_Extended2_Mask) != 0)
2394  m_mask |= TKO_Geo_Extended2;
2395  }
2396  }
2397  }
2402  int GetGeometry () const { return m_mask; }
2403 
2405  void SetIndex (float val) { m_index = val; }
2407  float GetIndex () const { return m_index; }
2408 };
2409 
2416 };
2417 
2420 
2425 class BBINFILETK_API TK_Color_Map : public BBaseOpcodeHandler {
2426  protected:
2427  int m_length;
2429  float * m_values;
2431  char * m_string;
2432  unsigned char m_format;
2433 
2435  void set_values (int length, float const * values = 0);
2436 
2437  public:
2440  : 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) {}
2441  ~TK_Color_Map();
2442 
2445  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2446 
2447  TK_Status ReadAscii (BStreamFileToolkit & tk);
2448  TK_Status WriteAscii (BStreamFileToolkit & tk);
2449 
2450  void Reset ();
2451 
2453  void SetFormat (int f) { m_format = (unsigned char)f; }
2455  int GetFormat () const { return (int)m_format; }
2456 
2461  void SetValues (int count, float const * values = 0) { set_values (count, values); }
2463  float const * GetValues () const { return m_values; }
2465  float * GetValues () { return m_values; }
2467  int GetLength () const { return m_length; }
2468 
2473  void SetString (char const * string);
2478  void SetString (int length);
2482  char const * GetString () const { return m_string; }
2487  char * GetString () { return m_string; }
2488 };
2489 
2491 
2494 
2500 class BBINFILETK_API TK_Callback : public BBaseOpcodeHandler {
2501  protected:
2502  int m_length;
2503  char * m_string;
2506  void set_callback (char const * callback);
2507 
2508  void set_callback (int length);
2509 
2510  public:
2512  TK_Callback () : BBaseOpcodeHandler (TKE_Callback), m_length (0), m_string (0) {}
2513  ~TK_Callback();
2514 
2517  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2518 
2519  TK_Status ReadAscii (BStreamFileToolkit & tk);
2520  TK_Status WriteAscii (BStreamFileToolkit & tk);
2521 
2522  void Reset ();
2523 
2525  void SetCallback (char const * callback) { set_callback (callback); }
2527  void SetCallback (int length) { set_callback (length); }
2529  char const * GetCallback () const { return m_string; }
2531  char * GetCallback () { return m_string; }
2532 };
2533 
2535 
2536 
2548  TKO_Interp_Texture = 0x00000007,
2549 
2550  TKO_Interp_Color_Faces = 0x00000008,
2551  TKO_Interp_Color_Edges = 0x00000010,
2553  TKO_Interp_Color = 0x00000038,
2554 
2555  TKO_Interp_Index_Faces = 0x00000040,
2556  TKO_Interp_Index_Edges = 0x00000080,
2557  TKO_Interp_Index_FE = 0x000000C0,
2558 
2567  TKO_Interp_Lighting = 0x00000F00,
2568 
2571  TKO_Rendo_Any_HSR = 0x00003000,
2572 
2573  TKO_Rendo_Local_Viewer = 0x00004000,
2576 
2577  TKO_Rendo_Debug = 0x00020000,
2578 
2579  TKO_Rendo_Technology = 0x00040000,
2580  TKO_Rendo_Quantization = 0x00080000,
2581  TKO_Rendo_TQ = 0x000C0000,
2582 
2584 
2586  TKO_Rendo_Fog = 0x00400000,
2587 
2590 
2591  TKO_Rendo_LOD = 0x02000000,
2592  TKO_Rendo_LOD_Options = 0x04000000,
2593 
2597 
2598  TKO_Rendo_Stereo = 0x20000000,
2600 
2601 // hpux doesn't like the high bit set as part of the enumerated type
2602  //TKO_Rendo_Extended = 0x80000000,
2603 #ifndef SWIG
2604 #define TKO_Rendo_Extended 0x80000000
2605 #else
2606  TKO_Rendo_Extended = 0x8000000,
2607 #endif
2608 
2609  // extended settings
2610  TKO_Rendo_Tessellation = 0x00000001,
2613  TKO_Rendo_Cut_Geometry = 0x00000008,
2614  TKO_Rendo_Depth_Range = 0x00000010,
2616  TKO_Rendo_Image_Scale = 0x00000040,
2620  TKO_Rendo_Image_Tint = 0x00000400,
2626  TKO_Rendo_Screen_Range = 0x00010000,
2628  TKO_Rendo_Shadow_Map = 0x00040000,
2633  TKO_Rendo_Antialias = 0x00800000,
2642 
2643 #ifndef SWIG
2644 #define TKO_Rendo_Extended2 0x80000000
2645 #else
2646  TKO_Rendo_Extended2 = 0x8000000,
2647 #endif
2648 
2649  // more extended settings
2650  TKO_Rendo_Forced_Lock = 0x00000001,
2660 
2661  // type for specific fields
2672  TKO_HSR_Mask = 0x0F,
2673  TKO_THSR_Mask = 0xF0,
2674 
2677 
2690 
2691 
2702 
2706 
2714  TKO_Simple_Shadow_Extended = 0x0080, // internal use, indicates presence of extended bits
2715  TKO_Simple_Shadow_Extended_Mask = 0xFF00, // internal use, indicates bits which require TKO_Simple_Shadow_Extended
2716  TKO_Simple_Shadow_Extended_Shift = 8, // internal use, shift of extended section
2721  TKO_Simple_Shadow_Extended2 = 0x8000, // reserved for future expansion
2722 
2729  TKO_Shadow_Map_Extended = 0x0080, // indicates presence of extended bits
2732  TKO_Shadow_Map_Extended_Mask = 0xFF00, // mask of bits requiring extended
2733  TKO_Shadow_Map_Extended2 = 0x8000, // reserved for future expansion
2734 
2747  TKO_Simple_Reflection_Extended2 = 0x8000, // reserved for future expansion
2748 
2749  TKO_Mask_None = 0x0000,
2757  TKO_Mask_Camera = 0x000F,
2758  TKO_Mask_Model = 0x0070,
2759  TKO_Mask_All = 0x007F,
2765 
2771 
2776 
2781 
2790 
2806  TKO_Hidden_Line_Color = 0x00010000,
2807  TKO_Hidden_Line_Weight = 0x00020000,
2816 
2823 
2827 
2834 
2838 
2839  TKO_Tint_On = 0x0001,
2840  TKO_Tint_Off = 0x0002,
2841  TKO_Tint_Range = 0x0004,
2842  TKO_Tint_Color = 0x0008,
2843  TKO_Tint_Effect = 0x0010,
2844 
2849 
2851  TKO_LOD_Screen_Space = 0x00000002,
2852  TKO_LOD_Physical = 0x00000004,
2853  TKO_LOD_Tolerance_FRU = 0x00000008,
2854  TKO_LOD_Tolerance_ORU = 0x00000010,
2855  TKO_LOD_Preprocess = 0x00000020,
2858  TKO_LOD_Ratio = 0x00000100,
2859  TKO_LOD_Threshold = 0x00000200,
2861  TKO_LOD_Clamp = 0x00000800,
2862  TKO_LOD_Num_Levels = 0x00001000,
2863  TKO_LOD_Max_Degree = 0x00002000,
2864  TKO_LOD_Tolerance = 0x00004000,
2867  TKO_LOD_Fallback = 0x00020000,
2869  TKO_LOD_Algorithm = 0x00080000,
2870  TKO_LOD_Mode_Segment = 0x00100000,
2871 
2876 
2879 
2885 
2894 
2901 
2911 
2915 
2918  = 0x0200,
2920  = 0x0400,
2921 
2924 
2927 
2933 };
2934 
2935 
2936 #if 0
2937 class BBINFILETK_API TK_Radiosity_RayTrace_Options : public BBaseOpcodeHandler {
2938  protected:
2939 
2940  public:
2941  TK_Radiosity_RayTrace_Options () : BBaseOpcodeHandler (TKE_Radiosity_RayTrace_Options) {}
2942  ~TK_Radiosity_RayTrace_Options () {}
2943 
2946 
2947  TK_Status ReadAscii (BStreamFileToolkit & tk);
2948  TK_Status WriteAscii (BStreamFileToolkit & tk);
2949 };
2950 #endif
2951 
2952 
2954 
2960 class BBINFILETK_API TK_Rendering_Options : public BBaseOpcodeHandler {
2961  protected:
2962  int m_mask[3];
2963  int m_value[3];
2964 
2965  unsigned char m_hsr;
2966  unsigned char m_tq;
2967  int m_debug;
2970 
2971  float m_fog_limits[2];
2972 
2975 
2976  unsigned char m_buffer_options_mask;
2977  unsigned char m_buffer_options_value;
2979 
2985  float m_hlr_color[3];
2987  unsigned char m_hlr_weight_units;
2988  unsigned char m_hlr_hsr_algorithm;
2989 
2990  unsigned short m_contour_options;
2991  unsigned short m_isoline_options;
3004  unsigned char * m_isoline_weights_unit;
3005 
3006  unsigned short m_tint_options;
3007  float m_tint_color[3];
3008  float m_tint_range[2];
3010 
3015  float m_ratio[8];
3017  float m_threshold[8];
3020  unsigned char m_clamp;
3021  unsigned char m_num_levels;
3023  float m_tolerance;
3024  float m_bounding[6];
3026  float m_cutoff[8];
3027  unsigned char m_heuristic;
3028  unsigned char m_fallback;
3029 
3043 
3046 
3047  unsigned char m_tessellations;
3049  char m_cylinder[8];
3051  char m_sphere[8];
3052 
3053  float m_gooch_color_range[2];
3057  unsigned short m_transparency_options;
3058 
3059  unsigned char m_cut_geometry;
3060  unsigned char m_cut_geometry_level;
3061  unsigned char m_cut_geometry_match;
3063 
3064  unsigned short m_simple_shadow;
3065  unsigned char m_simple_shadow_blur;
3067  float m_simple_shadow_plane[4];
3068  float m_simple_shadow_light[3];
3069  float m_simple_shadow_color[3];
3070  float m_simple_shadow_opacity;
3071 
3072  unsigned short m_shadow_map;
3073  unsigned short m_shadow_map_resolution;
3074  unsigned char m_shadow_map_samples;
3075 
3076  unsigned short m_simple_reflection;
3077  float m_simple_reflection_plane[4];
3084 
3085  float m_depth_range[2];
3086  float m_screen_range[4];
3087  float m_ambient_up_vector[3];
3088  float m_image_scale[2];
3089  unsigned short m_mask_transform;
3090 
3091  unsigned char m_geometry_options;
3092  float m_dihedral;
3093 
3094  float m_image_tint_color[3];
3095  float m_texture_tint_color[3];
3096  unsigned char m_depth_peeling_layers;
3099 
3104  unsigned char m_display_list_level;
3105  unsigned char m_antialias;
3106 
3107  int m_extra;
3108 
3109 #if 0
3110  TK_Radiosity_RayTrace_Options *m_rrt;
3111 #endif
3112 
3113  public:
3117 
3120  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
3121 
3122  TK_Status ReadAscii (BStreamFileToolkit & tk);
3123  TK_Status WriteAscii (BStreamFileToolkit & tk);
3124 
3125  void Reset ();
3126 
3128  void SetMask (int m0, int m1=0, int m2=0) {
3129  m_mask[0] = m0;
3130  m_mask[1] = m1;
3131  m_mask[2] = m2;
3132  if (m2 != 0)
3133  m_mask[1] |= TKO_Rendo_Extended;
3134  if (m1 != 0)
3135  m_mask[0] |= TKO_Rendo_Extended;
3136  }
3138  int GetMask (int index=0) const { return m_mask[index]; }
3139 
3141  void SetValue (int v0, int v1=0, int v2=0) { m_value[0] = v0; m_value[1] = v1; m_value[2] = v2; }
3143  int GetValue (int index=0) const { return m_value[index]; }
3144 
3146  void SetHSR (int h) { m_hsr &= 0xF0; m_hsr |= (unsigned char)h & 0x0F; }
3148  int GetHSR () const { return (int)(m_hsr & 0x0F); }
3149 
3151  void SetTransparentHSR (int t) { m_hsr &= 0x0F; m_hsr |= (unsigned char)t << 4; }
3153  int GetTransparentHSR () const { return (int)(m_hsr >> 4); }
3154 
3156  void SetTransparentStyle (int s) { m_transparency_options = (unsigned short)s; }
3158  int GetTransparentStyle () const { return (int)m_transparency_options; }
3159 
3161  void SetTechnology (int t) { m_tq &= 0xF0; m_tq |= (unsigned char)t & 0x0F; }
3163  int GetTechnology () const { return (int)(m_tq & 0x0F); }
3164 
3166  void SetQuantization (int q) { m_tq &= 0x0F; m_tq |= (unsigned char)q << 4; }
3168  int GetQuantization () const { return (int)(m_tq >> 4); }
3169 
3171  void SetDebug (int d) { m_debug = d; }
3173  int GetDebug () const { return m_debug; }
3174 
3176  void SetFaceDisplacement (int d) { m_face_displacement = d; }
3178  int GetFaceDisplacement () const { return m_face_displacement; }
3179 
3181  void SetVertexDisplacement (int d) { m_vertex_displacement = d; }
3183  int GetVertexDisplacement () const { return m_vertex_displacement; }
3184 
3186  void SetGeneralDisplacement (int d) { m_general_displacement = d; }
3188  int GetGeneralDisplacement () const { return m_general_displacement; }
3189 
3191  void SetJoinCutoffAngle (int d) { m_join_cutoff_angle = d; }
3193  int GetJoinCutoffAngle () const { return m_join_cutoff_angle; }
3194 
3196  void SetFogLimits (float n, float f) { m_fog_limits[0] = n; m_fog_limits[1] = f; }
3198  void SetFogLimits (float const * l) { SetFogLimits (l[0], l[1]); }
3200  float const * GetFogLimits () const { return m_fog_limits; }
3201 
3202 
3204  void SetLockMask (int m) { m_lock.mask = m; }
3206  int GetLockMask () const { return m_lock.mask; }
3207 
3209  void SetLockValue (int v) { m_lock.value = v; }
3211  int GetLockValue () const { return m_lock.value; }
3212 
3217  void SetVisibilityLockMask (int m) { m_lock.visibility_mask = m; }
3222  int GetVisibilityLockMask () const { return m_lock.visibility_mask; }
3223 
3228  void SetVisibilityLockValue (int v) { m_lock.visibility_value = v; }
3233  int GetVisibilityLockValue () const { return m_lock.visibility_value; }
3234 
3235 
3240  void SetColorLockMask (int m) { m_lock.color_mask = m; }
3245  int GetColorLockMask () const { return m_lock.color_mask; }
3246 
3251  void SetColorLockValue (int v) { m_lock.color_value = v; }
3256  int GetColorLockValue () const { return m_lock.color_value; }
3257 
3258 
3263  void SetColorFaceLockMask (int m) { m_lock.color_face_mask = (short)m; }
3268  int GetColorFaceLockMask () const { return m_lock.color_face_mask; }
3269 
3274  void SetColorFaceLockValue (int v) { m_lock.color_face_value = (short)v; }
3279  int GetColorFaceLockValue () const { return m_lock.color_face_value; }
3280 
3281 
3286  void SetColorEdgeLockMask (int m) { m_lock.color_edge_mask = (short)m; }
3291  int GetColorEdgeLockMask () const { return m_lock.color_edge_mask; }
3292 
3297  void SetColorEdgeLockValue (int v) { m_lock.color_edge_value = (short)v; }
3302  int GetColorEdgeLockValue () const { return m_lock.color_edge_value; }
3303 
3304 
3309  void SetColorLineLockMask (int m) { m_lock.color_line_mask = (short)m; }
3314  int GetColorLineLockMask () const { return m_lock.color_line_mask; }
3315 
3320  void SetColorLineLockValue (int v) { m_lock.color_line_value = (short)v; }
3325  int GetColorLineLockValue () const { return m_lock.color_line_value; }
3326 
3327 
3332  void SetColorMarkerLockMask (int m) { m_lock.color_marker_mask = (short)m; }
3337  int GetColorMarkerLockMask () const { return m_lock.color_marker_mask; }
3338 
3343  void SetColorMarkerLockValue (int v) { m_lock.color_marker_value = (short)v; }
3348  int GetColorMarkerLockValue () const { return m_lock.color_marker_value; }
3349 
3350 
3355  void SetColorTextLockMask (int m) { m_lock.color_text_mask = (short)m; }
3360  int GetColorTextLockMask () const { return m_lock.color_text_mask; }
3361 
3366  void SetColorTextLockValue (int v) { m_lock.color_text_value = (short)v; }
3371  int GetColorTextLockValue () const { return m_lock.color_text_value; }
3372 
3373 
3378  void SetColorWindowLockMask (int m) { m_lock.color_window_mask = (short)m; }
3383  int GetColorWindowLockMask () const { return m_lock.color_window_mask; }
3384 
3389  void SetColorWindowLockValue (int v) { m_lock.color_window_value = (short)v; }
3394  int GetColorWindowLockValue () const { return m_lock.color_window_value; }
3395 
3396 
3401  void SetColorFaceContrastLockMask (int m) { m_lock.color_face_contrast_mask = (short)m; }
3406  int GetColorFaceContrastLockMask () const { return m_lock.color_face_contrast_mask; }
3407 
3412  void SetColorFaceContrastLockValue (int v) { m_lock.color_face_contrast_value = (short)v; }
3417  int GetColorFaceContrastLockValue () const { return m_lock.color_face_contrast_value; }
3418 
3419 
3424  void SetColorWindowContrastLockMask (int m) { m_lock.color_window_contrast_mask = (short)m; }
3429  int GetColorWindowContrastLockMask () const { return m_lock.color_window_contrast_mask; }
3430 
3435  void SetColorWindowContrastLockValue (int v) { m_lock.color_window_contrast_value = (short)v; }
3440  int GetColorWindowContrastLockValue () const { return m_lock.color_window_contrast_value; }
3441 
3442 
3447  void SetColorBackLockMask (int m) { m_lock.color_back_mask = (short)m; }
3452  int GetColorBackLockMask () const { return m_lock.color_back_mask; }
3453 
3458  void SetColorBackLockValue (int v) { m_lock.color_back_value = (short)v; }
3463  int GetColorBackLockValue () const { return m_lock.color_back_value; }
3464 
3465 
3470  void SetColorVertexLockMask (int m) { m_lock.color_vertex_mask = (short)m; }
3475  int GetColorVertexLockMask () const { return m_lock.color_vertex_mask; }
3476 
3481  void SetColorVertexLockValue (int v) { m_lock.color_vertex_value = (short)v; }
3486  int GetColorVertexLockValue () const { return m_lock.color_vertex_value; }
3487 
3488 
3493  void SetColorEdgeContrastLockMask (int m) { m_lock.color_edge_contrast_mask = (short)m; }
3498  int GetColorEdgeContrastLockMask () const { return m_lock.color_edge_contrast_mask; }
3499 
3504  void SetColorEdgeContrastLockValue (int v) { m_lock.color_edge_contrast_value = (short)v; }
3509  int GetColorEdgeContrastLockValue () const { return m_lock.color_edge_contrast_value; }
3510 
3511 
3516  void SetColorLineContrastLockMask (int m) { m_lock.color_line_contrast_mask = (short)m; }
3521  int GetColorLineContrastLockMask () const { return m_lock.color_line_contrast_mask; }
3522 
3527  void SetColorLineContrastLockValue (int v) { m_lock.color_line_contrast_value = (short)v; }
3532  int GetColorLineContrastLockValue () const { return m_lock.color_line_contrast_value; }
3533 
3534 
3539  void SetColorMarkerContrastLockMask (int m) { m_lock.color_marker_contrast_mask = (short)m; }
3544  int GetColorMarkerContrastLockMask () const { return m_lock.color_marker_contrast_mask; }
3545 
3550  void SetColorMarkerContrastLockValue (int v) { m_lock.color_marker_contrast_value = (short)v; }
3555  int GetColorMarkerContrastLockValue () const { return m_lock.color_marker_contrast_value; }
3556 
3557 
3562  void SetColorVertexContrastLockMask (int m) { m_lock.color_vertex_contrast_mask = (short)m; }
3567  int GetColorVertexContrastLockMask () const { return m_lock.color_vertex_contrast_mask; }
3568 
3573  void SetColorVertexContrastLockValue (int v) { m_lock.color_vertex_contrast_value = (short)v; }
3578  int GetColorVertexContrastLockValue () const { return m_lock.color_vertex_contrast_value; }
3579 
3580 
3585  void SetColorTextContrastLockMask (int m) { m_lock.color_text_contrast_mask = (short)m; }
3590  int GetColorTextContrastLockMask () const { return m_lock.color_text_contrast_mask; }
3591 
3596  void SetColorTextContrastLockValue (int v) { m_lock.color_text_contrast_value = (short)v; }
3601  int GetColorTextContrastLockValue () const { return m_lock.color_text_contrast_value; }
3602 
3603 
3604 
3605 
3607  void SetForcedLockMask (int m) { m_forced.mask = m; }
3609  int GetForcedLockMask () const { return m_forced.mask; }
3610 
3612  void SetForcedLockValue (int v) { m_forced.value = v; }
3614  int GetForcedLockValue () const { return m_forced.value; }
3615 
3620  void SetVisibilityForcedLockMask (int m) { m_forced.visibility_mask = m; }
3625  int GetVisibilityForcedLockMask () const { return m_forced.visibility_mask; }
3626 
3631  void SetVisibilityForcedLockValue (int v) { m_forced.visibility_value = v; }
3636  int GetVisibilityForcedLockValue () const { return m_forced.visibility_value; }
3637 
3638 
3643  void SetColorForcedLockMask (int m) { m_forced.color_mask = m; }
3648  int GetColorForcedLockMask () const { return m_forced.color_mask; }
3649 
3654  void SetColorForcedLockValue (int v) { m_forced.color_value = v; }
3659  int GetColorForcedLockValue () const { return m_forced.color_value; }
3660 
3661 
3666  void SetColorFaceForcedLockMask (int m) { m_forced.color_face_mask = (short)m; }
3671  int GetColorFaceForcedLockMask () const { return m_forced.color_face_mask; }
3672 
3677  void SetColorFaceForcedLockValue (int v) { m_forced.color_face_value = (short)v; }
3682  int GetColorFaceForcedLockValue () const { return m_forced.color_face_value; }
3683 
3684 
3689  void SetColorEdgeForcedLockMask (int m) { m_forced.color_edge_mask = (short)m; }
3694  int GetColorEdgeForcedLockMask () const { return m_forced.color_edge_mask; }
3695 
3700  void SetColorEdgeForcedLockValue (int v) { m_forced.color_edge_value = (short)v; }
3705  int GetColorEdgeForcedLockValue () const { return m_forced.color_edge_value; }
3706 
3707 
3712  void SetColorLineForcedLockMask (int m) { m_forced.color_line_mask = (short)m; }
3717  int GetColorLineForcedLockMask () const { return m_forced.color_line_mask; }
3718 
3723  void SetColorLineForcedLockValue (int v) { m_forced.color_line_value = (short)v; }
3728  int GetColorLineForcedLockValue () const { return m_forced.color_line_value; }
3729 
3730 
3735  void SetColorMarkerForcedLockMask (int m) { m_forced.color_marker_mask = (short)m; }
3740  int GetColorMarkerForcedLockMask () const { return m_forced.color_marker_mask; }
3741 
3746  void SetColorMarkerForcedLockValue (int v) { m_forced.color_marker_value = (short)v; }
3751  int GetColorMarkerForcedLockValue () const { return m_forced.color_marker_value; }
3752 
3753 
3758  void SetColorTextForcedLockMask (int m) { m_forced.color_text_mask = (short)m; }
3763  int GetColorTextForcedLockMask () const { return m_forced.color_text_mask; }
3764 
3769  void SetColorTextForcedLockValue (int v) { m_forced.color_text_value = (short)v; }
3774  int GetColorTextForcedLockValue () const { return m_forced.color_text_value; }
3775 
3776 
3781  void SetColorWindowForcedLockMask (int m) { m_forced.color_window_mask = (short)m; }
3786  int GetColorWindowForcedLockMask () const { return m_forced.color_window_mask; }
3787 
3792  void SetColorWindowForcedLockValue (int v) { m_forced.color_window_value = (short)v; }
3797  int GetColorWindowForcedLockValue () const { return m_forced.color_window_value; }
3798 
3799 
3804  void SetColorFaceContrastForcedLockMask (int m) { m_forced.color_face_contrast_mask = (short)m; }
3809  int GetColorFaceContrastForcedLockMask () const { return m_forced.color_face_contrast_mask; }
3810 
3815  void SetColorFaceContrastForcedLockValue (int v) { m_forced.color_face_contrast_value = (short)v; }
3820  int GetColorFaceContrastForcedLockValue () const { return m_forced.color_face_contrast_value; }
3821 
3822 
3827  void SetColorWindowContrastForcedLockMask (int m) { m_forced.color_window_contrast_mask = (short)m; }
3832  int GetColorWindowContrastForcedLockMask () const { return m_forced.color_window_contrast_mask; }
3833 
3838  void SetColorWindowContrastForcedLockValue (int v) { m_forced.color_window_contrast_value = (short)v; }
3843  int GetColorWindowContrastForcedLockValue () const { return m_forced.color_window_contrast_value; }
3844 
3845 
3850  void SetColorBackForcedLockMask (int m) { m_forced.color_back_mask = (short)m; }
3855  int GetColorBackForcedLockMask () const { return m_forced.color_back_mask; }
3856 
3861  void SetColorBackForcedLockValue (int v) { m_forced.color_back_value = (short)v; }
3866  int GetColorBackForcedLockValue () const { return m_forced.color_back_value; }
3867 
3868 
3873  void SetColorVertexForcedLockMask (int m) { m_forced.color_vertex_mask = (short)m; }
3878  int GetColorVertexForcedLockMask () const { return m_forced.color_vertex_mask; }
3879 
3884  void SetColorVertexForcedLockValue (int v) { m_forced.color_vertex_value = (short)v; }
3889  int GetColorVertexForcedLockValue () const { return m_forced.color_vertex_value; }
3890 
3891 
3896  void SetColorEdgeContrastForcedLockMask (int m) { m_forced.color_edge_contrast_mask = (short)m; }
3901  int GetColorEdgeContrastForcedLockMask () const { return m_forced.color_edge_contrast_mask; }
3902 
3907  void SetColorEdgeContrastForcedLockValue (int v) { m_forced.color_edge_contrast_value = (short)v; }
3912  int GetColorEdgeContrastForcedLockValue () const { return m_forced.color_edge_contrast_value; }
3913 
3914 
3919  void SetColorLineContrastForcedLockMask (int m) { m_forced.color_line_contrast_mask = (short)m; }
3924  int GetColorLineContrastForcedLockMask () const { return m_forced.color_line_contrast_mask; }
3925 
3930  void SetColorLineContrastForcedLockValue (int v) { m_forced.color_line_contrast_value = (short)v; }
3935  int GetColorLineContrastForcedLockValue () const { return m_forced.color_line_contrast_value; }
3936 
3937 
3942  void SetColorMarkerContrastForcedLockMask (int m) { m_forced.color_marker_contrast_mask = (short)m; }
3947  int GetColorMarkerContrastForcedLockMask () const { return m_forced.color_marker_contrast_mask; }
3948 
3953  void SetColorMarkerContrastForcedLockValue (int v) { m_forced.color_marker_contrast_value = (short)v; }
3958  int GetColorMarkerContrastForcedLockValue () const { return m_forced.color_marker_contrast_value; }
3959 
3960 
3965  void SetColorVertexContrastForcedLockMask (int m) { m_forced.color_vertex_contrast_mask = (short)m; }
3970  int GetColorVertexContrastForcedLockMask () const { return m_forced.color_vertex_contrast_mask; }
3971 
3976  void SetColorVertexContrastForcedLockValue (int v) { m_forced.color_vertex_contrast_value = (short)v; }
3981  int GetColorVertexContrastForcedLockValue () const { return m_forced.color_vertex_contrast_value; }
3982 
3983 
3988  void SetColorTextContrastForcedLockMask (int m) { m_forced.color_text_contrast_mask = (short)m; }
3993  int GetColorTextContrastForcedLockMask () const { return m_forced.color_text_contrast_mask; }
3994 
3999  void SetColorTextContrastForcedLockValue (int v) { m_forced.color_text_contrast_value = (short)v; }
4004  int GetColorTextContrastForcedLockValue () const { return m_forced.color_text_contrast_value; }
4005 
4006 
4007 
4008 
4010  void SetBufferOptionsMask (int v) { m_buffer_options_mask = (unsigned char)v; }
4012  int GetBufferOptionsMask () const { return m_buffer_options_mask; }
4014  void SetBufferOptionsValue (int v) { m_buffer_options_value = (unsigned char) v; }
4016  int GetBufferOptionsValue () const { return m_buffer_options_value; }
4018  void SetBufferSizeLimit (int l) { m_buffer_size_limit = l; }
4020  int GetBufferSizeLimit () const { return m_buffer_size_limit; }
4021 
4022 
4024  void SetStereoSeparation (float s) { m_stereo_separation = s; }
4026  float GetStereoSeparation () const { return m_stereo_separation; }
4028  void SetStereoDistance (float d) { m_stereo_distance = d; }
4030  float GetStereoDistance () const { return m_stereo_distance; }
4031 
4032 
4034  void SetHlrOptions (int o) {
4035  m_hlr_options = o;
4036  if ((o & TKO_Hidden_Line_Extended_Mask) != 0) {
4037  m_hlr_options |= TKO_Hidden_Line_Extended;
4038  if ((o & TKO_Hidden_Line_Extended2_Mask) != 0)
4039  m_hlr_options |= TKO_Hidden_Line_Extended2;
4040  }
4041  }
4043  int GetHlrOptions () const { return m_hlr_options; }
4045  void SetHlrDimFactor (float d) { m_hlr_dim_factor = d; }
4047  float GetHlrDimFactor () const { return m_hlr_dim_factor; }
4049  void SetHlrFaceDisplacement (float d) { m_hlr_face_displacement = d; }
4051  float GetHlrFaceDisplacement () const { return m_hlr_face_displacement; }
4053  void SetHlrLinePattern (int p) { m_hlr_line_pattern = p; }
4055  int GetHlrLinePattern () const { return m_hlr_line_pattern; }
4057  void SetHlrFaceSortingAlgorithm (int a) { m_hlr_hsr_algorithm = (unsigned char)a; }
4059  float GetHlrFaceSortingAlgorithm () const { return m_hlr_hsr_algorithm; }
4060 
4061 
4063  void SetNURBSOptionsMask (int m) {
4064  m_nurbs_options_mask = m;
4065  if ((m & TKO_NURBS_Extended_Mask) != 0)
4066  m_nurbs_options_mask |= TKO_NURBS_Extended;
4067  }
4069  int GetNURBSOptionsMask () const { return m_nurbs_options_mask; }
4071  void SetNURBSOptionsValue (int v) { m_nurbs_options_value = v; }
4073  int GetNURBSOptionsValue () const { return m_nurbs_options_value; }
4075  void SetNURBSCurveBudget (int b) { m_curve_budget = b; }
4077  int GetNURBSCurveBudget () const { return m_curve_budget; }
4079  void SetNURBSCurveContinuedBudget (int b) { m_curve_continued_budget = b; }
4081  int GetNURBSCurveContinuedBudget () const { return m_curve_continued_budget; }
4083  void SetNURBSSurfaceBudget (int b) { m_surface_budget = b; }
4085  int GetNURBSSurfaceBudget () const { return m_surface_budget; }
4087  void SetNURBSSurfaceTrimBudget (int b) { m_surface_trim_budget = b; }
4089  int GetNURBSSurfaceTrimBudget () const { return m_surface_trim_budget; }
4090 
4091 
4093  void SetLodOptionsMask (int v) { m_lod_options_mask = v; }
4095  int GetLodOptionsMask () const { return m_lod_options_mask; }
4097  void SetLodOptionsValue (int v) { m_lod_options_value = v; }
4099  int GetLodOptionsValue () const { return m_lod_options_value; }
4101  void SetLodAlgorithm (int v) { m_lod_algorithm = (char)v; }
4103  int GetLodAlgorithm () const { return m_lod_algorithm; }
4105  void SetLodMinimumTriangleCount (int v) { m_min_triangle_count = v; }
4107  int GetLodMinimumTriangleCount () const { return m_min_triangle_count; }
4109  void SetLodNumLevels (int v) { m_num_levels = (unsigned char)v; }
4111  int GetLodNumLevels () const { return m_num_levels; }
4113  void SetLodClamp (int v) { m_clamp = (unsigned char)v; }
4115  int GetLodClamp () const { return m_clamp; }
4117  void SetLodMaxDegree (int v) { m_max_degree = v; }
4119  int GetLodMaxDegree () const { return m_max_degree; }
4121  void SetLodTolerance (float v) { m_tolerance = v; }
4123  float GetLodTolerance () const { return m_tolerance; }
4125  void SetLodFallback (int v) { m_fallback = (char)v; }
4127  int GetLodFallback () const { return m_fallback; }
4128 
4130  void SetLodBounding (float x1, float y1, float z1, float x2, float y2, float z2) {
4131  m_bounding[0] = x1; m_bounding[1] = y1; m_bounding[2] = z1;
4132  m_bounding[3] = x2; m_bounding[4] = y2; m_bounding[5] = z2;
4133  }
4135  void SetLodBounding (float const * s, float const * e) {
4136  SetLodBounding (s[0], s[1], s[2], e[0], e[1], e[2]);
4137  }
4139  void SetLodBounding (float const * p) { SetLodBounding (&p[0], &p[3]); }
4141  float const * GetLodBounding () const { return m_bounding; }
4142 
4144  void SetLodRatio (float r) { m_num_ratios = 1; m_ratio[0] = r; }
4146  void SetLodRatios (int c, float const * r = 0) {
4147  m_num_ratios = (char)c;
4148  if (r != 0) {
4149  int i;
4150  for (i=0; i<c; ++i)
4151  m_ratio[i] = r[i];
4152  }
4153  }
4155  int GetLodNumRatios () const { return m_num_ratios; }
4157  float const * GetLodRatios () const { return m_ratio; }
4159  float * GetLodRatios () { return m_ratio; }
4160 
4162  void SetLodThresholdType (int v) { m_threshold_type = (char)v; }
4164  int GetLodThresholdType () const { return m_threshold_type; }
4166  void SetLodThreshold (float r) { m_num_thresholds = 1; m_threshold[0] = r; }
4168  void SetLodThresholds (int c, float const * r = 0) {
4169  m_num_thresholds = (char)c;
4170  if (r != 0) {
4171  int i;
4172  for (i=0; i<c; ++i)
4173  m_threshold[i] = r[i];
4174  }
4175  }
4177  int GetLodNumThresholds () const { return m_num_thresholds; }
4179  float const * GetLodThresholds () const { return m_threshold; }
4181  float * GetLodThresholds () { return m_threshold; }
4182 
4184  void SetLodCutoff (float r) { m_num_cutoffs = 1; m_cutoff[0] = r; }
4186  void SetLodCutoffs (int c, float const * r = 0) {
4187  m_num_cutoffs = (char)c;
4188  if (r != 0) {
4189  int i;
4190  for (i=0; i<c; ++i)
4191  m_cutoff[i] = r[i];
4192  }
4193  }
4195  int GetLodNumCutoffs () const { return m_num_cutoffs; }
4197  float const * GetLodCutoffs () const { return m_cutoff; }
4199  float * GetLodCutoffs () { return m_cutoff; }
4200 
4201 
4203  void SetTessellationMask (int m) { m_tessellations = (unsigned char)m; }
4205  int GetTessellationMask () const { return m_tessellations; }
4207  void SetCylinderTessellation (int n) { m_num_cylinder = (char)1; m_cylinder[0] = (char)n; }
4209  void SetCylinderTessellations (int c, char const * n = 0) {
4210  m_num_cylinder = (char)c;
4211  if (n != 0) {
4212  int i;
4213  for (i=0; i<c; ++i)
4214  m_cylinder[i] = n[i];
4215  }
4216  }
4218  int GetNumCylinderTessellations () const { return m_num_cylinder; }
4220  char const * GetCylinderTessellations () const { return m_cylinder; }
4222  char * GetCylinderTessellations () { return m_cylinder; }
4224  void SetSphereTessellation (int n) { m_num_sphere = (char)1; m_sphere[0] = (char)n; }
4226  void SetSphereTessellations (int c, char const * n = 0) {
4227  m_num_sphere = (char)c;
4228  if (n != 0) {
4229  int i;
4230  for (i=0; i<c; ++i)
4231  m_sphere[i] = n[i];
4232  }
4233  }
4235  int GetNumSphereTessellations () const { return m_num_sphere; }
4237  char const * GetSphereTessellations () const { return m_sphere; }
4239  char * GetSphereTessellations () { return m_sphere; }
4240 
4242  void SetGeometryOptionsMask (int m) { m_geometry_options = (unsigned char)m; }
4244  int GetGeometryOptionsMask () const { return m_geometry_options; }
4245 
4247  void SetHardEdgeAngle (int m) { m_dihedral = (unsigned char)m; }
4249  float GetHardEdgeAngle () const { return m_dihedral; }
4250 
4252  void SetMaskTransform (int m) { m_mask_transform = (unsigned short)m; }
4254  int GetMaskTransform () const { return (int)m_mask_transform; }
4255 
4256 
4258  void SetCutGeometry (int m) { m_cut_geometry = (unsigned char)m; }
4260  int GetCutGeometry () const { return (int)m_cut_geometry; }
4261 
4263  void SetCutGeometryLevel (int m) { m_cut_geometry_level = (unsigned char)m; }
4265  int GetCutGeometryLevel () const { return (int)m_cut_geometry_level; }
4266 
4268  void SetCutGeometryColorMatch (int m) { m_cut_geometry_match = (unsigned char)m; }
4270  int GetCutGeometryColorMatch () const { return (int)m_cut_geometry_match; }
4271 
4273  void SetCutGeometryTolerance (float m) { m_cut_geometry_tolerance = m; }
4275  float GetCutGeometryTolerance () const { return m_cut_geometry_tolerance; }
4276 
4277 
4279  void SetDisplayListLevel (int m) { m_display_list_level = (unsigned char)m; }
4281  int GetDisplayListLevel () const { return (int)m_display_list_level; }
4282 
4284  void SetSimpleShadow (int m) {
4285  m_simple_shadow = (unsigned short)m;
4286  if ((m & TKO_Simple_Shadow_Extended_Mask) != 0)
4287  m_simple_shadow |= TKO_Simple_Shadow_Extended;
4288  }
4290  int GetSimpleShadow () const { return (int)m_simple_shadow; }
4291 
4293  void SetSimpleShadowBlur (int m) { m_simple_shadow_blur = (unsigned char)m; }
4295  int GetSimpleShadowBlur () const { return (int)m_simple_shadow_blur; }
4296 
4298  void SetSimpleShadowResolution (int m) { m_simple_shadow_resolution = (unsigned short)m; }
4300  int GetSimpleShadowResolution () const { return (int)m_simple_shadow_resolution; }
4301 
4303  void SetSimpleShadowLight (float x, float y, float z) {
4304  m_simple_shadow_light[0] = x;
4305  m_simple_shadow_light[1] = y;
4306  m_simple_shadow_light[2] = z;
4307  }
4309  void SetSimpleShadowLight (float const * l) { SetSimpleShadowLight (l[0], l[1], l[2]); }
4311  float const * getSimpleShadowLight () const { return m_simple_shadow_light; }
4312 
4314  void SetSimpleShadowPlane (float a, float b, float c, float d) {
4315  m_simple_shadow_plane[0] = a;
4316  m_simple_shadow_plane[1] = b;
4317  m_simple_shadow_plane[2] = c;
4318  m_simple_shadow_plane[3] = d;
4319  }
4321  void SetSimpleShadowPlane (float const * p) { SetSimpleShadowPlane (p[0], p[1], p[2], p[3]); }
4323  float const * GetSimpleShadowPlane () const { return m_simple_shadow_plane; }
4324 
4326  void SetSimpleShadowColor (float r, float g, float b)
4327  { m_simple_shadow_color[0] = r; m_simple_shadow_color[1] = g; m_simple_shadow_color[2] = b; }
4329  void SetSimpleShadowColor (float const * rgb) { SetSimpleShadowColor (rgb[0], rgb[1], rgb[2]); }
4331  float const * GetSimpleShadowColor () const { return m_simple_shadow_color; }
4332 
4334  void SetSimpleShadowOpacity (float o) { m_simple_shadow_opacity = o; }
4336  float GetSimpleShadowOpacity () const { return m_simple_shadow_opacity; }
4337 
4338 
4340  void SetShadowMap (int m) { m_shadow_map = (unsigned char)m; }
4342  int GetShadowMap () const { return (int)m_shadow_map; }
4343 
4345  void SetShadowMapResolution (int m) { m_shadow_map_resolution = (unsigned short)m; }
4347  int GetShadowMapResolution () const { return (int)m_shadow_map_resolution; }
4348 
4350  void SetShadowMapSamples (int m) { m_shadow_map_samples = (unsigned char)m; }
4352  int GetShadowMapSamples () const { return (int)m_shadow_map_samples; }
4353 
4354 
4356  void SetSimpleReflection (int m) { m_simple_reflection = (unsigned short)m; }
4358  int GetSimpleReflection () const { return (int)m_simple_reflection; }
4359 
4361  void SetSimpleReflectionPlane (float a, float b, float c, float d) {
4362  m_simple_reflection_plane[0] = a;
4363  m_simple_reflection_plane[1] = b;
4364  m_simple_reflection_plane[2] = c;
4365  m_simple_reflection_plane[3] = d;
4366  }
4368  void SetSimpleReflectionPlane (float const * p) { SetSimpleReflectionPlane (p[0], p[1], p[2], p[3]); }
4370  float const * GetSimpleReflectionPlane () const { return m_simple_reflection_plane; }
4371 
4373  void SetSimpleReflectionOpacity (float o) { m_simple_reflection_opacity = o; }
4375  float GetSimpleReflectionOpacity () const { return m_simple_reflection_opacity; }
4376 
4378  void SetSimpleReflectionVisibilityMask (int m) { m_simple_reflection_visibility_mask = m; }
4380  int GetSimpleReflectionVisibilityValue () const { return m_simple_reflection_visibility_value; }
4381 
4382 
4384  void SetDepthRange (float n, float f) { m_depth_range[0] = n; m_depth_range[1] = f; }
4386  void SetDepthRange (float const * l) { SetDepthRange (l[0], l[1]); }
4388  float const * GetDepthRange () const { return m_depth_range; }
4389 
4390 
4392  void SetScreenRange (float l, float r, float b, float t)
4393  { m_screen_range[0] = l; m_screen_range[1] = r; m_screen_range[2] = b; m_screen_range[3] = t; }
4395  void SetScreenRange (float const * l) { SetScreenRange (l[0], l[1], l[2], l[3]); }
4397  float const * GetScreenRange () const { return m_screen_range; }
4398 
4402  void SetAmbientUpVector (float x, float y, float z)
4403  { m_ambient_up_vector[0] = x; m_ambient_up_vector[1] = y; m_ambient_up_vector[2] = z; }
4405  void SetAmbientUpVector (float const * v) { SetAmbientUpVector (v[0], v[1], v[2]); }
4407  float const * GetAmbientUpVector () const { return m_ambient_up_vector; }
4408 
4410  void SetImageScale (float x, float y) { m_image_scale[0] = x; m_image_scale[1] = y; }
4412  void SetImageScale (float const * s) { SetImageScale (s[0], s[1]); }
4414  float const * GetImageScale () const { return m_image_scale; }
4415 
4416 
4418  void SetImageTintColor (float r, float g, float b)
4419  { m_image_tint_color[0] = r; m_image_tint_color[1] = g; m_image_tint_color[2] = b; }
4421  void SetImageTintColor (float const * rgb) { SetImageTintColor (rgb[0], rgb[1], rgb[2]); }
4423  float const * GetImageTintColor () const { return m_image_tint_color; }
4424 
4426  void SetDiffuseTextureTintColor (float r, float g, float b)
4427  { m_texture_tint_color[0] = r; m_texture_tint_color[1] = g; m_texture_tint_color[2] = b; }
4429  void SetDiffuseTextureTintColor (float const * rgb) { SetDiffuseTextureTintColor (rgb[0], rgb[1], rgb[2]); }
4431  float const * GetDiffuseTextureTintColor () const { return m_texture_tint_color; }
4432 
4434  void SetAntiAlias (int m) { m_antialias = (unsigned char)m; }
4436  int GetAntiAlias () const { return (int)m_antialias; }
4437 
4439  void SetVertexDecimation (float f) { m_vertex_decimation = f; }
4441  float GetVertexDecimation () const { return m_vertex_decimation; }
4442 };
4443 
4445 
4458  TKO_Heuristic_Clipping = 0x00000100,
4465 
4466  TKO_Heuristic_Extended = 0x00008000,
4469 
4470  TKO_Heuristic_Culling = 0x00010000,
4478 
4480  TKO_Heuristic_Static = 0x02000000,
4483 
4486 
4489 
4513 
4514 
4519 
4525 
4533 
4537 
4540 };
4541 
4542 
4543 
4545 
4551 class BBINFILETK_API TK_Heuristics : public BBaseOpcodeHandler {
4552  protected:
4553  int m_mask;
4554  int m_value;
4555 
4559 
4560  unsigned char m_extras;
4568  float m_vector[3];
4570 
4571  unsigned char m_ordered_weights_mask;
4572  float m_ordered_weights[TKO_Heur_Order_Count];
4573  unsigned char m_selection_level;
4574  unsigned char m_model_type;
4575 
4576  public:
4578  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
4579  m_mask (0), m_value (0), m_culling(0), m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
4580  ~TK_Heuristics ();
4581 
4584  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4585 
4586  TK_Status ReadAscii (BStreamFileToolkit & tk);
4587  TK_Status WriteAscii (BStreamFileToolkit & tk);
4588 
4590  void SetMask (int m) {
4591  m_mask = m;
4592  if ((m & TKO_Heuristic_Extended_Mask) != 0)
4593  m_mask |= TKO_Heuristic_Extended;
4594  }
4596  int GetMask () const { return m_mask; }
4597 
4599  void SetValue (int v) { m_value = v; }
4601  int GetValue () const { return m_value; }
4602 
4604  void SetRelatedSelectionLimit (int r) { m_related = r; }
4606  int GetRelatedSelectionLimit () const { return m_related; }
4607 
4609  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
4611  int GetInternalSelectionLimit () const { return m_internal_shell; }
4612 
4614  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
4616  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
4617 
4619  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
4621  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
4622 
4624  void SetExtras (int e) { m_extras = (unsigned char)e; }
4626  int GetExtras () const { return (int)m_extras; }
4627 
4629  void SetCulling (int c) { m_culling = (unsigned short)c; }
4631  int GetCulling () const { return (int)m_culling; }
4633  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
4635  int GetPixelThreshold () const { return m_pixel_threshold; }
4637  void SetMaximumExtent (int c) { m_maximum_extent = c; }
4639  int GetMaximumExtent () const { return m_maximum_extent; }
4641  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
4643  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
4645  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
4647  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
4649  void SetHardExtent (int c) { m_hard_extent = c; }
4651  int GetHardExtent () const { return m_hard_extent; }
4653  float const * GetVector () const { return m_vector; }
4655  void SetVector (float x, float y, float z) {
4656  m_vector[0] = x;
4657  m_vector[1] = y;
4658  m_vector[2] = z;
4659  }
4661  void SetVector (float const * v) { SetVector(v[0], v[1], v[2]); }
4663  float GetVectorTolerance () const { return m_vector_tolerance; }
4665  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
4666 
4668  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
4670  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
4671 
4673  void SetOrderedWeight (int index, float weight) {
4674  m_ordered_weights[index] = weight;
4675  m_ordered_weights_mask |= 1<<index;
4676  }
4678  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
4680  float const * GetOrderedWeights () const { return m_ordered_weights; }
4682  float * GetOrderedWeights () { return m_ordered_weights; }
4683 
4685  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
4687  int GetSelectionLevel () const { return (int)m_selection_level; }
4688 
4690  void SetForceDefer (int l) { m_force_defer = l; }
4692  int GetForceDefer () const { return m_force_defer; }
4693 
4694 };
4695 
4697 
4704 };
4705 
4706 
4708 
4714 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
4715  protected:
4716  unsigned short m_mask;
4717  unsigned short m_value;
4718 
4720  float m_orientation[6];
4721 
4722  public:
4724  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
4725  m_mask (0), m_value (0), m_orientation_count (0) {}
4726  ~TK_Geometry_Options ();
4727 
4730  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4731 
4732  TK_Status ReadAscii (BStreamFileToolkit & tk);
4733  TK_Status WriteAscii (BStreamFileToolkit & tk);
4734 
4736  void SetMask (int m) { m_mask = (unsigned short)m; }
4738  int GetMask () const { return (int)m_mask; }
4739 
4741  void SetOrientation (int count, float const * o) {
4742  if (count != 3 && count != 6)
4743  return;
4744  m_orientation_count = (unsigned char)count;
4745  while (count-- > 0)
4746  m_orientation[count] = o[count];
4747  }
4749  int GetOrientationCount () const { return (int) m_orientation_count; }
4751  float const * GetOrientation () const { return m_orientation; }
4752 };
4753 
4756 
4761 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
4762  protected:
4763  int m_mask;
4764  int m_value;
4765 
4766  public:
4769  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
4770 
4773  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4774 
4775  TK_Status ReadAscii (BStreamFileToolkit & tk);
4776  TK_Status WriteAscii (BStreamFileToolkit & tk);
4777 
4781  void SetGeometry (int m) {
4782  m_mask = m & TKO_Geo_All_Visibles;
4783  if ((m & TKO_Geo_Extended_Mask) != 0) {
4784  m_mask |= TKO_Geo_Extended;
4785  if ((m & TKO_Geo_Extended2_Mask) != 0)
4786  m_mask |= TKO_Geo_Extended2;
4787  }
4788  }
4793  int GetGeometry () const { return m_mask; }
4794 
4799  void SetValue (int m) { m_value = m; }
4804  int GetValue () const { return m_value; }
4805 };
4806 
4809 
4816 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4817  protected:
4818  int m_mask;
4819  int m_down;
4820  int m_up;
4824 
4825  public:
4828  : BBaseOpcodeHandler (TKE_Selectability),
4829  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4830 
4833  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4834 
4835  TK_Status ReadAscii (BStreamFileToolkit & tk);
4836  TK_Status WriteAscii (BStreamFileToolkit & tk);
4837 
4841  void SetGeometry (int m) {
4842  m_mask = m & TKO_Geo_All_Selects;
4843  if ((m & TKO_Geo_Extended_Mask) != 0)
4844  m_mask |= TKO_Geo_Extended;
4845  }
4850  int GetGeometry () const { return m_mask; }
4851 
4856  void SetDown (int m) { m_down = m; }
4861  int GetDown () const { return m_down; }
4862 
4867  void SetUp (int m) { m_up = m; }
4872  int GetUp () const { return m_up; }
4873 
4878  void SetMoveDown (int m) { m_move_down = m; }
4883  int GetMoveDown () const { return m_move_down; }
4884 
4889  void SetMoveUp (int m) { m_move_up = m; }
4894  int GetMoveUp () const { return m_move_up; }
4895 
4900  void SetWhenInvisible (int m) { m_invisible = m; }
4905  int GetWhenInvisible () const { return m_invisible; }
4906 };
4907 
4909 
4915 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4916  protected:
4917  float m_matrix[16];
4918  double m_dmatrix[16];
4919 
4920  public:
4922  TK_Matrix (unsigned char opcode)
4923  : BBaseOpcodeHandler (opcode) {}
4924 
4927  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4928 
4929  TK_Status ReadAscii (BStreamFileToolkit & tk);
4930  TK_Status WriteAscii (BStreamFileToolkit & tk);
4931 
4933  void SetMatrix (float const * m) {
4934  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4935  }
4937  void SetDMatrix (double const * m) {
4938  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4939  }
4941  float const * GetMatrix () const { return m_matrix; }
4943  float * GetMatrix () { return m_matrix; }
4945  double const * GetDMatrix () const { return m_dmatrix; }
4947  double * GetDMatrix () { return m_dmatrix; }
4948 };
4949 
4950 
4965 
4986 
5036 
5037  // alignment format change in 17.80.
5038 
5039  // old alignment enum choices in lower nibble
5053  // and justification in higher nibble
5058 
5059  // new format defines bits for "building" alignment setting
5060  TKO_Text_Alignment_Center = 0x00,
5061  TKO_Text_Alignment_Left = 0x01,
5062  TKO_Text_Alignment_Right = 0x02,
5063  TKO_Text_Alignment_Bottom = 0x04,
5064  TKO_Text_Alignment_Top = 0x08,
5065  TKO_Text_Alignment_Point = 0x10,
5066  // can't have left & right, or bottom & top, so all bits is good as an "unset" placeholder
5067  TKO_Text_Alignment_Unspecified = 0x1F,
5068  // and uses same justification but shifted a bit higher
5071  // and the high bit will be set
5072  TKO_Text_Alignment_New_Format = 0x80,
5073 
5074 
5075 
5078 
5081 };
5082 
5088 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
5089  protected:
5090  char m_index;
5091 
5092  public:
5094  TK_Enumerated (unsigned char opcode)
5095  : BBaseOpcodeHandler (opcode), m_index (0) {}
5096 
5099  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5100 
5101  TK_Status ReadAscii (BStreamFileToolkit & tk);
5102  TK_Status WriteAscii (BStreamFileToolkit & tk);
5103 
5104  void SetIndex (int i) { m_index = (char)i; }
5106  int GetIndex () const { return (int)m_index; }
5107 };
5108 
5120 
5122 };
5123 // NOTE: any changes to this need to be reflected in generic_units_table in parse.cpp & HOpcodeHandler.cpp
5124 
5125 
5131 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
5132  protected:
5133  float m_value;
5134  unsigned char m_units;
5135 
5136  public:
5138  TK_Size (unsigned char opcode)
5139  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
5140 
5143  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5144 
5145  TK_Status ReadAscii (BStreamFileToolkit & tk);
5146  TK_Status WriteAscii (BStreamFileToolkit & tk);
5147 
5149  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
5150  m_value = (value > 0.0f) ? value : 0.0f;
5151  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
5152  }
5154  float GetSize () const { return m_value; }
5156  int GetUnits () const { return m_units; }
5157 };
5158 
5163 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
5164  protected:
5165  unsigned short m_pattern;
5166 
5167  public:
5169  TK_Linear_Pattern (unsigned char opcode)
5170  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
5171 
5174  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5175 
5176  TK_Status ReadAscii (BStreamFileToolkit & tk);
5177  TK_Status WriteAscii (BStreamFileToolkit & tk);
5178 
5180  void SetPattern (int p) { m_pattern = (unsigned short)p; }
5182  int GetPattern () const { return (int)m_pattern; }
5183 };
5184 
5190 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
5191  protected:
5193  char * m_name;
5194  int m_index;
5195 
5196  public:
5198  TK_Named (unsigned char opcode)
5199  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
5200  ~TK_Named();
5201 
5204  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5205 
5206  TK_Status ReadAscii (BStreamFileToolkit & tk);
5207  TK_Status WriteAscii (BStreamFileToolkit & tk);
5208 
5209  void Reset ();
5210 
5212  void SetName (char const * name);
5214  void SetName (int length);
5216  char const * GetName () const { return m_name; }
5218  char * GetName () { return m_name; }
5219 
5221  void SetIndex (int i) { Reset(); m_index = i; }
5223  int GetIndex () const { return (int)m_index; }
5224 };
5225 
5226 
5227 
5234 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
5235  protected:
5236  bool m_flag;
5237 
5238  public:
5241 
5244  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5245 
5246  TK_Status ReadAscii (BStreamFileToolkit & tk);
5247  TK_Status WriteAscii (BStreamFileToolkit & tk);
5248 
5249  void SetStreaming (bool s) { m_flag = s; }
5251  bool GetStreaming () const { return m_flag; }
5252 };
5253 
5256 
5262 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
5263  protected:
5264  int m_length;
5265  char * m_string;
5267  public:
5269  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
5270  ~TK_Conditions();
5271 
5274  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5275 
5276  TK_Status ReadAscii (BStreamFileToolkit & tk);
5277  TK_Status WriteAscii (BStreamFileToolkit & tk);
5278 
5279  void Reset ();
5280 
5282  void SetConditions (char const * options);
5284  void SetConditions (int length);
5286  char const * GetConditions () const { return m_string; }
5288  char * GetConditions () { return m_string; }
5290  int GetLength() { return m_length; }
5291 };
5292 
5293 
5299 
5301 };
5302 
5303 
5306 
5311 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
5312  protected:
5313  short m_type;
5314  short m_options;
5315  int m_length;
5316  char * m_string;
5318  public:
5320  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
5322 
5325  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5326 
5327  TK_Status ReadAscii (BStreamFileToolkit & tk);
5328  TK_Status WriteAscii (BStreamFileToolkit & tk);
5329 
5330  void Reset ();
5331 
5333  void SetCondition (char const * options);
5335  void SetCondition (int length);
5337  char const * GetCondition () const { return m_string; }
5339  char * GetCondition () { return m_string; }
5341  int GetLength() { return m_length; }
5342 
5344  void SetAction (int at) { m_type = (short)at; }
5346  int GetAction () const { return (int)m_type; }
5348  void SetOptions (int at) { m_options = (short)at; }
5350  int GetOptions () const { return (int)m_options; }
5351 };
5352 
5355 
5361 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
5362  protected:
5363  int m_length;
5364  char * m_string;
5369  void set_options (char const * options);
5370  void set_options (int length);
5371 
5372  public:
5374  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
5375  m_indices (0), m_unicode (0), m_index_data(0) {}
5376  ~TK_User_Options();
5377 
5380  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5381 
5382  TK_Status ReadAscii (BStreamFileToolkit & tk);
5383  TK_Status WriteAscii (BStreamFileToolkit & tk);
5384 
5385  void Reset ();
5386 
5388  void SetOptions (char const * options) { set_options (options); }
5390  void SetOptions (int length) { set_options (length); }
5392  char const * GetOptions () const { return m_string; }
5394  char * GetOptions () { return m_string; }
5396  int GetLength() { return m_length; }
5397 };
5398 
5401 
5407 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
5408  protected:
5409  int m_length;
5410  unsigned short * m_string;
5412  public:
5414  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
5415  ~TK_Unicode_Options();
5416 
5419  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5420 
5421  TK_Status ReadAscii (BStreamFileToolkit & tk);
5422  TK_Status WriteAscii (BStreamFileToolkit & tk);
5423 
5424  void Reset ();
5425 
5427  void SetOptions (unsigned short const * options);
5429  void SetOptions (int length);
5431  unsigned short const * GetOptions () const { return m_string; }
5433  unsigned short * GetOptions () { return m_string; }
5435  int GetLength() { return m_length; }
5436 };
5437 
5439 
5445 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
5446  protected:
5447  int m_count;
5448  int * m_indices;
5449  HLONG * m_values;
5451  void set_indices (int count, int const * indices, POINTER_SIZED_INT const * values);
5452  void set_indices (int count);
5453 
5454  public:
5457  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
5458  ~TK_User_Index();
5459 
5462  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5463 
5464  TK_Status ReadAscii (BStreamFileToolkit & tk);
5465  TK_Status WriteAscii (BStreamFileToolkit & tk);
5466 
5467  void Reset ();
5468 
5470  void SetIndices (int count, int const * indices, POINTER_SIZED_INT const * values)
5471  { set_indices (count, indices, values); }
5473  void SetIndices (int count) { set_indices (count); }
5475  int GetCount () const { return m_count; }
5477  int const * GetIndices () const { return m_indices; }
5479  int * GetIndices () { return m_indices; }
5481  HLONG const * GetValues () const { return m_values; }
5483  HLONG * GetValues () { return m_values; }
5484 };
5485 
5487 
5493 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
5494 protected:
5495  int m_count;
5496  int * m_indices;
5497  void ** m_values;
5498  int * m_sizes;
5499 
5501  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
5502  void set_indices (int count);
5503  void FreeMem ();
5504 
5505 public:
5508  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
5509  ~TK_User_Index_Data();
5510 
5513  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5514 
5515  void Reset ();
5516 
5518  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
5519  set_indices (count, indices, values, sizes);
5520  }
5521 
5523  void SetIndices (int count) { set_indices (count);}
5524 
5526  int GetCount () const { return m_count;}
5527 
5529  int const * GetIndices () const { return m_indices;}
5530 
5532  int * GetIndices () { return m_indices;}
5533 
5535  void ** const GetValues () const { return m_values;}
5536 
5538  void ** const GetValues () { return m_values;}
5539 
5541  int const * GetSizes () const { return m_sizes;}
5542 
5544  int * GetSizes () { return m_sizes;}
5545 };
5546 
5547 
5549 
5554 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
5555  protected:
5556  HLONG m_value;
5557 
5558  public:
5561  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
5562 
5565  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5566 
5567  TK_Status ReadAscii (BStreamFileToolkit & tk);
5568  TK_Status WriteAscii (BStreamFileToolkit & tk);
5569 
5571  void SetValue (HLONG v) { m_value = v; }
5573  HLONG GetValue () const { return m_value; }
5574 };
5575 
5583 
5587 
5591 
5593 
5595 };
5596 
5598 
5603 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
5604  protected:
5608  float m_settings[14];
5610  double m_dsettings[14];
5612  float m_details[3];
5613  unsigned char m_projection;
5614  int m_length;
5615  char * m_name;
5618  void set_name (char const * name);
5619 
5620  void set_name (int length);
5621 
5622  public:
5624  TK_Camera (unsigned char opcode = TKE_Camera)
5625  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
5626  int i;
5627  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
5628  for (i = 0; i < count; i++) {
5629  m_settings[i] = 0;
5630  m_dsettings[i] = 0;
5631  }
5632  }
5633  ~TK_Camera();
5634 
5637  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5638 
5639  TK_Status ReadAscii (BStreamFileToolkit & tk);
5640  TK_Status WriteAscii (BStreamFileToolkit & tk);
5641 
5643  void SetPosition (float x, float y, float z)
5644  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
5646  void SetPosition (float const * p) { SetPosition (p[0], p[1], p[2]); }
5648  float const * GetPosition () const { return &m_settings[0]; }
5650  void GetPosition (float * p) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
5651 
5653  void SetDPosition (double x, double y, double z)
5654  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
5656  void SetDPosition (double const * p) { SetDPosition (p[0], p[1], p[2]); }
5658  double const * GetDPosition () const { return &m_dsettings[0]; }
5660  void GetDPosition (double * p) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
5661 
5663  void SetTarget (float x, float y, float z)
5664  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
5666  void SetTarget (float const * t) { SetTarget (t[0], t[1], t[2]); }
5668  float const * GetTarget () const { return &m_settings[3]; }
5670  void GetTarget (float * t) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
5671 
5673  void SetDTarget (double x, double y, double z)
5674  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
5676  void SetDTarget (double const * t) { SetDTarget (t[0], t[1], t[2]); }
5678  double const * GetDTarget () const { return &m_dsettings[3]; }
5680  void GetDTarget (double * t) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
5681 
5683  void SetUpVector (float x, float y, float z)
5684  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
5686  void SetUpVector (float const * u) { SetUpVector (u[0], u[1], u[2]); }
5688  float const * GetUpVector () const { return &m_settings[6]; }
5690  void GetUpVector (float * u) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
5691 
5693  void SetDUpVector (double x, double y, double z)
5694  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
5696  void SetDUpVector (double const * u) { SetDUpVector (u[0], u[1], u[2]); }
5698  double const * GetDUpVector () const { return &m_dsettings[6]; }
5700  void GetDUpVector (double * u) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
5701 
5703  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
5705  void SetField (float const * f) { SetField (f[0], f[1]); }
5707  float const * GetField () const { return &m_settings[9]; }
5709  void GetField (float *f) const { memcpy(f,GetField(),2*sizeof(float)); }
5710 
5712  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
5714  void SetDField (double const * f) { SetDField (f[0], f[1]); }
5716  double const * GetDField () const { return &m_dsettings[9]; }
5718  void GetDField (double * f) const { memcpy(f, GetDField(), 2*sizeof(double)); }
5719 
5720 
5722  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
5723  m_projection &= ~TKO_Camera_Oblique_Mask;
5724  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
5725  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
5726  }
5728  void SetOblique (float const * o) { SetOblique (o[0], o[1]); }
5730  float const * GetOblique () const { return m_details; }
5732  void GetOblique (float * o) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
5733 
5735  void SetNearLimit (float l) { m_details[2] = l;
5736  m_projection &= ~TKO_Camera_Near_Limit;
5737  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
5738  }
5740  float GetNearLimit () const { return m_details[2]; }
5741 
5742 
5744  void SetProjection (int p) { m_projection = (char)p; }
5746  int GetProjection () const { return (int)m_projection; }
5747 
5748 
5750  void SetView (char const * name) { set_name (name); }
5752  void SetView (int length) { set_name (length); }
5754  char const * GetView () const { return m_name; }
5756  char * GetView () { return m_name; }
5757 };
5758 
5760 
5765 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
5766  protected:
5767  float m_window[4];
5768 
5769  public:
5772  : BBaseOpcodeHandler (TKE_Window) {}
5773 
5776  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5777 
5778  TK_Status ReadAscii (BStreamFileToolkit & tk);
5779  TK_Status WriteAscii (BStreamFileToolkit & tk);
5780 
5782  void SetWindow (float l, float r, float b, float t)
5783  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t; }
5785  void SetWindow (float const * w) { SetWindow (w[0], w[1], w[2], w[3]); }
5787  float const * GetWindow () const { return m_window; }
5788 };
5789 
5790 
5796  TKO_Font_Names = 0x00000001,
5797  TKO_Font_Size = 0x00000002,
5799  TKO_Font_Transforms = 0x00000008,
5800  TKO_Font_Rotation = 0x00000010,
5801  TKO_Font_Slant = 0x00000020,
5802  TKO_Font_Width_Scale = 0x00000040,
5803  TKO_Font_Extended = 0x00000080,
5804  TKO_Font_Extended_Mask = 0xFFFFFF00, // internal use, indicates bits which require TKO_Font_Extended
5805  TKO_Font_Extended_Shift = 8, // internal use, indicatesshift of extended section
5806  TKO_Font_Extra_Space = 0x00000100,
5807  TKO_Font_Line_Spacing = 0x00000200,
5808  TKO_Font_Outline = 0x00000400,
5809  TKO_Font_Underline = 0x00000800,
5810  TKO_Font_Strikethrough = 0x00001000,
5811  TKO_Font_Overline = 0x00002000,
5813  TKO_Font_Extended2 = 0x00008000,
5817  TKO_Font_Fill_Edges = 0x00020000,
5818  TKO_Font_Bold = 0x00040000,
5819  TKO_Font_Italic = 0x00080000,
5820  TKO_Font_Renderer = 0x00100000,
5821  TKO_Font_Greeking_Mode = 0x00200000,
5822  TKO_Font_Preference = 0x00400000,
5823  TKO_Font_Layout = 0x00800000
5824 };
5825 
5826 
5827 
5832  TKO_Font_Layout_Default = 0,
5834 };
5835 
5836 
5837 #define TKO_Font_Size_Units TKO_Generic_Size_Units
5838 #define TKO_Font_Size_Object TKO_Generic_Size_Object
5839 #define TKO_Font_Size_Screen TKO_Generic_Size_Screen
5840 #define TKO_Font_Size_Window TKO_Generic_Size_Window
5841 #define TKO_Font_Size_Points TKO_Generic_Size_Points
5842 #define TKO_Font_Size_Pixels TKO_Generic_Size_Pixels
5843 #define TKO_Font_Size_Percent TKO_Generic_Size_Percent
5844 #define TKO_Font_Size_World TKO_Generic_Size_World
5845 
5846 
5855 };
5856 
5857 
5867 };
5868 
5878 };
5879 
5887 };
5888 
5890 
5897 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
5898  protected:
5899  int m_mask;
5900  int m_value;
5902  char * m_names;
5903  float m_size;
5904  float m_tolerance;
5905  float m_rotation;
5906  float m_slant;
5913  int m_renderers[2];
5914  int m_preferences[2];
5915  unsigned char m_size_units;
5916  unsigned char m_tolerance_units;
5917  unsigned char m_space_units;
5918  unsigned char m_greeking_units;
5919  unsigned char m_greeking_mode;
5920  unsigned char m_transforms;
5921  unsigned char m_renderer_cutoff_units;
5923  unsigned char m_layout;
5924 
5925  void set_names (int length);
5926  void set_names (char const * names);
5927 
5928  public:
5931  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0) {}
5932  ~TK_Text_Font ();
5933 
5936  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5937 
5938  TK_Status ReadAscii (BStreamFileToolkit & tk);
5939  TK_Status WriteAscii (BStreamFileToolkit & tk);
5940 
5941  void Reset ();
5942 
5944  void SetMask (int m) {
5945  m_mask = m;
5946  if ((m & TKO_Font_Extended2_Mask) != 0)
5947  m_mask |= TKO_Font_Extended2;
5948  if ((m & TKO_Font_Extended_Mask) != 0)
5949  m_mask |= TKO_Font_Extended;
5950  }
5952  int GetMask () const { return m_mask; }
5953 
5955  void SetValue (int v) { m_value = v; }
5957  int GetValue () const { return m_value; }
5958 
5960  void SetNames (char const * names) { set_names (names); }
5962  void SetNames (int length) { set_names (length); }
5964  char const * GetNames () const { return m_names; }
5966  char * GetNames () { return m_names; }
5967 
5969  void SetSize (float s) { m_size = s; }
5971  float GetSize () const { return m_size; }
5972 
5974  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
5976  int GetSizeUnits () const { return (int)m_size_units; }
5977 
5979  void SetTolerance (float t) { m_tolerance = t; }
5981  float GetTolerance () const { return m_tolerance; }
5982 
5984  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
5986  int GetToleranceUnits () const { return (int)m_tolerance_units; }
5987 
5989  void SetRotation (float r) { m_rotation = r; }
5991  float GetRotation () const { return m_rotation; }
5992 
5994  void SetSlant (float s) { m_slant = s; }
5996  float GetSlant () const { return m_slant; }
5997 
5999  void SetWidthScale (float s) { m_width_scale = s; }
6001  float GetWidthScale () const { return m_width_scale; }
6002 
6004  void SetExtraSpace (float s) { m_extra_space = s; }
6006  float GetExtraSpace () const { return m_extra_space; }
6007 
6009  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
6011  int GetExtraSpaceUnits () const { return (int)m_space_units; }
6012 
6014  void SetLineSpacing (float s) { m_line_spacing = s; }
6016  float GetLineSpacing () const { return m_line_spacing; }
6017 
6019  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
6021  int GetTransforms () const { return (int)m_transforms; }
6022 
6024  void SetGreekingLimit (float s) { m_greeking_limit = s; }
6026  float GetGreekingLimit () const { return m_greeking_limit; }
6027 
6029  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
6031  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
6032 
6034  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
6036  int GetGreekingMode () const { return (int)m_greeking_mode; }
6037 
6038 
6040  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
6042  int GetRenderer () const { return m_renderers[0]; }
6043 
6045  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
6047  int const * GetRenderers () const { return m_renderers; }
6048 
6050  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
6052  float GetRendererCutoff () const { return m_renderer_cutoff; }
6053 
6055  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
6057  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
6058 
6059 
6061  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
6063  int GetPreference () const { return m_preferences[0]; }
6064 
6066  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
6068  int const * GetPreferences () const { return m_preferences; }
6069 
6071  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
6073  float GetPreferenceCutoff () const { return m_preference_cutoff; }
6074 
6076  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
6078  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
6079 
6081  void SetLayout (int l) {m_layout = (unsigned char)l;}
6083  int GetLayout () const {return (int)m_layout;}
6084 };
6085 
6087 
6089 
6104 };
6105 
6106 
6107 
6109 
6120 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
6121  protected:
6122  double m_dvalues[6];
6123  float m_values[6];
6124  char m_type;
6125  bool m_is_valid;
6126  public:
6128  TK_Bounding (unsigned char opcode)
6129  : BBaseOpcodeHandler (opcode) {}
6131  TK_Bounding (unsigned char opcode, float * min, float * max)
6132  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
6133  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
6134  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
6135  }
6137  TK_Bounding (unsigned char opcode, float * center, float radius)
6138  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
6139  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
6140  m_values[3] = radius;
6141  }
6143  TK_Bounding (unsigned char opcode, double * min, double * max)
6144  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
6145  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
6146  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
6148  }
6150  TK_Bounding (unsigned char opcode, double * center, double radius)
6151  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
6152  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
6153  m_dvalues[3] = radius;
6155  }
6156 
6159  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6160 
6161  TK_Status ReadAscii (BStreamFileToolkit & tk);
6162  TK_Status WriteAscii (BStreamFileToolkit & tk);
6163 };
6164 
6166 
6171  TKO_Light_Camera_Relative = 0x1
6172 };
6173 
6174 
6176 
6178 
6184 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
6185  protected:
6186  float m_point[3];
6187  double m_dpoint[3];
6188  char m_options;
6189 
6190  public:
6192  TK_Point (unsigned char opcode)
6193  : BBaseOpcodeHandler (opcode) {
6194  m_point[0] = m_point[1] = m_point[2] = 0;
6195  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
6196  m_options = 0;
6197  };
6198 
6201  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6202 
6203  TK_Status ReadAscii (BStreamFileToolkit & tk);
6204  TK_Status WriteAscii (BStreamFileToolkit & tk);
6205 
6206  void Reset(void) {
6207  m_point[0] = m_point[1] = m_point[2] = 0;
6208  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
6209  m_options = 0;
6211  };
6212 
6213 
6214 
6216  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
6218  void SetPoint (float const * p) { SetPoint (p[0], p[1], p[2]); }
6220  float const * GetPoint () const { return m_point; }
6221 
6223  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
6225  void SetDPoint (double const * p) { SetDPoint (p[0], p[1], p[2]); }
6227  double const * GetDPoint () const { return m_dpoint; }
6228 
6230  void SetOptions (int o) { m_options = (char)o; }
6232  int GetOptions () const { return (int)m_options; }
6233 
6234 };
6235 
6236 
6237 
6239 
6244 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
6245  protected:
6247  float m_points[6];
6249  double m_dpoints[6];
6250 
6251  public:
6253  TK_Line (unsigned char opcode = TKE_Line)
6254  : BBaseOpcodeHandler (opcode) {}
6255 
6258  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6259 
6260  TK_Status ReadAscii (BStreamFileToolkit & tk);
6261  TK_Status WriteAscii (BStreamFileToolkit & tk);
6262 
6264  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
6265  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
6266  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
6267  }
6269  void SetPoints (float const * s, float const * e) {
6270  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
6271  }
6273  void SetPoints (float const * p) { SetPoints (&p[0], &p[3]); }
6275  float const * GetPoints () const { return m_points; }
6276 
6278  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
6279  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
6280  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
6281  }
6283  void SetDPoints (double const * s, double const * e) {
6284  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
6285  }
6287  void SetDPoints (double const * p) { SetDPoints (&p[0], &p[3]); }
6289  double const * GetDPoints () const { return m_dpoints; }
6290 
6291 };
6292 
6293 
6294 
6296 
6303 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
6304  protected:
6305  int m_count;
6307  float * m_points;
6308  double * m_dpoints;
6311  void set_points (int count, float const * points = 0) { SetPoints (count, points); }
6312  public:
6316  TK_Polypoint (unsigned char opcode)
6317  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
6318  ~TK_Polypoint();
6319 
6322  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6323 
6324  TK_Status ReadAscii (BStreamFileToolkit & tk);
6325  TK_Status WriteAscii (BStreamFileToolkit & tk);
6326 
6327  void Reset ();
6328 
6331  void SetPoints (int count, float const * points = 0);
6333  float const * GetPoints () const { return m_points; }
6335  float * GetPoints () { return m_points; }
6336 
6339  void SetDPoints (int count, double const * points = 0);
6341  double const * GetDPoints () const { return m_dpoints; }
6343  double * GetDPoints () { return m_dpoints; }
6344 
6346  int GetCount () const { return m_count; }
6347 
6348 };
6349 
6350 
6351 
6352 
6353 #define NC_HAS_WEIGHTS 0x01
6354 #define NC_HAS_KNOTS 0x02
6355 #define NC_HAS_START 0x04
6356 #define NC_HAS_END 0x08
6357 
6358 
6364 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
6365  protected:
6366  unsigned char m_optionals;
6367  unsigned char m_degree;
6372  float *m_weights;
6373  float *m_knots;
6374  float m_start;
6375  float m_end;
6377  void set_curve (int degree, int control_count, float const * points = 0,
6379  float const * weights = 0, float const * knots = 0,
6380  float start = 0.0f, float end = 1.0f);
6381  public:
6382  TK_NURBS_Curve();
6383  ~TK_NURBS_Curve();
6384 
6387  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6388 
6389  TK_Status ReadAscii (BStreamFileToolkit & tk);
6390  TK_Status WriteAscii (BStreamFileToolkit & tk);
6391 
6392  void Reset ();
6393 
6395  void SetCurve (int degree, int control_count, float const * points = 0,
6396  float const * weights = 0, float const * knots = 0,
6397  float start = 0.0f, float end = 1.0f) {
6398  set_curve (degree, control_count, points, weights, knots, start, end);
6399  }
6400  void SetDCurve (int degree, int control_count, double const * points = 0,
6401  float const * weights = 0, float const * knots = 0,
6402  float start = 0.0f, float end = 1.0f);
6403 
6404  float const * GetPoints () const { return m_control_points; }
6405  float * GetPoints () { return m_control_points; }
6406  double const * GetDPoints () const { return m_dcontrol_points; }
6407  double * GetDPoints () { return m_dcontrol_points; }
6409  int GetDegree () const { return m_degree; }
6410  int GetCount () const { return m_control_point_count; }
6411  float const * GetWeights () const { return m_weights; }
6412  float * GetWeights () { return m_weights; }
6413  float const * GetKnots () const { return m_knots; }
6414  float * GetKnots () { return m_knots; }
6416  void SetStart (float s) { m_start = s; }
6417  float GetStart () const { return m_start; }
6418  void SetEnd (float e) { m_end = e; }
6419  float GetEnd () const { return m_end; }
6421  void SetOptions (int o) { m_optionals = (unsigned char)o; }
6422  int GetOptions () const { return m_optionals; }
6424 };
6425 
6426 
6427 
6428 
6429 
6430 #define NS_HAS_WEIGHTS 0x01
6431 #define NS_HAS_KNOTS 0x02
6432 #define NS_HAS_TRIMS 0x04
6433 
6434 #define NS_TRIM_END 0
6435 #define NS_TRIM_POLY 1
6436 #define NS_TRIM_CURVE 2
6437 #define NS_TRIM_COLLECTION 3
6438 #define NS_TRIM_LAST_KNOWN_TYPE 3
6439 
6440 #define NS_TRIM_KEEP 0x01
6441 #define NS_TRIM_HAS_WEIGHTS 0x02
6442 #define NS_TRIM_HAS_KNOTS 0x04
6443 
6444 
6451 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
6452  friend class TK_NURBS_Surface;
6453  protected:
6454  //first 5 are relevant to polys and curves
6457  unsigned char m_type;
6458  int m_count;
6459  float * m_points;
6460  //next 6 are specific to curves
6461  unsigned char m_degree;
6462  unsigned char m_options;
6463  float * m_weights;
6464  float * m_knots;
6465  float m_start_u;
6466  float m_end_u;
6470  HT_NURBS_Trim();
6471  TK_Status read_collection(BStreamFileToolkit & tk);
6472  TK_Status write_collection(BStreamFileToolkit & tk);
6475  public:
6476  ~HT_NURBS_Trim();
6477  void SetPoly (int count, float const * points = 0);
6478  void SetCurve (int degree, int control_count, float const * points = 0,
6479  float const * weights = 0, float const * knots = 0, float start_u = 0, float end_u = 1);
6480  void SetCollection ();
6481  void SetOptions (int o) { m_options = (unsigned char)o; }
6482  void SetList (HT_NURBS_Trim *node) { m_list = node; }
6483  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
6487 
6490 
6491  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
6492  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
6493 
6495  HT_NURBS_Trim * GetNext (void) { return m_next; }
6497  int GetType () const { return m_type; }
6499  int GetCount () const { return m_count; }
6501  float const * GetPoints () const { return m_points; }
6503  float * GetPoints () { return m_points; }
6505  int GetDegree () const { return m_degree; }
6507  int GetOptions () const { return m_options; }
6509  float const * GetWeights () const { return m_weights; }
6511  float * GetWeights () { return m_weights; }
6513  float const * GetKnots () const { return m_knots; }
6515  float * GetKnots () { return m_knots; }
6517  HT_NURBS_Trim const *GetList () const { return m_list; }
6519  HT_NURBS_Trim *GetList () { return m_list; }
6520 
6521 };
6522 
6524 
6529 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
6530  protected:
6531  unsigned char m_optionals;
6532  unsigned char m_degree[2];
6533  int m_size[2];
6536  float * m_weights;
6537  float * m_u_knots;
6538  float * m_v_knots;
6544  public:
6545  TK_NURBS_Surface();
6546  ~TK_NURBS_Surface();
6547 
6550  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6551 
6552  TK_Status ReadAscii (BStreamFileToolkit & tk);
6553  TK_Status WriteAscii (BStreamFileToolkit & tk);
6554 
6555  void Reset ();
6557  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
6558  float const * points = 0, float const * weights = 0,
6559  float const * u_knots = 0, float const * v_knots = 0);
6560  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
6561  double const * points = 0, float const * weights = 0,
6562  float const * u_knots = 0, float const * v_knots = 0);
6565  float const * GetPoints () const { return m_control_points; }
6567  float * GetPoints () { return m_control_points; }
6569  double const * GetDPoints () const { return m_dcontrol_points; }
6571  double * GetDPoints () { return m_dcontrol_points; }
6572 
6574  int GetUDegree () const { return m_degree[0]; }
6576  int GetVDegree () const { return m_degree[1]; }
6578  int GetUSize () const { return m_size[0]; }
6580  int GetVSize () const { return m_size[1]; }
6582  float const * GetWeights () const { return m_weights; }
6584  float * GetWeights () { return m_weights; }
6586  float const * GetUKnots () const { return m_u_knots; }
6588  float * GetUKnots () { return m_u_knots; }
6590  float const * GetVKnots () const { return m_v_knots; }
6592  float * GetVKnots () { return m_v_knots; }
6593 
6595  void SetOptions (int o) { m_optionals = (unsigned char)o; }
6597  int GetOptions () const { return m_optionals; }
6598 
6600  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
6602  HT_NURBS_Trim * GetTrims () { return m_trims; }
6603 
6604 
6605 };
6606 
6608 
6613 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
6614  protected:
6615  int m_count;
6616  float * m_points;
6617  double * m_dpoints;
6618  char m_options;
6619 
6621  void set_points (int count, float const * points = 0);
6622 
6623  public:
6626  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
6627  ~TK_Area_Light();
6628 
6631  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6632 
6633  TK_Status ReadAscii (BStreamFileToolkit & tk);
6634  TK_Status WriteAscii (BStreamFileToolkit & tk);
6635 
6636  void Reset ();
6637 
6642  void SetPoints (int count, float const * points = 0) { set_points (count, points); }
6644  float const * GetPoints () const { return m_points; }
6646  float * GetPoints () { return m_points; }
6647 
6652  void SetDPoints (int count, double const * points = 0) ;
6654  double const * GetDPoints () const { return m_dpoints; }
6656  double * GetDPoints () { return m_dpoints; }
6657 
6659  int GetCount () const { return m_count; }
6660 
6662  void SetOptions (int o) { m_options = (char)o; }
6664  int GetOptions () const { return (int)m_options; }
6665 };
6666 
6667 
6674 
6678 
6681 
6683 
6685 };
6686 
6687 
6689 
6694 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
6695  protected:
6696  float m_position[3];
6697  float m_target[3];
6698  double m_dposition[3];
6699  double m_dtarget[3];
6700  float m_outer;
6701  float m_inner;
6703  char m_options;
6704 
6705  public:
6708  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
6709 
6712  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6713 
6714  TK_Status ReadAscii (BStreamFileToolkit & tk);
6715  TK_Status WriteAscii (BStreamFileToolkit & tk);
6716 
6718  void SetPosition (float x, float y, float z)
6719  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6721  void SetPosition (float const * p) { SetPosition (p[0], p[1], p[2]); }
6723  float const * GetPosition () const { return m_position; }
6724 
6726  void SetDPosition (double x, double y, double z)
6727  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6729  void SetDPosition (double const * p) { SetDPosition (p[0], p[1], p[2]); }
6731  double const * GetDPosition () const { return m_dposition; }
6732 
6734  void SetTarget (float x, float y, float z)
6735  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
6737  void SetTarget (float const * t) { SetTarget (t[0], t[1], t[2]); }
6739  float const * GetTarget () const { return m_target; }
6740 
6742  void SetDTarget (double x, double y, double z)
6743  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
6745  void SetDTarget (double const * t) { SetDTarget (t[0], t[1], t[2]); }
6747  double const * GetDTarget () const { return m_dtarget; }
6748 
6750  void SetOuter (float o) { m_outer = o; }
6752  float GetOuter () const { return m_outer; }
6753 
6755  void SetInner (float i) { m_inner = i; }
6757  float GetInner () const { return m_inner; }
6758 
6760  void SetConcentration (float c) { m_concentration = c; }
6762  float GetConcentration () const { return m_concentration; }
6763 
6765  void SetOptions (int o) { m_options = (char)o; }
6767  int GetOptions () const { return (int)m_options; }
6768 };
6769 
6770 
6772 
6777 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
6778  protected:
6779  float * m_planes;
6780  double * m_dplanes;
6781  int m_count;
6782 
6783  public:
6786  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
6787  ~TK_Cutting_Plane ();
6788 
6791  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6792 
6793  TK_Status ReadAscii (BStreamFileToolkit & tk);
6794  TK_Status WriteAscii (BStreamFileToolkit & tk);
6795 
6796  void Reset ();
6797 
6799  void SetPlanes (int count, float const * p=0);
6801  void SetDPlanes (int count, double const * p=0);
6802 
6804  void SetPlane (float a, float b, float c, float d)
6805  { SetPlanes(1);
6806  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
6808  void SetDPlane (double a, double b, double c, double d)
6809  { SetDPlanes(1);
6810  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
6811 
6813  void SetPlane (float const * p) { SetPlanes (1, p); }
6815  void SetDPlane (double const * p) { SetDPlanes (1, p); }
6816 
6818  float const * GetPlane () const { return m_planes; }
6820  double const * GetDPlane () const { return m_dplanes; }
6821 
6823  float const * GetPlanes () const { return m_planes; }
6825  double const * GetDPlanes () const { return m_dplanes; }
6826 
6828  int GetCount () const { return m_count; }
6829 };
6830 
6831 
6837 };
6838 
6840 
6847 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
6848  protected:
6849  float m_points[9];
6850  float m_center[3];
6851  double m_dpoints[9];
6852  double m_dcenter[3];
6853  unsigned char m_flags;
6856  public:
6858  TK_Circle (unsigned char opcode)
6859  : BBaseOpcodeHandler (opcode), m_flags (0) {}
6860 
6863  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6864 
6865  TK_Status ReadAscii (BStreamFileToolkit & tk);
6866  TK_Status WriteAscii (BStreamFileToolkit & tk);
6867 
6868  void Reset ();
6869 
6871  void SetStart (float x, float y, float z) {
6872  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6873  }
6875  void SetStart (float const * s) {
6876  SetStart (s[0], s[1], s[2]);
6877  }
6879  void SetMiddle (float x, float y, float z) {
6880  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6881  }
6883  void SetMiddle (float const * m) {
6884  SetMiddle (m[0], m[1], m[2]);
6885  }
6887  void SetEnd (float x, float y, float z) {
6888  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6889  }
6891  void SetEnd (float const * e) {
6892  SetEnd (e[0], e[1], e[2]);
6893  }
6895  void SetCenter (float x, float y, float z) {
6896  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6897  m_flags = TKO_Circular_Center;
6898  }
6900  void SetCenter (float const * c) {
6901  if (c) SetCenter (c[0], c[1], c[2]);
6902  else m_flags = 0;
6903  }
6905  void SetPoints (float const * s, float const * m, float const * e,
6906  float const * c = 0) {
6907  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
6908  }
6909 
6911  float const * GetStart () const { return &m_points[0]; }
6913  float const * GetMiddle () const { return &m_points[3]; }
6915  float const * GetEnd () const { return &m_points[6]; }
6917  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
6918 
6920  void SetDStart (double x, double y, double z) {
6921  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6922  }
6924  void SetDStart (double const * s) {
6925  SetDStart (s[0], s[1], s[2]);
6926  }
6928  void SetDMiddle (double x, double y, double z) {
6929  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6930  }
6932  void SetDMiddle (double const * m) {
6933  SetDMiddle (m[0], m[1], m[2]);
6934  }
6936  void SetDEnd (double x, double y, double z) {
6937  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6938  }
6940  void SetDEnd (double const * e) {
6941  SetDEnd (e[0], e[1], e[2]);
6942  }
6944  void SetDCenter (double x, double y, double z) {
6945  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6946  m_flags = TKO_Circular_Center;
6947  }
6949  void SetDCenter (double const * c) {
6950  if (c) SetDCenter (c[0], c[1], c[2]);
6951  else m_flags = 0;
6952  }
6954  void SetDPoints (double const * s, double const * m, double const * e,
6955  double const * c = 0) {
6956  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
6957  }
6958 
6960  double const * GetDStart () const { return &m_dpoints[0]; }
6962  double const * GetDMiddle () const { return &m_dpoints[3]; }
6964  double const * GetDEnd () const { return &m_dpoints[6]; }
6966  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
6967 };
6968 
6969 
6971 
6978 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
6979  protected:
6980  float m_points[9];
6981  double m_dpoints[9];
6982  float m_limits[2];
6984  public:
6986  TK_Ellipse (unsigned char opcode)
6987  : BBaseOpcodeHandler (opcode) {}
6988 
6991  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6992 
6993  TK_Status ReadAscii (BStreamFileToolkit & tk);
6994  TK_Status WriteAscii (BStreamFileToolkit & tk);
6995 
6997  void SetCenter (float x, float y, float z) {
6998  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6999  }
7001  void SetCenter (float const * s) { SetCenter (s[0], s[1], s[2]); }
7003  float const * GetCenter () const { return &m_points[0]; }
7004 
7006  void SetMajor (float x, float y, float z) {
7007  m_points[3] = x; m_points[4] = y; m_points[5] = z;
7008  }
7010  void SetMajor (float const * m) { SetMajor (m[0], m[1], m[2]); }
7012  float const * GetMajor () const { return &m_points[3]; }
7013 
7015  void SetMinor (float x, float y, float z) {
7016  m_points[6] = x; m_points[7] = y; m_points[8] = z;
7017  }
7019  void SetMinor (float const * m) { SetMinor (m[0], m[1], m[2]); }
7021  float const * GetMinor () const { return &m_points[6]; }
7022 
7023 
7025  void SetDCenter (double x, double y, double z) {
7026  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
7027  }
7029  void SetDCenter (double const * s) { SetDCenter (s[0], s[1], s[2]);}
7031  double const * GetDCenter () const { return &m_dpoints[0]; }
7032 
7034  void SetDMajor (double x, double y, double z) {
7035  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
7036  }
7038  void SetDMajor (double const * m) { SetDMajor (m[0], m[1], m[2]); }
7040  double const * GetDMajor () const { return &m_dpoints[3]; }
7041 
7043  void SetDMinor (double x, double y, double z) {
7044  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
7045  }
7047  void SetDMinor (double const * m) { SetDMinor (m[0], m[1], m[2]); }
7049  double const * GetDMinor () const { return &m_dpoints[6]; }
7050 
7052  void SetLimits (float s, float e) {
7053  m_limits[0] = s; m_limits[1] = e;
7054  }
7056  float const * GetLimits () const { return m_limits; }
7057 };
7058 
7059 
7061 
7068 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
7069  protected:
7070  unsigned char m_flags;
7071  float m_center[3];
7072  float m_radius;
7073  float m_axis[3];
7074  float m_ortho[3];
7075  double m_dcenter[3];
7076  double m_dradius;
7077  double m_daxis[3];
7078  double m_dortho[3];
7080  public:
7083  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
7084 
7087  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7088 
7089  TK_Status ReadAscii (BStreamFileToolkit & tk);
7090  TK_Status WriteAscii (BStreamFileToolkit & tk);
7091 
7092  void Reset ();
7093 
7095  void SetCenter (float x, float y, float z) {
7096  m_center[0] = x; m_center[1] = y; m_center[2] = z;
7097  }
7099  void SetCenter (float const * s) { SetCenter (s[0], s[1], s[2]); }
7101  float const * GetCenter () const { return m_center; }
7102 
7103 
7105  void SetRadius (float r) { m_radius = r; }
7107  float GetRadius () const { return m_radius; }
7108 
7110  void SetAxis (float x, float y, float z) {
7111  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
7112  if (x != 0.0f || y != 1.0f || z != 0.0f)
7113  m_flags &= ~TKSPH_NULL_AXIS;
7114  }
7116  void SetAxis (float const * s) { SetAxis (s[0], s[1], s[2]); }
7118  float const * GetAxis () const { return m_axis; }
7119 
7121  void SetOrtho (float x, float y, float z) {
7122  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
7123  if (x != 1.0f || y != 0.0f || z != 0.0f)
7124  m_flags &= ~TKSPH_NULL_AXIS;
7125  }
7127  void SetOrtho (float const * s) { SetOrtho (s[0], s[1], s[2]); }
7129  float const * GetOrtho () const { return m_ortho; }
7130 
7131 
7133  void SetDCenter (double x, double y, double z) {
7134  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
7135  }
7137  void SetDCenter (double const * s) { SetDCenter (s[0], s[1], s[2]);}
7139  double const * GetDCenter () const { return m_dcenter; }
7140 
7141 
7143  void SetDRadius (double r) { m_dradius = r; }
7145  double GetDRadius () const { return m_dradius; }
7146 
7148  void SetDAxis (double x, double y, double z) {
7149  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
7150  if (x != 0.0f || y != 1.0f || z != 0.0f)
7151  m_flags &= ~TKSPH_NULL_AXIS;
7152  }
7154  void SetDAxis (double const * s) { SetDAxis (s[0], s[1], s[2]); }
7156  double const * GetDAxis () const { return m_daxis; }
7157 
7159  void SetDOrtho (double x, double y, double z) {
7160  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
7161  if (x != 1.0f || y != 0.0f || z != 0.0f)
7162  m_flags &= ~TKSPH_NULL_AXIS;
7163  }
7165  void SetDOrtho (double const * s) { SetDOrtho (s[0], s[1], s[2]); }
7167  double const * GetDOrtho () const { return m_dortho; }
7168 
7169 
7173  enum Flags {
7174  TKSPH_NONE = 0x0,
7175  TKSPH_NULL_AXIS = 0x1
7176  };
7177 
7178 };
7179 
7180 
7182 
7189 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
7190  protected:
7191  float m_axis[6];
7192  float m_radius;
7193  double m_daxis[6];
7194  double m_dradius;
7195  unsigned char m_flags;
7197  public:
7200  : BBaseOpcodeHandler (TKE_Cylinder) {}
7201 
7204  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7205 
7206  TK_Status ReadAscii (BStreamFileToolkit & tk);
7207  TK_Status WriteAscii (BStreamFileToolkit & tk);
7208 
7210  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
7211  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
7212  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
7213  }
7215  void SetAxis (float const * s, float const * e) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
7217  void SetAxis (float const * a) { SetAxis (&a[0], &a[3]); }
7219  float const * GetAxis () const { return m_axis; }
7221  float const * GetStart () const { return &m_axis[0]; }
7223  float const * GetEnd () const { return &m_axis[3]; }
7224 
7226  void SetRadius (float r) { m_radius = r; }
7228  float GetRadius () const { return m_radius; }
7229 
7230 
7232  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
7233  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
7234  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
7235  }
7237  void SetDAxis (double const * s, double const * e) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
7239  void SetDAxis (double const * a) { SetDAxis (&a[0], &a[3]); }
7241  double const * GetDAxis () const { return m_daxis; }
7243  double const * GetDStart () const { return &m_daxis[0]; }
7245  double const * GetDEnd () const { return &m_daxis[3]; }
7246 
7248  void SetDRadius (double r) { m_dradius = r; }
7250  double GetDRadius () const { return m_dradius; }
7251 
7252 
7254  void SetCaps (int f) { m_flags = (unsigned char)f; }
7256  int GetCaps () const { return m_flags; }
7257 
7262  TKCYL_NONE = 0,
7263  TKCYL_FIRST = 1,
7264  TKCYL_SECOND = 2,
7265  TKCYL_BOTH = 3
7266  };
7267 
7268 };
7269 
7270 
7272 
7279 #include "BPolyhedron.h"
7280 
7281 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
7282  protected:
7283  int m_count;
7284  float * m_points;
7285  double * m_dpoints;
7287  float * m_radii;
7288  double * m_dradii;
7289  unsigned char m_flags;
7290  float m_normals[6];
7292  public:
7295  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
7296  m_radius_count (0), m_radii (0), m_dradii (0) {}
7297  ~TK_PolyCylinder();
7298 
7301  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7302 
7303  TK_Status ReadAscii (BStreamFileToolkit & tk);
7304  TK_Status WriteAscii (BStreamFileToolkit & tk);
7305 
7306  void Reset ();
7307 
7312  TKCYL_NORMAL_FIRST = 0x04,
7313  TKCYL_NORMAL_SECOND = 0x08,
7314  TKCYL_OPTIONALS = 0x10
7315  };
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 SetRadii (int count, float const * radii = 0);
7333  void SetRadius (float radius) { SetRadii (1, &radius); }
7335  float const * GetRadii () const { return m_radii; }
7337  float * GetRadii () { return m_radii; }
7338 
7339 
7344  void SetDPoints (int count, double const * points = 0);
7346  double const * GetDPoints () const { return m_dpoints; }
7348  double * GetDPoints () { return m_dpoints; }
7349 
7354  void SetDRadii (int count, double const * radii = 0);
7356  void SetDRadius (double radius) { SetDRadii (1, &radius); }
7358  double const * GetDRadii () const { return m_dradii; }
7360  double * GetDRadii () { return m_dradii; }
7361 
7362 
7364  int GetCount () const { return m_count; }
7366  int GetRadiusCount () const { return m_radius_count; }
7367 
7368 
7369 
7370 
7372  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
7374  int GetCaps () const { return m_flags & 0x03; }
7375 
7377  void SetEndNormal (int index, float const * normal = 0) {
7378  int mask = 0x40 << index;
7379  if (normal == 0)
7380  m_flags &= ~mask;
7381  else {
7382  m_flags |= mask;
7383  m_normals[3*index+0] = normal[0];
7384  m_normals[3*index+1] = normal[1];
7385  m_normals[3*index+2] = normal[2];
7386  }
7387  }
7389  float const * GetEndNormal (int index) const {
7390  int mask = 0x40 << index;
7391  if (m_flags & mask)
7392  return &m_normals[3*index];
7393  else
7394  return 0;
7395  }
7396 };
7397 
7398 
7400 
7406 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
7407  protected:
7408  char m_type;
7409  float m_points[9];
7410  double m_dpoints[9];
7411  int m_counts[2];
7413  public:
7416  : BBaseOpcodeHandler (TKE_Grid) {}
7417 
7420  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7421 
7422  TK_Status ReadAscii (BStreamFileToolkit & tk);
7423  TK_Status WriteAscii (BStreamFileToolkit & tk);
7424 
7426  void SetOrigin (float x, float y, float z) {
7427  m_points[0] = x; m_points[1] = y; m_points[2] = z;
7428  }
7430  void SetOrigin (float const * o) { SetOrigin (o[0], o[1], o[2]); }
7432  float const * GetOrigin () const { return &m_points[0]; }
7434  float * GetOrigin () { return &m_points[0]; }
7435 
7437  void SetRef1 (float x, float y, float z) {
7438  m_points[3] = x; m_points[4] = y; m_points[5] = z;
7439  }
7441  void SetRef1 (float const * r) { SetRef1 (r[0], r[1], r[2]); }
7443  float const * GetRef1 () const { return &m_points[3]; }
7445  float * GetRef1 () { return &m_points[3]; }
7446 
7448  void SetRef2 (float x, float y, float z) {
7449  m_points[6] = x; m_points[7] = y; m_points[8] = z;
7450  }
7452  void SetRef2 (float const * r) { SetRef2 (r[0], r[1], r[2]); }
7454  float const * GetRef2 () const { return &m_points[6]; }
7456  float * GetRef2 () { return &m_points[6]; }
7457 
7458 
7460  void SetDOrigin (double x, double y, double z) {
7461  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
7462  }
7464  void SetDOrigin (double const * o) { SetDOrigin (o[0], o[1], o[2]);}
7466  double const * GetDOrigin () const { return &m_dpoints[0]; }
7468  double * GetDOrigin () { return &m_dpoints[0]; }
7469 
7471  void SetDRef1 (double x, double y, double z) {
7472  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
7473  }
7475  void SetDRef1 (double const * r) { SetDRef1 (r[0], r[1], r[2]); }
7477  double const * GetDRef1 () const { return &m_dpoints[3]; }
7479  double * GetDRef1 () { return &m_dpoints[3]; }
7480 
7482  void SetDRef2 (double x, double y, double z) {
7483  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
7484  }
7486  void SetDRef2 (double const * r) { SetDRef2 (r[0], r[1], r[2]); }
7488  double const * GetDRef2 () const { return &m_dpoints[6]; }
7490  double * GetDRef2 () { return &m_dpoints[6]; }
7491 
7492 
7494  void SetCounts (int c1, int c2) {
7495  m_counts[0] = c1; m_counts[1] = c2;
7496  }
7498  int const * GetCounts () const { return m_counts; }
7500  int * GetCounts () { return m_counts; }
7501 
7503  void SetType (int t) { m_type = (char)t; }
7505  int GetType () const { return (int)m_type; }
7506 };
7507 
7509 
7525 };
7526 
7533 };
7534 
7548 };
7549 
7557 };
7558 
7559 
7572  TKO_Character_Rotation_Fixed = 0x0100,
7576 };
7577 
7580  char * name;
7581 
7582  float color[3];
7583  float size;
7586  float slant;
7587  float rotation;
7588  float width_scale;
7589 
7590  unsigned short mask;
7591  unsigned short value;
7592 
7593  unsigned char size_units;
7594  unsigned char vertical_offset_units;
7595  unsigned char horizontal_offset_units;
7596 };
7597 
7598 
7600 
7606 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
7607  protected:
7608  float m_position[3];
7609  double m_dposition[3];
7610  int m_length;
7612  char * m_string;
7613  unsigned char m_encoding;
7614  unsigned char m_options;
7615  unsigned char m_region_options;
7616  unsigned char m_region_fit;
7617  unsigned char m_region_count;
7618  float m_region[4*3];
7619  int m_count;
7622  int m_tmp;
7624  void set_string (char const * string);
7625  void set_string (int length);
7626 
7627  public:
7629  TK_Text (unsigned char opcode);
7630  ~TK_Text();
7631 
7634  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7635 
7636  TK_Status ReadAscii (BStreamFileToolkit & tk);
7637  TK_Status WriteAscii (BStreamFileToolkit & tk);
7638 
7639  void Reset ();
7640 
7642  void SetString (char const * string) { set_string (string); }
7644  void SetString (unsigned short const * string);
7646  void SetString (unsigned int const * string);
7648  void SetString (int length) { set_string (length); }
7650  char const * GetString () const { return m_string; }
7652  char * GetString () { return m_string; }
7653 
7655  void SetPosition (float x, float y, float z)
7656  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7658  void SetPosition (float const * p) { SetPosition (p[0], p[1], p[2]); }
7660  float const * GetPosition () const { return &m_position[0]; }
7661 
7663  void SetDPosition (double x, double y, double z)
7664  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7666  void SetDPosition (double const * p) { SetDPosition (p[0], p[1], p[2]); }
7668  double const * GetDPosition () const { return &m_dposition[0]; }
7669 
7671  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
7673  int GetEncoding () const { return (int)m_encoding; }
7674 
7676  void SetTextRegion (int c, float const * p, int o=0, int f=0);
7678  int GetTextRegionCount () const { return (int)m_region_count; }
7680  float const * GetTextRegionPoints () const { return m_region; }
7682  int GetTextRegionOptions () const { return (int)m_region_options; }
7684  int GetTextRegionFitting () const { return (int)m_region_fit; }
7685 };
7686 
7688 
7690 
7697  TKO_Font_HOOPS_Stroked // data represents a HOOPS stroked font definition
7698 };
7699 
7700 
7702 
7708 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
7709  protected:
7710  char * m_name;
7711  char * m_lookup;
7712  char * m_bytes;
7715  int m_length;
7716  unsigned char m_type;
7717  unsigned char m_encoding;
7719  void set_bytes (int size, char const * bytes = 0);
7722  void set_name (char const * string);
7724  void set_name (int length);
7726  void set_lookup (char const * string);
7728  void set_lookup (int length);
7729 
7730  public:
7732  TK_Font () : BBaseOpcodeHandler (TKE_Font),
7733  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
7734  m_type (0), m_encoding (0) {}
7735  ~TK_Font();
7736 
7739  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7740 
7741  TK_Status ReadAscii (BStreamFileToolkit & tk);
7742  TK_Status WriteAscii (BStreamFileToolkit & tk);
7743 
7744  void Reset ();
7745 
7746 
7748  void SetType (int t) { m_type = (unsigned char)t;}
7750  int GetType () const { return (int)m_type; }
7751 
7756  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
7758  int GetBytesCount () const { return m_length; }
7760  char const * GetBytes () const { return m_bytes; }
7762  char * GetBytes () { return m_bytes; }
7763 
7765  void SetName (char const * string) { set_name (string); }
7767  void SetName (int length) { set_name (length); }
7769  char const * GetName () const { return m_name; }
7771  char * GetName () { return m_name; }
7772 
7774  void SetLookup (char const * string) { set_lookup (string); }
7776  void SetLookup (int length) { set_lookup (length); }
7778  char const * GetLookup () const { return m_lookup; }
7780  char * GetLookup () { return m_lookup; }
7781 
7783  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
7785  int GetEncoding () const { return (int)m_encoding; }
7786 };
7787 
7789 
7808 
7812 
7814  TKO_Image_Discard = 0x00000200,
7815  TKO_Image_Options_Mask = 0xFFFFFFF0,
7816 
7818 };
7819 
7820 
7822 extern const int TK_Image_Bytes_Per_Pixel[];
7823 
7835 };
7836 
7837 #ifndef DOXYGEN_SHOULD_SKIP_THIS
7838 
7839 class BBINFILETK_API2 TK_Image_Data_Buffer {
7840  protected:
7841  unsigned char * m_buffer;
7842  unsigned int m_allocated;
7843  unsigned int m_used;
7844 
7845  public:
7847  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
7848  ~TK_Image_Data_Buffer();
7849 
7850  void Resize (unsigned int size);
7851  void Expand (unsigned int size) { Resize (Size() + size); }
7852  void Reset ();
7853 
7854  unsigned int const & Size () const { return m_allocated; }
7855  unsigned int const & Used () const { return m_used; }
7856  unsigned int & Used () { return m_used; }
7857  unsigned char const * Buffer () const { return m_buffer; }
7858  unsigned char * Buffer () { return m_buffer; }
7859 };
7860 
7861 
7862 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
7863 
7864 
7866 
7872 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
7873  protected:
7874  char * m_bytes;
7875  char * m_name;
7876  char * m_reference;
7877  float m_position[3];
7878  double m_dposition[3];
7879  int m_size[2];
7883  unsigned char m_format;
7884  unsigned int m_options;
7885  unsigned char m_compression;
7886  unsigned char m_bytes_format;
7887  float m_explicit_size[2];
7888  unsigned char m_explicit_units[2];
7889  TK_Image_Data_Buffer m_work_area[2];
7894  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
7897  void set_name (char const * string);
7899  void set_name (int length);
7900 
7902  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7904  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7906  TK_Status read_jpeg_header ();
7907 
7908  public:
7910  TK_Image ();
7911  ~TK_Image();
7912 
7915  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7916 
7917  TK_Status ReadAscii (BStreamFileToolkit & tk);
7918  TK_Status WriteAscii (BStreamFileToolkit & tk);
7919  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
7920 
7921 
7922  void Reset ();
7923 
7928  void SetBytes (int size, char const * bytes = 0,
7929  unsigned char data_format = TKO_Compression_None)
7930  { set_data (size, bytes, data_format); }
7932  char const * GetBytes () const { return m_bytes; }
7934  char * GetBytes () { return m_bytes; }
7935 
7937  void SetName (char const * string) { set_name (string); }
7939  void SetName (int length) { set_name (length); }
7941  char const * GetName () const { return m_name; }
7943  char * GetName () { return m_name; }
7944 
7946  void SetReference (char const * string);
7948  void SetReference (int length);
7950  char const * GetReference () const { return m_reference; }
7952  char * GetReference () { return m_reference; }
7953 
7955  void SetPosition (float x, float y, float z)
7956  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7958  void SetPosition (float const * p) { SetPosition (p[0], p[1], p[2]); }
7960  float const * GetPosition () const { return &m_position[0]; }
7961 
7963  void SetDPosition (double x, double y, double z)
7964  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7966  void SetDPosition (double const * p) { SetDPosition (p[0], p[1], p[2]); }
7968  double const * GetDPosition () const { return &m_dposition[0]; }
7969 
7971  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7973  void SetSize (int const * s) { m_size[0] = s[0]; m_size[1] = s[1]; }
7975  int const * GetSize () const { return m_size; }
7976 
7978  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
7980  int GetFormat () const { return (int)m_format; }
7981 
7983  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
7985  int GetOptions () const { return (int)m_options; }
7986 
7988  void SetCompression (int c) { m_compression = (unsigned char)c; }
7990  int GetCompression () const { return (int)m_compression; }
7991 };
7992 
7993 
7995 
7996 
8002  TKO_Texture_Tiling = 0x00000002,
8004  TKO_Texture_Decimation = 0x00000008,
8010  TKO_Texture_Layout = 0x00000200,
8011  TKO_Texture_Transform = 0x00000400,
8013  TKO_Texture_Caching = 0x00001000,
8014  TKO_Texture_DownSample = 0x00002000,
8016  TKO_Texture_Extended = 0x00008000,
8017  TKO_Texture_Extended_Mask = 0xFFFF0000, // internal use, indicates bit which require TKO_Texture_Extended
8018  TKO_Texture_Extended_Shift = 16, // internal use, indicates shift of extended section
8019  TKO_Texture_Decal = 0x00010000,
8020  TKO_Texture_Modulate = 0x00020000,
8023  TKO_Texture_Shader = 0x00100000,
8025  TKO_Texture_Camera = 0x00400000,
8028 };
8029 
8050 };
8051 
8052 
8061 };
8062 
8063 
8073 };
8074 
8084 };
8085 
8086 
8099 };
8100 
8101 
8114 };
8115 
8116 
8123 };
8124 
8125 
8127 
8133 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
8134  protected:
8135  char * m_name;
8137  char * m_image;
8138  char * m_camera;
8143  int m_flags;
8154  char m_layout;
8155  char m_tiling;
8156  float m_value_scale[2];
8157  int m_source_dimensions[3];
8158  char * m_transform;
8162  void set_name (int length);
8163  void set_name (char const * name);
8164  void set_image (int length);
8165  void set_image (char const * image);
8166  void set_transform (int length);
8167  void set_transform (char const * transform);
8168 
8169  public:
8171  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
8172  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
8173  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
8174  m_transform (0) {
8175  Reset();
8176  }
8177  ~TK_Texture();
8178 
8181  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8182 
8183  TK_Status ReadAscii (BStreamFileToolkit & tk);
8184  TK_Status WriteAscii (BStreamFileToolkit & tk);
8185 
8186  void Reset ();
8187 
8189  void SetName (char const * name) { set_name (name); }
8191  void SetName (int length) { set_name (length); }
8193  char const * GetName () const { return m_name; }
8195  char * GetName () { return m_name; }
8196 
8198  void SetShaderSource (char const * shader_source);
8200  void SetShaderSource (int length);
8202  char const * GetShaderSource () const { return m_shader_source; }
8204  char * GetShaderSource () { return m_shader_source; }
8205 
8207  void SetImage (char const * image) { set_image (image); }
8209  void SetImage (int length) { set_image (length); }
8211  char const * GetImage () const { return m_image; }
8213  char * GetImage () { return m_image; }
8214 
8216  void SetCamera (char const * camera);
8218  void SetCamera (int length);
8220  char const * GetCamera () const { return m_camera; }
8222  char * GetCamera () { return m_camera; }
8223 
8225  void SetFlags (int f) {
8226  m_flags = f;
8227  if ((f & TKO_Texture_Extended_Mask) != 0)
8228  m_flags |= TKO_Texture_Extended;
8229  }
8231  int GetFlags () const { return m_flags; }
8232 
8234  void SetParameterSource (int p) { m_param_source = (char)p; }
8236  int GetParameterSource () const { return (int)m_param_source; }
8237 
8239  void SetInterpolation (int p) { m_interpolation = (char)p; }
8241  int GetInterpolation () const { return (int)m_interpolation; }
8242 
8244  void SetDecimation (int p) { m_decimation = (char)p; }
8246  int GetDecimation () const { return (int)m_decimation; }
8247 
8249  void SetRedMapping (int p) { m_red_mapping = (char)p; }
8251  int GetRedMapping () const { return (int)m_red_mapping; }
8252 
8254  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
8256  int GetGreenMapping () const { return (int)m_green_mapping; }
8257 
8259  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
8261  int GetBlueMapping () const { return (int)m_blue_mapping; }
8262 
8264  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
8266  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
8267 
8269  void SetParameterFunction (int p) { m_param_function = (char)p; }
8271  int GetParameterFunction () const { return (int)m_param_function; }
8272 
8274  void SetLayout (int p) { m_layout = (char)p; }
8276  int GetLayout () const { return (int)m_layout; }
8277 
8279  void SetTiling (int p) { m_tiling = (char)p; }
8281  int GetTiling () const { return (int)m_tiling; }
8282 
8284  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
8286  float const * GetValueScale () const { return m_value_scale; }
8287 
8289  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
8291  int GetApplicationMode () const { return (int)m_apply_mode; }
8292 
8294  void SetParameterOffset (int p) { m_param_offset = (char)p; }
8296  int GetParameterOffset () const { return (int)m_param_offset; }
8297 
8302  void SetTransform (char const * transform) { set_transform (transform); }
8307  void SetTransform (int length) { set_transform (length); }
8309  char const * GetTransform () const { return m_transform; }
8311  char * GetTransform () { return m_transform; }
8312 };
8313 
8314 
8321 
8323 };
8324 
8326 
8332 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
8333  protected:
8334  unsigned char * m_bytes;
8336  int m_size[2];
8337  unsigned char m_format;
8339  public:
8341  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
8342  ~TK_Thumbnail();
8343 
8346  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8347 
8348  TK_Status ReadAscii (BStreamFileToolkit & tk);
8349  TK_Status WriteAscii (BStreamFileToolkit & tk);
8350 
8352  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
8353  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
8354  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
8355  void Reset ();
8356 
8361  void SetBytes (int size, unsigned char const * bytes = 0);
8363  unsigned char const * GetBytes () const { return m_bytes; }
8365  unsigned char * GetBytes () { return m_bytes; }
8366 
8368  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
8370  void SetSize (int const * s) { m_size[0] = s[0]; m_size[1] = s[1]; }
8372  int const * GetSize () const { return m_size; }
8373 
8375  void SetFormat (int f) { m_format = (unsigned char)f; }
8377  int GetFormat () const { return (int)m_format; }
8378 };
8379 
8380 
8382 
8384 
8389 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
8390  protected:
8392  int m_size;
8393  char * m_name;
8394  char * m_data;
8396  public:
8398  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
8399  m_name_length (0), m_size (0),
8400  m_name (0), m_data (0) {}
8402 
8405  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8406 
8407  TK_Status ReadAscii (BStreamFileToolkit & tk);
8408  TK_Status WriteAscii (BStreamFileToolkit & tk);
8409 
8410  void Reset ();
8411 
8413  void SetName (char const * name);
8415  void SetName (int length);
8417  char const * GetName () const { return m_name; }
8419  char * GetName () { return m_name; }
8420 
8422  void SetDefinition (int size, char const * data = 0);
8424  int GetDefinitionSize () const { return m_size; }
8426  char const * GetDefinition () const { return m_data; }
8428  char * GetDefinition () { return m_data; }
8429 };
8430 
8431 
8433 
8438 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
8439  protected:
8441  char * m_name;
8444  char * m_segment;
8448  char * m_condition;
8452  bool m_follow;
8453 
8454  public:
8457  m_name_length (0), m_name (0),
8458  m_segment_length (0), m_segment (0) ,
8459  m_cond_length (0), m_cond_allocated (0), m_condition (0),
8460  m_key(-1), m_referee(0), m_follow(true) {}
8461  ~TK_Named_Style_Def();
8462 
8465  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8466 
8467  TK_Status ReadAscii (BStreamFileToolkit & tk);
8468  TK_Status WriteAscii (BStreamFileToolkit & tk);
8469 
8470  void Reset ();
8471 
8473  void SetName (char const * name);
8475  void SetName (int length);
8477  char const * GetName () const { return m_name; }
8479  char * GetName () { return m_name; }
8480 
8485  void SetSegment (char const * segment);
8490  void SetSegment (int length);
8494  char const * GetSegment () const { return m_segment; }
8499  char * GetSegment () { return m_segment; }
8500 };
8501 
8503 
8508 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
8509  protected:
8512  char * m_name;
8513  char * m_definition;
8515  public:
8517  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
8518  m_name_length (0), m_definition_length (0),
8519  m_name (0), m_definition (0) {}
8520  ~TK_Line_Style();
8521 
8524  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8525 
8526  TK_Status ReadAscii (BStreamFileToolkit & tk);
8527  TK_Status WriteAscii (BStreamFileToolkit & tk);
8528 
8529  void Reset ();
8530 
8532  void SetName (char const * name);
8534  void SetName (int length);
8536  char const * GetName () const { return m_name; }
8538  char * GetName () { return m_name; }
8539 
8541  void SetDefinition (char const * def);
8543  void SetDefinition (int length);
8545  char const * GetDefinition () const { return m_definition; }
8547  char * GetDefinition () { return m_definition; }
8548 };
8549 
8551 
8553 
8558 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
8559  protected:
8560  char m_options;
8561  float m_rect[4];
8563  public:
8566  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
8567 
8570  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8571 
8572  TK_Status ReadAscii (BStreamFileToolkit & tk);
8573  TK_Status WriteAscii (BStreamFileToolkit & tk);
8574 
8575  void Reset ();
8576 
8578  void SetRectangle (float left, float right, float bottom, float top)
8579  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
8581  void SetRectangle (float const * rect)
8582  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
8584  float const * GetRectangle () const { return m_rect; }
8585 
8587  void SetOptions (int o) { m_options = (char)o; }
8589  int GetOptions () const { return (int)m_options; }
8590 };
8591 
8593 
8603 };
8604 
8606 
8611 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
8612  protected:
8613  char m_options;
8614  int m_count;
8615  float * m_points;
8616  double * m_dpoints;
8618  public:
8621  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0) {}
8622  ~TK_Clip_Region();
8623 
8626  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8627 
8628  TK_Status ReadAscii (BStreamFileToolkit & tk);
8629  TK_Status WriteAscii (BStreamFileToolkit & tk);
8630 
8631  void Reset ();
8632 
8637  void SetPoints (int count, float const * points = 0);
8639  float const * GetPoints () const { return m_points; }
8641  float * GetPoints () { return m_points; }
8642 
8647  void SetDPoints (int count, double const * points = 0);
8649  double const * GetDPoints () const { return m_dpoints; }
8651  double * GetDPoints () { return m_dpoints; }
8652 
8653 
8655  int GetCount () const { return m_count; }
8656 
8657 
8659  void SetOptions (int o) { m_options = (char)o; }
8661  int GetOptions () const { return (int)m_options; }
8662 };
8663 
8664 
8666 
8668 
8684 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
8685  protected:
8686  int m_size;
8687  unsigned char * m_data;
8690  void set_data (int size, unsigned char const * bytes = 0);
8692 
8693  public:
8696  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
8697  ~TK_User_Data();
8698 
8701  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8702 
8703  TK_Status ReadAscii (BStreamFileToolkit & tk);
8704  TK_Status WriteAscii (BStreamFileToolkit & tk);
8705 
8707  void Reset ();
8708 
8713  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
8715  unsigned char const * GetUserData () const { return m_data; }
8717  unsigned char * GetUserData () { return m_data; }
8719  int GetSize () const { return m_size; }
8720 
8722  void Resize (int size);
8723 
8725  void SetSize (int size);
8726 };
8727 
8728 
8730 
8732 
8744 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
8745  protected:
8747 
8750  struct vlist_s *m_data;
8751 
8752  public:
8754  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
8755  ~TK_Material();
8756 
8759  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8760  void Reset ();
8761 
8762  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
8763  TK_Status GetBlock (char const **ptr, int *buffer_size);
8764 };
8765 
8767 
8772 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
8773  protected:
8774  int m_size;
8775  char * m_data;
8777  public:
8779  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
8780  ~TK_XML();
8781 
8784  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8785 
8786  TK_Status ReadAscii (BStreamFileToolkit & tk);
8787  TK_Status WriteAscii (BStreamFileToolkit & tk);
8788 
8790  void Reset ();
8791 
8796  void SetXML (int size, char const * data = 0);
8800  void AppendXML (int size, char const * data = 0);
8802  char const * GetXML () const { return m_data; }
8804  char * GetXML () { return m_data; }
8806  int GetSize () const { return m_size; }
8807 };
8808 
8809 
8810 
8812 
8818 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
8819  protected:
8820  int m_length;
8822  char * m_string;
8824  public:
8827  m_length (0), m_allocated (0), m_string (0) {}
8828  ~TK_URL();
8829 
8832  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8833 
8834  TK_Status ReadAscii (BStreamFileToolkit & tk);
8835  TK_Status WriteAscii (BStreamFileToolkit & tk);
8836 
8837  void Reset ();
8838 
8840  void SetString (char const * string);
8842  void SetString (int length);
8844  char const * GetString () const { return m_string; }
8846  char * GetString () { return m_string; }
8847 };
8848 
8849 
8851 
8857 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
8858  protected:
8859  int m_length;
8861  char * m_string;
8863  public:
8864  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
8865  m_length (0), m_allocated (0), m_string (0) {}
8867 
8870  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8871 
8872  TK_Status ReadAscii (BStreamFileToolkit & tk);
8873  TK_Status WriteAscii (BStreamFileToolkit & tk);
8874 
8876  void Reset ();
8877 
8879  void SetString (char const * string);
8881  void SetString (int length);
8883  char const * GetString () const { return m_string; }
8885  char * GetString () { return m_string; }
8886 };
8887 
8888 
8890 
8896 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
8897  protected:
8898  int m_length;
8900  wchar_t * m_string;
8902  public:
8903  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
8904  m_length (0), m_allocated (0), m_string (0) {}
8906 
8909  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8910 
8912  void Reset ();
8913 
8915  void SetString (__wchar_t const * string);
8916 #ifdef _MSC_VER
8917  void SetString (unsigned short const * string);
8918 #endif
8919 
8920  void SetString (int length);
8922  wchar_t const * GetString () const { return m_string; }
8924  wchar_t * GetString () { return m_string; }
8925 };
8926 
8927 
8928 #endif //BOPCODE_HANDLER
8929 
void SetOptions(int o)
Definition: BOpcodeHandler.h:6481
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2561
char ** m_isoline_patterns
for internal use only.
Definition: BOpcodeHandler.h:3001
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4531
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4522
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:6073
char * GetString()
Definition: BOpcodeHandler.h:2487
void SetColorMarkerContrastLockMask(int m)
Definition: BOpcodeHandler.h:3539
TK_Status PutData(BStreamFileToolkit &tk, unsigned int const &i)
Definition: BOpcodeHandler.h:453
the offset from the standard position
Definition: BOpcodeHandler.h:7566
float * m_control_points
Definition: BOpcodeHandler.h:6370
float const * GetRGB() const
Definition: BOpcodeHandler.h:2247
int m_nurbs_options_value
For internal use only.
Definition: BOpcodeHandler.h:3031
type for 'quantization' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2775
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2898
int GetMask(int index=0) const
Definition: BOpcodeHandler.h:3138
int GetTechnology() const
Definition: BOpcodeHandler.h:3163
internal use, indicates bits which require TKO_Geo_Extended2
Definition: BOpcodeHandler.h:1218
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2995
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:5365
""
Definition: BOpcodeHandler.h:5020
int GetOptions() const
Definition: BOpcodeHandler.h:6232
ID_Key last_key(BStreamFileToolkit &tk) const
obsolete
Definition: BOpcodeHandler.h:625
int value
For internal use only.
Definition: BOpcodeHandler.h:1354
refer to HC_Set_Visibility
Definition: BOpcodeHandler.h:5077
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1245
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:4687
int GetFlags() const
Definition: BOpcodeHandler.h:8231
void SetType(int t)
Definition: BOpcodeHandler.h:7503
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:215
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:8715
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:4641
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:8565
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4457
int m_name_length
Definition: BOpcodeHandler.h:8391
TK_Grid()
Definition: BOpcodeHandler.h:7415
int m_name_length
Definition: BOpcodeHandler.h:7881
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4969
void SetDiffuse(float const *rgb)
Definition: BOpcodeHandler.h:2098
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2726
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:4565
char * GetName()
Definition: BOpcodeHandler.h:7771
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:3191
int GetLodMinimumTriangleCount() const
Definition: BOpcodeHandler.h:4107
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4984
int GetFormat() const
Definition: BOpcodeHandler.h:7980
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:4633
float GetCutGeometryTolerance() const
Definition: BOpcodeHandler.h:4275
void SetVisibilityLockValue(int v)
Definition: BOpcodeHandler.h:3228
//
Definition: BOpcodeHandler.h:923
int const * GetSize() const
Definition: BOpcodeHandler.h:8372
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:5986
void SetSimpleShadowPlane(float const *p)
Definition: BOpcodeHandler.h:4321
""
Definition: BOpcodeHandler.h:5026
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2638
self-explanatory
Definition: BOpcodeHandler.h:1319
void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:522
bool GetLogging() const
Definition: BStreamFileToolkit.h:990
float * m_v_knots
Definition: BOpcodeHandler.h:6538
void SetPattern(int p)
Definition: BOpcodeHandler.h:5180
TK_Bounding(unsigned char opcode, float *min, float *max)
Definition: BOpcodeHandler.h:6131
int color_value
For internal use only.
Definition: BOpcodeHandler.h:1356
channel m_bump
internal use
Definition: BOpcodeHandler.h:2040
short color_text_mask
For internal use only.
Definition: BOpcodeHandler.h:1365
unsigned short m_unsigned_short
temporary
Definition: BOpcodeHandler.h:79
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8034
char m_space
internal use
Definition: BOpcodeHandler.h:2261
int GetOffset() const
Definition: BOpcodeHandler.h:1999
transform position only
Definition: BOpcodeHandler.h:5853
int m_allocated
Definition: BOpcodeHandler.h:8335
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:2147
double * m_dcontrol_points
Definition: BOpcodeHandler.h:6371
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1702
""
Definition: BOpcodeHandler.h:5019
TKO_Character_Attributes
Definition: BOpcodeHandler.h:7563
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:5693
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4520
float const * GetField() const
Definition: BOpcodeHandler.h:5707
void SetLodFallback(int v)
Definition: BOpcodeHandler.h:4125
double * m_dpoints
Definition: BOpcodeHandler.h:7285
int GetCount() const
Definition: BOpcodeHandler.h:6659
char * GetCondition()
Definition: BOpcodeHandler.h:1722
void SetAxis(float const *s)
Definition: BOpcodeHandler.h:7116
void SetComment(int length)
Definition: BOpcodeHandler.h:1105
char const * GetCamera() const
Definition: BOpcodeHandler.h:8220
void SetColorMarkerContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3942
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4454
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2711
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5050
void SetOptions(int o)
Definition: BOpcodeHandler.h:8587
color interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2552
the offset from the standard position
Definition: BOpcodeHandler.h:7574
int GetRadiusCount() const
Definition: BOpcodeHandler.h:7366
int const * GetIndices() const
Definition: BOpcodeHandler.h:5529
void SetColorLockValue(int v)
Definition: BOpcodeHandler.h:3251
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:2151
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4962
int GetForcedLockValue() const
Definition: BOpcodeHandler.h:3614
Definition: BOpcodeHandler.h:2415
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:4609
int m_count
internal use
Definition: BOpcodeHandler.h:6615
int m_lookup_length
Definition: BOpcodeHandler.h:7714
int m_shader_source_length
Definition: BOpcodeHandler.h:8140
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6726
void SetGeneralDisplacement(int d)
Definition: BOpcodeHandler.h:3186
unsigned short mask
specifies which settings are active (i.e. the attributes for which we have an opinion at this point) ...
Definition: BOpcodeHandler.h:7590
self-explanatory
Definition: BOpcodeHandler.h:1277
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2627
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:5450
TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:311
bool NeedsTag() const
Definition: BOpcodeHandler.h:197
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4488
unsigned int NextOpcodeSequence()
Definition: BStreamFileToolkit.h:1021
int GetColorVertexLockMask() const
Definition: BOpcodeHandler.h:3475
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2594
TK_Status GetData(BStreamFileToolkit &tk, short *s, int n)
Definition: BOpcodeHandler.h:252
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2875
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2815
TK_Header()
Definition: BOpcodeHandler.h:1000
int m_values_length
internal use
Definition: BOpcodeHandler.h:2428
""
Definition: BOpcodeHandler.h:8069
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4977
self-explanatory
Definition: BOpcodeHandler.h:7517
float const * GetWeights() const
Definition: BOpcodeHandler.h:6509
unsigned char m_degree
Definition: BOpcodeHandler.h:6461
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3786
TKO_Texture_Option_Bits
Definition: BOpcodeHandler.h:8000
Capping_Options
Definition: BOpcodeHandler.h:7311
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:3079
char const * GetView() const
Definition: BOpcodeHandler.h:5754
refer to HC_Set_Rendering_Options
Definition: BOpcodeHandler.h:5079
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:5916
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1249
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:3532
unsigned char m_opcode
The opcode being handled by this particular object.
Definition: BOpcodeHandler.h:63
float const * GetPlane() const
Definition: BOpcodeHandler.h:6818
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2620
int GetTextRegionFitting() const
Definition: BOpcodeHandler.h:7684
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1180
TK_Status PutData(BStreamFileToolkit &tk, unsigned short const &s)
Definition: BOpcodeHandler.h:450
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2653
float GetHlrFaceDisplacement() const
Definition: BOpcodeHandler.h:4051
""
Definition: BOpcodeHandler.h:4993
internal use, indicates shift for placement of extended section
Definition: BOpcodeHandler.h:1190
int GetDebug() const
Definition: BOpcodeHandler.h:3173
int GetNURBSCurveBudget() const
Definition: BOpcodeHandler.h:4077
""
Definition: BOpcodeHandler.h:5008
float const * GetAmbientUpVector() const
Definition: BOpcodeHandler.h:4407
char m_char
temporary
Definition: BOpcodeHandler.h:81
TK_Status PutGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:479
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2787
""
Definition: BOpcodeHandler.h:8046
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2919
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:3590
int GetGeometry() const
Definition: BOpcodeHandler.h:2402
type for cylinder tesselation value; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2925
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:3181
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2813
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6289
int m_size
Definition: BOpcodeHandler.h:8686
self-explanatory
Definition: BOpcodeHandler.h:1298
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4975
void SetFormat(int f)
Definition: BOpcodeHandler.h:7978
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:4103
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:5722
void SetDRef1(double const *r)
Definition: BOpcodeHandler.h:7475
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:3366
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:5165
double * m_dpoints
Definition: BOpcodeHandler.h:8616
channel m_specular
internal use
Definition: BOpcodeHandler.h:2035
TKO_Map_Format
Definition: BOpcodeHandler.h:2413
env map
Definition: BOpcodeHandler.h:1282
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1198
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:8363
float vertical_offset
offset, positive or negative, from the standard position. units are specified separately in vertical_...
Definition: BOpcodeHandler.h:7584
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2804
""
Definition: BOpcodeHandler.h:8037
""
Definition: BOpcodeHandler.h:5032
char * m_shader_source
Definition: BOpcodeHandler.h:8136
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2611
int m_length
internal use
Definition: BOpcodeHandler.h:1063
short color_face_value
For internal use only.
Definition: BOpcodeHandler.h:1358
void SetColorWindowForcedLockMask(int m)
Definition: BOpcodeHandler.h:3781
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
""
Definition: BOpcodeHandler.h:4999
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2824
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:4018
float * GetPoints()
Definition: BOpcodeHandler.h:6567
short m_type
Definition: BOpcodeHandler.h:5313
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2698
unsigned char Opcode() const
Definition: BOpcodeHandler.h:162
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2630
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4487
void SetTechnology(int t)
Definition: BOpcodeHandler.h:3161
int m_surface_trim_budget
For internal use only.
Definition: BOpcodeHandler.h:3035
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2679
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1552
int m_current_level
the index of the level currently in progress.
Definition: BOpcodeHandler.h:1814
char m_options
for internal use only
Definition: BOpcodeHandler.h:6703
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2899
void SetDStart(double const *s)
Definition: BOpcodeHandler.h:6924
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:6076
void increase_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:634
""
Definition: BOpcodeHandler.h:8004
HT_NURBS_Trim * m_list
Definition: BOpcodeHandler.h:6467
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2874
TK_Status GetData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:302
void SetTolerance(float t)
Definition: BOpcodeHandler.h:5979
int m_highest_level
keeps track of highest level lod that has been seen so far
Definition: BOpcodeHandler.h:1810
char * GetTransform()
Definition: BOpcodeHandler.h:8311
self-explanatory
Definition: BOpcodeHandler.h:7514
void SetSimpleShadowBlur(int m)
Definition: BOpcodeHandler.h:4293
wchar_t unicode string
Definition: BOpcodeHandler.h:7524
void SetDRef2(double const *r)
Definition: BOpcodeHandler.h:7486
float m_surface_max_facet_angle
For internal use only.
Definition: BOpcodeHandler.h:3037
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:4716
float m_radius
Definition: BOpcodeHandler.h:7192
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:3659
int GetColorLineContrastLockMask() const
Definition: BOpcodeHandler.h:3521
char const * GetName() const
Definition: BOpcodeHandler.h:8477
float m_hlr_weight
for internal use only.
Definition: BOpcodeHandler.h:2986
char * m_name
Definition: BOpcodeHandler.h:8441
void SetDCenter(double const *s)
Definition: BOpcodeHandler.h:7137
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2907
TKO_Texture_Filters
Definition: BOpcodeHandler.h:8090
void SetBufferOptionsMask(int v)
Definition: BOpcodeHandler.h:4010
int m_nurbs_options_mask
For internal use only.
Definition: BOpcodeHandler.h:3030
float * m_control_points
Definition: BOpcodeHandler.h:6534
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2809
void SetImage(int length)
Definition: BOpcodeHandler.h:8209
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1360
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2822
""
Definition: BOpcodeHandler.h:8058
void SetEncoding(int e)
Definition: BOpcodeHandler.h:7783
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1524
int GetPattern() const
Definition: BOpcodeHandler.h:5182
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4714
float const * GetCenter() const
Definition: BOpcodeHandler.h:7101
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4820
TKO_Heuristic_Bits
Definition: BOpcodeHandler.h:4449
int m_debug_allocated
Definition: BOpcodeHandler.h:68
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6654
void SetDiffuseTextureTintColor(float const *rgb)
Definition: BOpcodeHandler.h:4429
int GetOrientationCount() const
Definition: BOpcodeHandler.h:4749
mask of bits requiring extended
Definition: BOpcodeHandler.h:4467
self-explanatory
Definition: BOpcodeHandler.h:1339
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:3486
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:979
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:5388
void SetColorFaceLockMask(int m)
Definition: BOpcodeHandler.h:3263
""
Definition: BOpcodeHandler.h:8044
int GetUSize() const
Definition: BOpcodeHandler.h:6578
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8068
short color_window_mask
For internal use only.
Definition: BOpcodeHandler.h:1367
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2797
int m_allocated
Definition: BOpcodeHandler.h:8899
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1922
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:7110
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2740
channel m_transmission
internal use
Definition: BOpcodeHandler.h:2037
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:7189
""
Definition: BOpcodeHandler.h:5001
float m_radius
Definition: BOpcodeHandler.h:7072
void Reset(void)
Definition: BOpcodeHandler.h:6206
char const * GetBytes() const
Definition: BOpcodeHandler.h:7932
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:2257
unsigned char m_flags
Definition: BOpcodeHandler.h:7070
oblique y setting
Definition: BOpcodeHandler.h:5588
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1212
void fix_out(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:567
char * m_string
internal use
Definition: BOpcodeHandler.h:2431
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2738
TK_Sphere()
Definition: BOpcodeHandler.h:7082
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:5481
double * GetDRadii()
Definition: BOpcodeHandler.h:7360
image is native JPEG data
Definition: BOpcodeHandler.h:7801
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:6026
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:4345
TK_Status GetData(BStreamFileToolkit &tk, unsigned int *i, int n)
Definition: BOpcodeHandler.h:290
double * GetDOrigin()
Definition: BOpcodeHandler.h:7468
void SetInner(float i)
Definition: BOpcodeHandler.h:6755
unsigned char m_region_count
Definition: BOpcodeHandler.h:7617
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1258
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2708
TK_Conditional_Action()
Definition: BOpcodeHandler.h:5320
void SetIndices(int count, int const *indices, POINTER_SIZED_INT const *values)
Definition: BOpcodeHandler.h:5470
char const * GetImage() const
Definition: BOpcodeHandler.h:8211
void SetValues(int count, float const *values=0)
Definition: BOpcodeHandler.h:2461
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:6808
void SetPosition(float const *p)
Definition: BOpcodeHandler.h:6721
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2851
slant, specified in degrees clockwise
Definition: BOpcodeHandler.h:7569
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3850
int GetCount() const
Definition: BOpcodeHandler.h:6828
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2829
Handles the TKE_Termination and TKE_Pause opcodes.
Definition: BOpcodeHandler.h:1127
self-explanatory
Definition: BOpcodeHandler.h:6682
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4458
unsigned short m_contour_options
for internal use only.
Definition: BOpcodeHandler.h:2990
char * m_condition
Definition: BOpcodeHandler.h:8448
TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:432
void SetDEnd(double const *e)
Definition: BOpcodeHandler.h:6940
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:6617
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2903
self-explanatory
Definition: BOpcodeHandler.h:1309
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4960
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:4645
TK_Thumbnail()
Definition: BOpcodeHandler.h:8341
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2589
void decrease_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:636
int GetLodNumCutoffs() const
Definition: BOpcodeHandler.h:4195
char m_options
relevant to TKE_Distant_Light and TKE_Local_Light only. See TKO_Light_Options.
Definition: BOpcodeHandler.h:6188
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2836
short color_vertex_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1383
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2881
empty placeholder image, no real data, possible reference instead
Definition: BOpcodeHandler.h:7834
int GetLodClamp() const
Definition: BOpcodeHandler.h:4115
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:3153
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2562
int GetHSR() const
Definition: BOpcodeHandler.h:3148
self-explanatory
Definition: BOpcodeHandler.h:7829
void SetLookup(int length)
Definition: BOpcodeHandler.h:7776
void SetChannels(int c)
Definition: BOpcodeHandler.h:2087
float m_end_u
Definition: BOpcodeHandler.h:6466
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4961
void SetName(int length)
Definition: BOpcodeHandler.h:7767
short color_window_value
For internal use only.
Definition: BOpcodeHandler.h:1368
texture interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2547
extra item for selectability; refer to HC_Set_Selectability for a description
Definition: BOpcodeHandler.h:1229
self-explanatory
Definition: BOpcodeHandler.h:7830
float m_cut_geometry_tolerance
For internal use only.
Definition: BOpcodeHandler.h:3062
float * m_points
Definition: BOpcodeHandler.h:6459
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5046
bool validate_count(int count, int limit=1<< 24) const
Definition: BOpcodeHandler.h:665
self-explanatory
Definition: BOpcodeHandler.h:1329
void SetShadowMap(int m)
Definition: BOpcodeHandler.h:4340
void SetEnd(float x, float y, float z)
Definition: BOpcodeHandler.h:6887
""
Definition: BOpcodeHandler.h:5004
double * GetDPoints()
Definition: BOpcodeHandler.h:6571
int m_cond_allocated
Definition: BOpcodeHandler.h:1678
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:641
void SetDPosition(double const *p)
Definition: BOpcodeHandler.h:5656
""
Definition: BOpcodeHandler.h:8020
char * m_name
Definition: BOpcodeHandler.h:8135
void SetTarget(float const *t)
Definition: BOpcodeHandler.h:5666
char m_green_mapping
Definition: BOpcodeHandler.h:8150
char * GetSegment()
Definition: BOpcodeHandler.h:1633
int GetLockValue() const
Definition: BOpcodeHandler.h:3211
char * GetString()
Definition: BOpcodeHandler.h:8885
void set_points(int count, float const *points=0)
Definition: BOpcodeHandler.h:6311
unsigned char m_encoding
Definition: BOpcodeHandler.h:7717
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:1060
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1493
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4485
Definition: BOpcodeHandler.h:5190
void SetBumpName(char const *name)
Definition: BOpcodeHandler.h:2180
TK_Status LookatData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:332
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5042
color index interpolation value; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2556
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:3371
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1752
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:4388
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:5899
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2906
virtual void Reset()
refer to HC_Define_Shader
Definition: BOpcodeHandler.h:8027
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4818
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2749
void SetGloss(float g)
Definition: BOpcodeHandler.h:2189
char const * GetTransform() const
Definition: BOpcodeHandler.h:8309
TK_Delete_Object()
Definition: BOpcodeHandler.h:1783
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:6785
void SetCallback(int length)
Definition: BOpcodeHandler.h:2527
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:4643
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2709
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2795
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:4566
select preferred drawing modes
Definition: BOpcodeHandler.h:5822
TK_Status GetData(BStreamFileToolkit &tk, unsigned int &i)
Definition: BOpcodeHandler.h:308
TKO_Generic_Size_Units
Definition: BOpcodeHandler.h:5112
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4878
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2746
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2869
wchar_t * m_string
Definition: BOpcodeHandler.h:8900
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2566
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:4558
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:3671
int m_min_triangle_count
For internal use only.
Definition: BOpcodeHandler.h:3019
short color_line_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1380
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1674
short color_cut_face_value
For internal use only.
Definition: BOpcodeHandler.h:1390
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:6858
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:4673
int m_flags
Definition: BOpcodeHandler.h:8143
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:4719
int GetType() const
Definition: BOpcodeHandler.h:7750
char m_layout
Definition: BOpcodeHandler.h:8154
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2814
int GetColorLineLockMask() const
Definition: BOpcodeHandler.h:3314
refer to HC_Set_Geometry_Options
Definition: BOpcodeHandler.h:4702
TK_Bounding(unsigned char opcode, double *center, double radius)
Definition: BOpcodeHandler.h:6150
int GetForceDefer() const
Definition: BOpcodeHandler.h:4692
char * GetXML()
Definition: BOpcodeHandler.h:8804
""
Definition: BOpcodeHandler.h:8080
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2848
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3924
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2880
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5658
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4816
float * m_points
Definition: BOpcodeHandler.h:6307
int GetOptions() const
Definition: BOpcodeHandler.h:8589
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2663
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:3151
int GetMoveDown() const
Definition: BOpcodeHandler.h:4883
full transforms
Definition: BOpcodeHandler.h:5854
color by index
Definition: BOpcodeHandler.h:1280
double const * GetDField() const
Definition: BOpcodeHandler.h:5716
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:4378
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5043
self-explanatory
Definition: BOpcodeHandler.h:1340
unsigned char m_format
Definition: BOpcodeHandler.h:8337
unsigned char General_Flags() const
Definition: BOpcodeHandler.h:165
void SetRadius(float radius)
Definition: BOpcodeHandler.h:7333
int m_count
Definition: BOpcodeHandler.h:7619
void SetSize(int const *s)
Definition: BOpcodeHandler.h:8370
text centered across region
Definition: BOpcodeHandler.h:7542
int m_count
Definition: BOpcodeHandler.h:6458
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:4614
window space
Definition: BOpcodeHandler.h:7539
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1226
self-explanatory
Definition: BOpcodeHandler.h:6673
int GetDegree() const
Definition: BOpcodeHandler.h:6505
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:8389
int m_size
Definition: BOpcodeHandler.h:8774
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3976
void SetView(char const *name)
Definition: BOpcodeHandler.h:5750
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:3102
int m_knot_count_implicit
Definition: BOpcodeHandler.h:6369
self-explanatory
Definition: BOpcodeHandler.h:6676
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:62
8-bit colormap indices
Definition: BOpcodeHandler.h:7794
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2789
void SetPosition(float const *p)
Definition: BOpcodeHandler.h:5646
short color_marker_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1382
int GetCaps() const
Definition: BOpcodeHandler.h:7374
int m_allocated
Definition: BOpcodeHandler.h:7611
void SetIndex(float val)
Definition: BOpcodeHandler.h:2405
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:4606
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:7886
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:4207
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:7448
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1971
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:3050
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2574
Handles the TKE_Tag opcode.
Definition: BOpcodeHandler.h:1907
Definition: BStreamFileToolkit.h:34
float m_dihedral
For internal use only.
Definition: BOpcodeHandler.h:3092
TK_Status GetData(BStreamFileToolkit &tk, char *b, int n)
Definition: BOpcodeHandler.h:249
int GetVisibilityLockValue() const
Definition: BOpcodeHandler.h:3233
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5044
float * m_u_knots
Definition: BOpcodeHandler.h:6537
""
Definition: BOpcodeHandler.h:5013
int GetUnits() const
Definition: BOpcodeHandler.h:5156
unsigned char * m_bytes
Definition: BOpcodeHandler.h:8334
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2692
int m_count
Definition: BOpcodeHandler.h:7283
void SetIndex(int i)
Definition: BOpcodeHandler.h:1568
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:4668
unsigned int m_options
Definition: BOpcodeHandler.h:7884
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2750
unsigned char m_hlr_hsr_algorithm
for internal use only.
Definition: BOpcodeHandler.h:2988
void SetAntiAlias(int m)
Definition: BOpcodeHandler.h:4434
float const * GetWeights() const
Definition: BOpcodeHandler.h:6411
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4529
float m_depth_peeling_min_area
For internal use only.
Definition: BOpcodeHandler.h:3097
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:3682
void SetSimpleReflectionPlane(float const *p)
Definition: BOpcodeHandler.h:4368
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1957
void SetLockMask(int m)
Definition: BOpcodeHandler.h:3204
void SetParameterSource(int p)
Definition: BOpcodeHandler.h:8234
char const * GetName() const
Definition: BOpcodeHandler.h:7769
""
Definition: BOpcodeHandler.h:5016
void SetValue(int v)
Definition: BOpcodeHandler.h:4599
char * m_image
Definition: BOpcodeHandler.h:8137
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:5920
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:8508
choose or simulate a bold variation
Definition: BOpcodeHandler.h:5818
char m_options
Definition: BOpcodeHandler.h:8560
int GetApplicationMode() const
Definition: BOpcodeHandler.h:8291
TKO_Light_Options
Definition: BOpcodeHandler.h:6170
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:3032
float * GetRef2()
Definition: BOpcodeHandler.h:7456
""
Definition: BOpcodeHandler.h:5006
int GetColorWindowLockMask() const
Definition: BOpcodeHandler.h:3383
TKO_Texture_Param_Sources
Definition: BOpcodeHandler.h:8033
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:6125
void SetOrtho(float const *s)
Definition: BOpcodeHandler.h:7127
int m_name_length
Definition: BOpcodeHandler.h:8440
int GetLength()
Definition: BOpcodeHandler.h:5435
float m_value
for internal use only.
Definition: BOpcodeHandler.h:5133
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4979
char * m_name
internal use: name
Definition: BOpcodeHandler.h:5193
void SetCaps(int f)
Definition: BOpcodeHandler.h:7372
////
Definition: BOpcodeHandler.h:907
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:4093
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:6071
void SetNames(int length)
Definition: BOpcodeHandler.h:5962
void SetNURBSSurfaceBudget(int b)
Definition: BOpcodeHandler.h:4083
TK_Tag(unsigned char opcode=TKE_Tag)
Definition: BOpcodeHandler.h:1912
int GetOptions() const
Definition: BOpcodeHandler.h:6597
int m_count
for internal use only
Definition: BOpcodeHandler.h:5447
char * m_transform
Definition: BOpcodeHandler.h:8158
char * m_name
Definition: BOpcodeHandler.h:5615
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:2166
char const * GetSegment() const
Definition: BOpcodeHandler.h:8494
texture interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2545
for further expansion
Definition: BOpcodeHandler.h:5815
short color_marker_value
For internal use only.
Definition: BOpcodeHandler.h:1364
clip region is to be specified in window space {[0..1],[0..1]}. Default is world space ...
Definition: BOpcodeHandler.h:8599
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:3636
void SetColorFaceLockValue(int v)
Definition: BOpcodeHandler.h:3274
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2581
unsigned char m_renumbered_scope
for internal use only
Definition: BOpcodeHandler.h:1594
int m_int
temporary
Definition: BOpcodeHandler.h:80
""
Definition: BOpcodeHandler.h:8045
clip region is to be specified in world space.
Definition: BOpcodeHandler.h:8598
short color_line_value
For internal use only.
Definition: BOpcodeHandler.h:1362
TK_Status Tag(BStreamFileToolkit &tk, int variant=-1) const
Definition: BOpcodeHandler.h:180
int GetSize() const
Definition: BOpcodeHandler.h:8806
int visibility_value
For internal use only.
Definition: BOpcodeHandler.h:1394
float * m_isoline_positions
for internal use only.
Definition: BOpcodeHandler.h:2997
int m_to_index
internal use
Definition: BOpcodeHandler.h:1753
TKO_Texture_Tilings
Definition: BOpcodeHandler.h:8078
TKO_Circular_Options
Definition: BOpcodeHandler.h:6835
TKO_Text_Region_Options
Definition: BOpcodeHandler.h:7538
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:6395
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4479
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4968
TK_Status GetData(BStreamFileToolkit &tk, float *f, int n)
Definition: BOpcodeHandler.h:268
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2828
self-explanatory
Definition: BOpcodeHandler.h:6836
secondary extended bits
Definition: BOpcodeHandler.h:1217
void SetVector(float const *v)
Definition: BOpcodeHandler.h:4661
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4493
mask corresponding to extended bit
Definition: BOpcodeHandler.h:1287
int GetEncoding() const
Definition: BOpcodeHandler.h:7785
int GetAntiAlias() const
Definition: BOpcodeHandler.h:4436
char const * GetReference() const
Definition: BOpcodeHandler.h:7950
int GetSimpleShadowResolution() const
Definition: BOpcodeHandler.h:4300
char m_red_mapping
Definition: BOpcodeHandler.h:8149
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7955
int m_segment_length
Definition: BOpcodeHandler.h:8443
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1248
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:4155
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:8133
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2802
HOOPS defualt font layout.
Definition: BOpcodeHandler.h:5833
int m_allocated
Definition: BOpcodeHandler.h:1468
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4504
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
void SetDOrigin(double const *o)
Definition: BOpcodeHandler.h:7464
unsigned char m_options
Definition: BOpcodeHandler.h:6462
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1583
TK_Clip_Region()
Definition: BOpcodeHandler.h:8620
self-explanatory
Definition: BOpcodeHandler.h:7797
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:3268
TK_Status SetPoints(int count, float const *points=0)
void SetNURBSOptionsValue(int v)
Definition: BOpcodeHandler.h:4071
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1199
void SetColorWindowContrastLockMask(int m)
Definition: BOpcodeHandler.h:3424
void SetMirror(float r, float g, float b)
Definition: BOpcodeHandler.h:2126
""
Definition: BOpcodeHandler.h:8042
int m_length
Definition: BOpcodeHandler.h:5614
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:3625
void SetRef2(float const *r)
Definition: BOpcodeHandler.h:7452
float const * GetTarget() const
Definition: BOpcodeHandler.h:5668
void SetValue(int v0, int v1=0, int v2=0)
Definition: BOpcodeHandler.h:3141
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4983
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5045
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:7437
TK_Close_Segment()
Definition: BOpcodeHandler.h:1527
int GetColorTextForcedLockMask() const
Definition: BOpcodeHandler.h:3763
TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:438
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4472
int GetColorWindowContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3843
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2640
TK_Unicode_Options()
Definition: BOpcodeHandler.h:5414
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4963
the name of the font (i.e. which font to use)
Definition: BOpcodeHandler.h:5796
float const * GetValue() const
Definition: BOpcodeHandler.h:2307
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1215
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:232
void SetDCenter(double const *c)
Definition: BOpcodeHandler.h:6949
void SetField(float const *f)
Definition: BOpcodeHandler.h:5705
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1359
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4841
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:6495
for further expansion
Definition: BOpcodeHandler.h:5814
float * GetLodThresholds()
Definition: BOpcodeHandler.h:4181
void SetColorLineContrastLockValue(int v)
Definition: BOpcodeHandler.h:3527
int m_index
internal use: simple value for recognised old forms
Definition: BOpcodeHandler.h:5194
type for 'buffer options' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2777
void Set_General_Flags(int f)
Definition: BOpcodeHandler.h:168
""
Definition: BOpcodeHandler.h:5011
float const * GetOblique() const
Definition: BOpcodeHandler.h:5730
int m_mask
internal use
Definition: BOpcodeHandler.h:2207
the size tolerance outside of which fonts must be regenerated
Definition: BOpcodeHandler.h:5798
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2888
////
Definition: BOpcodeHandler.h:917
void SetDAxis(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:7232
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3878
float m_gloss
internal use
Definition: BOpcodeHandler.h:2041
replace with a grid of lines
Definition: BOpcodeHandler.h:5885
""
Definition: BOpcodeHandler.h:5018
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1806
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6731
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:3401
don't draw
Definition: BOpcodeHandler.h:5884
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2752
char const * GetBumpName() const
Definition: BOpcodeHandler.h:2184
self-explanatory
Definition: BOpcodeHandler.h:1301
int GetGeneralDisplacement() const
Definition: BOpcodeHandler.h:3188
shift of extended section
Definition: BOpcodeHandler.h:2744
int GetGreekingMode() const
Definition: BOpcodeHandler.h:6036
self-explanatory
Definition: BOpcodeHandler.h:1305
void SetDAxis(double const *s, double const *e)
Definition: BOpcodeHandler.h:7237
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:5923
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1378
float * GetPoints()
Definition: BOpcodeHandler.h:8641
character rotation, specified in degrees
Definition: BOpcodeHandler.h:5800
limit at which text may be replaced with a crude representation
Definition: BOpcodeHandler.h:5816
void SetString(char const *string)
Definition: BOpcodeHandler.h:7642
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7663
void SetOptions(int o)
Definition: BOpcodeHandler.h:6765
int m_max_degree
For internal use only.
Definition: BOpcodeHandler.h:3022
float GetNearLimit() const
Definition: BOpcodeHandler.h:5740
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2800
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2658
TK_Font()
Definition: BOpcodeHandler.h:7732
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:3081
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:2177
float const * GetStart() const
Definition: BOpcodeHandler.h:6911
float * GetPoints()
Definition: BOpcodeHandler.h:6335
int GetValue() const
Definition: BOpcodeHandler.h:5957
float const * GetPoints() const
Definition: BOpcodeHandler.h:7323
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:6451
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3935
void SetColorLineLockMask(int m)
Definition: BOpcodeHandler.h:3309
void SetValue(float a, float b, float c)
Definition: BOpcodeHandler.h:2301
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2863
void SetLayout(int l)
Definition: BOpcodeHandler.h:6081
float * GetPoints()
Definition: BOpcodeHandler.h:6646
TK_Conditions()
Definition: BOpcodeHandler.h:5269
double GetDRadius() const
Definition: BOpcodeHandler.h:7145
unsigned char m_tessellations
For internal use only.
Definition: BOpcodeHandler.h:3047
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2862
text size is adjusted to fit
Definition: BOpcodeHandler.h:7556
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5673
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2625
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:4063
color interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2550
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2860
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2659
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2614
self-explanatory
Definition: BOpcodeHandler.h:1325
channel m_mirror
internal use
Definition: BOpcodeHandler.h:2036
int GetOptions() const
Definition: BOpcodeHandler.h:6507
void SetColorLineContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3930
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7346
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:2136
int GetLodNumLevels() const
Definition: BOpcodeHandler.h:4111
float m_curve_max_angle
For internal use only.
Definition: BOpcodeHandler.h:3040
self-explanatory
Definition: BOpcodeHandler.h:1299
float GetWidthScale() const
Definition: BOpcodeHandler.h:6001
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2686
horizontal fitting is specified
Definition: BOpcodeHandler.h:7544
TK_Status GetData(BStreamFileToolkit &tk, unsigned short *s, int n)
Definition: BOpcodeHandler.h:287
float * m_knots
Definition: BOpcodeHandler.h:6464
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2610
TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:293
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:3089
double * m_dcontrol_points
Definition: BOpcodeHandler.h:6535
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:7121
TK_Color_By_Value()
Definition: BOpcodeHandler.h:2265
void SetEnd(float e)
Definition: BOpcodeHandler.h:6418
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:4331
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1681
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2500
char const * GetString() const
Definition: BOpcodeHandler.h:8844
""
Definition: BOpcodeHandler.h:5023
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:6078
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:7356
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4505
char * GetName()
Definition: BOpcodeHandler.h:8538
void SetCulling(int c)
Definition: BOpcodeHandler.h:4629
refer to HC_Set_Marker_Symbol
Definition: BOpcodeHandler.h:4987
TK_File_Info()
Definition: BOpcodeHandler.h:1029
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:5917
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2683
float GetRotation() const
Definition: BOpcodeHandler.h:5991
char * m_name
Definition: BOpcodeHandler.h:8393
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2724
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1223
void SetTransmission(float r, float g, float b)
Definition: BOpcodeHandler.h:2141
HT_NURBS_Trim * m_trims
Definition: BOpcodeHandler.h:6540
unsigned char m_region_options
Definition: BOpcodeHandler.h:7615
self-explanatory
Definition: BOpcodeHandler.h:7520
void SetVisibilityLockMask(int m)
Definition: BOpcodeHandler.h:3217
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:5698
void SetAxis(float const *s, float const *e)
Definition: BOpcodeHandler.h:7215
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1465
TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:459
TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:456
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:3302
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:3044
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:5192
refer to HC_Set_Heuristics for description
Definition: BOpcodeHandler.h:4535
double m_dradius
Definition: BOpcodeHandler.h:7076
int GetType() const
Definition: BOpcodeHandler.h:7505
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2967
""
Definition: BOpcodeHandler.h:5024
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:5908
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:7774
""
Definition: BOpcodeHandler.h:8007
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2669
double * GetDPoints()
Definition: BOpcodeHandler.h:6343
void SetIndices(int count)
Definition: BOpcodeHandler.h:5523
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:7015
""
Definition: BOpcodeHandler.h:4990
float GetExtraSpace() const
Definition: BOpcodeHandler.h:6006
//// pseudo-handler (non-zero value)
Definition: BOpcodeHandler.h:938
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2840
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:4252
void SetOptions(int o)
Definition: BOpcodeHandler.h:6421
float * GetWeights()
Definition: BOpcodeHandler.h:6412
extended bits for common/shared items
Definition: BOpcodeHandler.h:1188
int GetFlags()
Definition: BOpcodeHandler.h:1047
self-explanatory
Definition: BOpcodeHandler.h:6675
char * GetDiffuseName()
Definition: BOpcodeHandler.h:2108
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:4678
void SetStart(float s)
Definition: BOpcodeHandler.h:6416
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:7620
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2728
refer to HC_Set_Geometry_Options
Definition: BOpcodeHandler.h:4703
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:8424
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1558
void SetPoints(float const *s, float const *e)
Definition: BOpcodeHandler.h:6269
""
Definition: BOpcodeHandler.h:5012
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:8264
the character size
Definition: BOpcodeHandler.h:7565
short color_marker_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1381
self-explanatory
Definition: BOpcodeHandler.h:1312
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1036
TK_Area_Light()
Definition: BOpcodeHandler.h:6625
""
Definition: BOpcodeHandler.h:5002
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:3082
void GetDUpVector(double *u) const
Definition: BOpcodeHandler.h:5700
TK_Cylinder()
Definition: BOpcodeHandler.h:7199
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:3555
float const * GetMirror() const
Definition: BOpcodeHandler.h:2134
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1852
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2681
int m_length
Definition: BOpcodeHandler.h:8898
unsigned char m_optionals
Definition: BOpcodeHandler.h:6366
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:3056
""
Definition: BOpcodeHandler.h:5015
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:7068
extra spacing between lines
Definition: BOpcodeHandler.h:5807
channel m_emission
internal use
Definition: BOpcodeHandler.h:2038
refer to HC_Set_Visibility
Definition: BOpcodeHandler.h:5076
""
Definition: BOpcodeHandler.h:4998
""
Definition: BOpcodeHandler.h:8122
float m_curve_max_deviation
For internal use only.
Definition: BOpcodeHandler.h:3041
int m_name_length
Definition: BOpcodeHandler.h:8139
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2695
float const * GetSpecular() const
Definition: BOpcodeHandler.h:2119
void SetOptions(int o)
Definition: BOpcodeHandler.h:8659
TK_User_Index()
Definition: BOpcodeHandler.h:5456
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4507
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5921
float const * GetMajor() const
Definition: BOpcodeHandler.h:7012
TKO_Texture_Layouts
Definition: BOpcodeHandler.h:8067
short m_options
Definition: BOpcodeHandler.h:5314
////
Definition: BOpcodeHandler.h:914
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5445
short color_simple_reflection_value
For internal use only.
Definition: BOpcodeHandler.h:1388
""
Definition: BOpcodeHandler.h:8112
int GetOptions() const
Definition: BOpcodeHandler.h:6422
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2833
short color_window_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1371
unsigned char m_num_levels
For internal use only.
Definition: BOpcodeHandler.h:3021
TK_Renumber(unsigned char opcode, ID_Key key=0)
Definition: BOpcodeHandler.h:1886
double * GetDPoints()
Definition: BOpcodeHandler.h:6407
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1193
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:6009
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7963
int m_mask
internal use
Definition: BOpcodeHandler.h:2369
TKO_Geometry_Options
Definition: BOpcodeHandler.h:4701
double const * GetDStart() const
Definition: BOpcodeHandler.h:7243
refer to HC_Set_Heuristics for description
Definition: BOpcodeHandler.h:4538
void SetImageTintColor(float const *rgb)
Definition: BOpcodeHandler.h:4421
void SetDTarget(double const *t)
Definition: BOpcodeHandler.h:5676
float m_tolerance
For internal use only.
Definition: BOpcodeHandler.h:3023
Definition: BStream.h:270
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:6034
TKO_Actions
Definition: BOpcodeHandler.h:5297
double const * GetDEnd() const
Definition: BOpcodeHandler.h:7245
void SetDPoints(double const *s, double const *m, double const *e, double const *c=0)
Definition: BOpcodeHandler.h:6954
int m_data_size
Definition: BOpcodeHandler.h:7880
int GetCutGeometry() const
Definition: BOpcodeHandler.h:4260
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:7594
self-explanatory
Definition: BOpcodeHandler.h:7532
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2821
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:3550
int GetOptions() const
Definition: BOpcodeHandler.h:5350
""
Definition: BOpcodeHandler.h:5005
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2701
self-explanatory
Definition: BOpcodeHandler.h:7796
unsigned char m_options
Definition: BOpcodeHandler.h:7614
Definition: BOpcodeHandler.h:951
char * m_condition
Definition: BOpcodeHandler.h:1590
void SetDMajor(double const *m)
Definition: BOpcodeHandler.h:7038
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4955
void SetSimpleShadowColor(float const *rgb)
Definition: BOpcodeHandler.h:4329
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7872
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeHandler.h:5121
type for 'quantization' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2772
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5054
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:4295
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:4619
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:7708
virtual TK_Status Read(BStreamFileToolkit &tk)=0
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:5407
int * GetIndices()
Definition: BOpcodeHandler.h:5479
void SetView(int length)
Definition: BOpcodeHandler.h:5752
int GetShadowMap() const
Definition: BOpcodeHandler.h:4342
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2900
Internal_Translator::Index_Key_Pair * m_item
internal use; cache lookup in Pending cases
Definition: BOpcodeHandler.h:1943
float m_inner
for internal use only
Definition: BOpcodeHandler.h:6701
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1398
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4471
color by index
Definition: BOpcodeHandler.h:1343
float * m_weights
Definition: BOpcodeHandler.h:6372
""
Definition: BOpcodeHandler.h:8002
texture interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2548
void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:510
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:4268
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2857
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4980
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:6742
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2782
int const * GetIndices() const
Definition: BOpcodeHandler.h:5477
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2678
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:4616
void SetProjection(int p)
Definition: BOpcodeHandler.h:5744
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:8266
room for expansion
Definition: BOpcodeHandler.h:7575
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:1022
void SetFogLimits(float const *l)
Definition: BOpcodeHandler.h:3198
TK_Status PutOpcode(BStreamFileToolkit &tk, int adjust=1)
Definition: BOpcodeHandler.h:462
BBaseOpcodeHandler * m_current_object
internal use
Definition: BOpcodeHandler.h:996
not sapecified
Definition: BOpcodeHandler.h:5862
float m_end
Definition: BOpcodeHandler.h:6375
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7668
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2012
""
Definition: BOpcodeHandler.h:5035
double * GetDPoints()
Definition: BOpcodeHandler.h:6656
void SetColorWindowLockValue(int v)
Definition: BOpcodeHandler.h:3389
TKO_Font_Transforms
Definition: BOpcodeHandler.h:5852
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4551
int m_value
specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:5900
Definition: BOpcodeHandler.h:1351
double const * GetDCenter() const
Definition: BOpcodeHandler.h:7139
void SetSimpleShadowLight(float x, float y, float z)
Definition: BOpcodeHandler.h:4303
unsigned char m_simple_shadow_blur
For internal use only.
Definition: BOpcodeHandler.h:3065
char m_decimation
Definition: BOpcodeHandler.h:8148
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:4203
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2712
void SetFormat(int f)
Definition: BOpcodeHandler.h:8375
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2845
int GetSimpleReflectionVisibilityValue() const
Definition: BOpcodeHandler.h:4380
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2636
char m_threshold_type
For internal use only.
Definition: BOpcodeHandler.h:3018
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6847
character is skipped
Definition: BOpcodeHandler.h:7567
self-explanatory
Definition: BOpcodeHandler.h:1317
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4455
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:3609
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:3429
int GetBlueMapping() const
Definition: BOpcodeHandler.h:8261
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4475
int const * GetSize() const
Definition: BOpcodeHandler.h:7975
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4470
int * GetIndices()
Definition: BOpcodeHandler.h:5532
void SetHlrLinePattern(int p)
Definition: BOpcodeHandler.h:4053
TK_Bounding(unsigned char opcode, double *min, double *max)
Definition: BOpcodeHandler.h:6143
short color_window_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1372
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:3694
void SetSlant(float s)
Definition: BOpcodeHandler.h:5994
extra item for selectability; refer to HC_Set_Selectability for a description
Definition: BOpcodeHandler.h:1234
TK_Status PutData(BStreamFileToolkit &tk, char const *b, int n)
Definition: BOpcodeHandler.h:338
void SetDCenter(double const *s)
Definition: BOpcodeHandler.h:7029
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2812
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:4665
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:3620
int GetCount() const
Definition: BOpcodeHandler.h:8655
char * GetName()
Definition: BOpcodeHandler.h:7943
float GetSlant() const
Definition: BOpcodeHandler.h:5996
TKO_Rendering_Option_Bits
Definition: BOpcodeHandler.h:2544
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4967
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3855
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1369
Definition: BStream.h:244
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2705
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:6128
void SetDField(double const *f)
Definition: BOpcodeHandler.h:5714
limit font source
Definition: BOpcodeHandler.h:5820
type for 'technology' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2769
Instance_Options
Definition: BOpcodeHandler.h:1735
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4905
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4959
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2842
""
Definition: BOpcodeHandler.h:5027
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4459
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2595
""
Definition: BOpcodeHandler.h:8008
void SetOblique(float const *o)
Definition: BOpcodeHandler.h:5728
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1238
TK_Compression(char opcode)
Definition: BOpcodeHandler.h:1159
void SetColorFaceContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3804
Definition: BOpcodeHandler.h:5163
float * GetPoints()
Definition: BOpcodeHandler.h:6503
""
Definition: BOpcodeHandler.h:4989
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:5905
char * GetNames()
Definition: BOpcodeHandler.h:5966
extended bit
Definition: BOpcodeHandler.h:1281
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:5918
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:5138
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4957
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:922
void SetIndices(int count, int const indices[], void const *values[], int const sizes[])
Definition: BOpcodeHandler.h:5518
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2784
TK_XML()
Definition: BOpcodeHandler.h:8779
void SetLodClamp(int v)
Definition: BOpcodeHandler.h:4113
void SetFogLimits(float n, float f)
Definition: BOpcodeHandler.h:3196
void SetQuantization(int q)
Definition: BOpcodeHandler.h:3166
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2808
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:6962
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4482
char m_lod_algorithm
For internal use only.
Definition: BOpcodeHandler.h:3013
void SetMirrorName(char const *name)
Definition: BOpcodeHandler.h:2130
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1251
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8121
Handles the TKE_URL opcodes.
Definition: BOpcodeHandler.h:8818
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:6613
int GetMask() const
Definition: BOpcodeHandler.h:5952
float const * GetImageScale() const
Definition: BOpcodeHandler.h:4414
void SetSimpleReflectionOpacity(float o)
Definition: BOpcodeHandler.h:4373
int GetIndex()
Definition: BOpcodeHandler.h:1795
char * GetShaderSource()
Definition: BOpcodeHandler.h:8204
void fix_in(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:535
double const * GetDRef2() const
Definition: BOpcodeHandler.h:7488
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:4087
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:3183
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6777
float const * GetPosition() const
Definition: BOpcodeHandler.h:5648
self-explanatory
Definition: BOpcodeHandler.h:1328
int GetColorLineLockValue() const
Definition: BOpcodeHandler.h:3325
float * GetUKnots()
Definition: BOpcodeHandler.h:6588
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:4685
int GetRedMapping() const
Definition: BOpcodeHandler.h:8251
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:4281
refer to HC_Set_Heuristics for description
Definition: BOpcodeHandler.h:4534
void SetOrientation(int count, float const *o)
Definition: BOpcodeHandler.h:4741
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
int GetColorVertexContrastLockMask() const
Definition: BOpcodeHandler.h:3567
void SetLodThresholds(int c, float const *r=0)
Definition: BOpcodeHandler.h:4168
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2904
void SetLodThresholdType(int v)
Definition: BOpcodeHandler.h:4162
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2798
""
Definition: BOpcodeHandler.h:8036
void SetName(int length)
Definition: BOpcodeHandler.h:8191
TK_Callback()
Definition: BOpcodeHandler.h:2512
int const * GetPreferences() const
Definition: BOpcodeHandler.h:6068
void fix_in(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:552
float const * GetKnots() const
Definition: BOpcodeHandler.h:6413
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4474
TKO_Font_Layout
Definition: BOpcodeHandler.h:5831
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:8259
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2650
try to use bitmaps
Definition: BOpcodeHandler.h:5875
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1241
int GetParameterOffset() const
Definition: BOpcodeHandler.h:8296
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2806
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:8438
double * GetDRef1()
Definition: BOpcodeHandler.h:7479
void **const GetValues() const
Definition: BOpcodeHandler.h:5535
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:4099
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3981
float m_surface_max_facet_deviation
For internal use only.
Definition: BOpcodeHandler.h:3038
hard edge angle limit; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2932
int GetTargetVersion() const
Definition: BStreamFileToolkit.h:971
""
Definition: BOpcodeHandler.h:8094
void SetScreenRange(float l, float r, float b, float t)
Definition: BOpcodeHandler.h:4392
int m_allocated
internal use
Definition: BOpcodeHandler.h:1065
float const * GetRef1() const
Definition: BOpcodeHandler.h:7443
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:6052
float GetLodTolerance() const
Definition: BOpcodeHandler.h:4123
perspective projection
Definition: BOpcodeHandler.h:5585
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:5910
int GetColorBackLockMask() const
Definition: BOpcodeHandler.h:3452
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:3406
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:4663
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:7389
int GetIndex() const
Definition: BOpcodeHandler.h:1570
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:7928
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4461
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2850
char const * GetConditions() const
Definition: BOpcodeHandler.h:5286
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:5431
void SetIndex(float i)
Definition: BOpcodeHandler.h:2193
char * GetConditions()
Definition: BOpcodeHandler.h:5288
extended bits for color
Definition: BOpcodeHandler.h:1203
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1878
void GetTarget(float *t) const
Definition: BOpcodeHandler.h:5670
float slant
the angle (in degrees) that text is slanted (e.g. for italic). Positive numbers correspond to clockwi...
Definition: BOpcodeHandler.h:7586
try to use polygonal (outline) representations
Definition: BOpcodeHandler.h:5876
HSR algorithm; refer to HC_Set_Rendering_Options for description.
Definition: BOpcodeHandler.h:2569
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:4350
void SetOptions(int o)
Definition: BOpcodeHandler.h:6230
char * m_string
Definition: BOpcodeHandler.h:8861
short color_back_value
For internal use only.
Definition: BOpcodeHandler.h:1374
unsigned char m_present
internal use
Definition: BOpcodeHandler.h:1940
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4515
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2586
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2563
void SetDecimation(int p)
Definition: BOpcodeHandler.h:8244
void SetName(int length)
Definition: BOpcodeHandler.h:7939
void SetName(char const *string)
Definition: BOpcodeHandler.h:7765
char const * GetDefinition() const
Definition: BOpcodeHandler.h:8545
hard edge angle limit; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2929
int GetInterpolation() const
Definition: BOpcodeHandler.h:8241
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2656
adjustment to character width
Definition: BOpcodeHandler.h:7570
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5922
char const * GetCallback() const
Definition: BOpcodeHandler.h:2529
TK_User_Options()
Definition: BOpcodeHandler.h:5374
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2596
unsigned char m_region_fit
Definition: BOpcodeHandler.h:7616
double * m_dpoints
Definition: BOpcodeHandler.h:6308
shift of extended section
Definition: BOpcodeHandler.h:2762
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:5909
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8057
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2374
char * GetName()
Definition: BOpcodeHandler.h:8479
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2910
//// first opcode value reserved for private use
Definition: BOpcodeHandler.h:934
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:7587
void SetField(float w, float h)
Definition: BOpcodeHandler.h:5703
int GetCount() const
Definition: BOpcodeHandler.h:5526
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4819
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4501
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:5433
""
Definition: BOpcodeHandler.h:8013
char * GetCallback()
Definition: BOpcodeHandler.h:2531
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4976
float const * GetVector() const
Definition: BOpcodeHandler.h:4653
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7655
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2854
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2624
int GetSize() const
Definition: BOpcodeHandler.h:1995
int GetDown() const
Definition: BOpcodeHandler.h:4861
type for 'buffer options' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2780
bool Find_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:662
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4481
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4528
TK_Status PutData(BStreamFileToolkit &tk, unsigned char const &b)
Definition: BOpcodeHandler.h:447
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:4649
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:4237
self-explanatory
Definition: BOpcodeHandler.h:1315
float m_rgb[3]
The RGB value of the color for this channel.
Definition: BOpcodeHandler.h:2022
int GetGeometry() const
Definition: BOpcodeHandler.h:4793
TK_Spot_Light()
Definition: BOpcodeHandler.h:6707
refer to HC_Set_Heuristics for description
Definition: BOpcodeHandler.h:4536
for further expansion
Definition: BOpcodeHandler.h:5813
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2867
void SetOuter(float o)
Definition: BOpcodeHandler.h:6750
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2905
void SetSize(int size)
Definition: BOpcodeHandler.h:1993
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4655
region is a mask region
Definition: BOpcodeHandler.h:8602
compress on load to graphics hardware
Definition: BOpcodeHandler.h:7813
float GetHlrDimFactor() const
Definition: BOpcodeHandler.h:4047
float m_compression_quality
Definition: BOpcodeHandler.h:7890
TKO_Text_Options
Definition: BOpcodeHandler.h:7530
TKO_Color_Channel_Lock_Bits
Definition: BOpcodeHandler.h:1336
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1357
TK_Status PutData(BStreamFileToolkit &tk, unsigned int const *i, int n)
Definition: BOpcodeHandler.h:435
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:8269
BBaseOpcodeHandler *** m_primitives
for each level, an array of opcode handler pointers that store the primitives
Definition: BOpcodeHandler.h:1809
void SetUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:5683
int m_camera_length
Definition: BOpcodeHandler.h:8142
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1754
mask of bits in second byte
Definition: BOpcodeHandler.h:2913
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:8772
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7968
ID_Key remove_segment(BStreamFileToolkit &tk)
for internal use only
Definition: BOpcodeHandler.h:621
TK_Terminator(char opcode, bool is_file_terminator=true)
Definition: BOpcodeHandler.h:1130
short color_line_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1379
char * m_bytes
Definition: BOpcodeHandler.h:7874
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:8857
Definition: BOpcodeHandler.h:5088
TK_Material()
Definition: BOpcodeHandler.h:8754
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:4358
virtual TK_Status Error(char const *msg=0) const
controls whether layers greater than 1 are considered as inputs to a shader plugin (and therefore ski...
Definition: BOpcodeHandler.h:8024
int m_allocated
Definition: BOpcodeHandler.h:6306
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:3064
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2831
void SetFlags(int f)
Definition: BOpcodeHandler.h:8225
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2225
char * GetName()
Definition: BOpcodeHandler.h:8195
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:3654
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2693
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1749
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:4273
void SetHSR(int h)
Definition: BOpcodeHandler.h:3146
int GetLength()
Definition: BOpcodeHandler.h:5290
void SetName(char const *string)
Definition: BOpcodeHandler.h:7937
char * m_string
Definition: BOpcodeHandler.h:2503
self-explanatory
Definition: BOpcodeHandler.h:1311
int GetSimpleShadow() const
Definition: BOpcodeHandler.h:4290
""
Definition: BOpcodeHandler.h:8021
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2707
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4530
int m_count
Definition: BOpcodeHandler.h:6305
int const * GetSizes() const
Definition: BOpcodeHandler.h:5541
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:4239
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3740
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:6483
void SetDPosition(double const *p)
Definition: BOpcodeHandler.h:7666
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2564
char m_num_cutoffs
For internal use only.
Definition: BOpcodeHandler.h:3025
void Remember_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:660
int m_debug_length
Definition: BOpcodeHandler.h:67
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2278
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1262
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:6364
void SetDiffuseTextureTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:4426
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1195
""
Definition: BOpcodeHandler.h:8110
int GetEncoding() const
Definition: BOpcodeHandler.h:7673
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2861
hard edge angle limit; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2930
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:5262
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:4611
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:3039
char m_blue_mapping
Definition: BOpcodeHandler.h:8151
float * m_points
Definition: BOpcodeHandler.h:7284
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:4184
unsigned char m_optionals
Definition: BOpcodeHandler.h:6531
int GetColorTextContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3993
unsigned char m_shadow_map_samples
For internal use only.
Definition: BOpcodeHandler.h:3074
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1194
int GetTextRegionOptions() const
Definition: BOpcodeHandler.h:7682
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8026
double const * GetDMajor() const
Definition: BOpcodeHandler.h:7040
int m_value
internal use; specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:4764
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:8713
void SetNames(char const *names)
Definition: BOpcodeHandler.h:5960
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:6278
char * m_names
for internal use only
Definition: BOpcodeHandler.h:5902
refer to ::HC_Conditional_Action
Definition: BOpcodeHandler.h:5300
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2621
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:6482
self-explanatory
Definition: BOpcodeHandler.h:1306
void SetLodNumLevels(int v)
Definition: BOpcodeHandler.h:4109
int GetGeometry() const
Definition: BOpcodeHandler.h:2353
TK_Dictionary_Locater()
Definition: BOpcodeHandler.h:1978
self-explanatory
Definition: BOpcodeHandler.h:5582
self-explanatory
Definition: BOpcodeHandler.h:1326
""
Definition: BOpcodeHandler.h:8059
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5041
""
Definition: BOpcodeHandler.h:4988
""
Definition: BOpcodeHandler.h:8081
""
Definition: BOpcodeHandler.h:8043
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:4621
float const * GetMatrix() const
Definition: BOpcodeHandler.h:4941
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4518
int m_index
Definition: BOpcodeHandler.h:1676
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:7583
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:185
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:4045
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:5094
void SetPlane(float const *p)
Definition: BOpcodeHandler.h:6813
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4523
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2977
""
Definition: BOpcodeHandler.h:8005
int * GetCounts()
Definition: BOpcodeHandler.h:7500
self-explanatory
Definition: BOpcodeHandler.h:1337
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2868
float * GetRadii()
Definition: BOpcodeHandler.h:7337
refer to HC_Set_Rendering_Options
Definition: BOpcodeHandler.h:5080
char const * GetXML() const
Definition: BOpcodeHandler.h:8802
int m_offset
internal use
Definition: BOpcodeHandler.h:1974
""
Definition: BOpcodeHandler.h:8035
char m_alpha_mapping
Definition: BOpcodeHandler.h:8152
void SetDPoints(double const *p)
Definition: BOpcodeHandler.h:6287
unsigned char m_buffer_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2976
void SetBufferOptionsValue(int v)
Definition: BOpcodeHandler.h:4014
float GetInner() const
Definition: BOpcodeHandler.h:6757
extra item for selectability; refer to HC_Set_Selectability for a description
Definition: BOpcodeHandler.h:1232
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:5911
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2731
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4517
int m_mask
internal use; specifies which visibility settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4763
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3723
char * m_comment
internal use
Definition: BOpcodeHandler.h:1067
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2741
float * m_points
Definition: BOpcodeHandler.h:8615
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:6780
""
Definition: BOpcodeHandler.h:5030
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:4220
int GetExtras() const
Definition: BOpcodeHandler.h:4626
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:5919
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:3178
float GetEnd() const
Definition: BOpcodeHandler.h:6419
self-explanatory
Definition: BOpcodeHandler.h:7828
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:6316
TK_Status PutData(BStreamFileToolkit &tk, short const *s, int n)
Definition: BOpcodeHandler.h:341
""
Definition: BOpcodeHandler.h:5000
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2865
void SetSpecularName(int length)
Definition: BOpcodeHandler.h:2117
////
Definition: BOpcodeHandler.h:818
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2632
float m_simple_reflection_opacity
For internal use only.
Definition: BOpcodeHandler.h:3078
channel m_environment
internal use; note: environment & bump are never a simple RGB type color
Definition: BOpcodeHandler.h:2039
self-explanatory
Definition: BOpcodeHandler.h:1276
""
Definition: BOpcodeHandler.h:8048
void SetRadius(float r)
Definition: BOpcodeHandler.h:7226
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2825
short color_text_value
For internal use only.
Definition: BOpcodeHandler.h:1366
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2592
void SetOffset(int offset)
Definition: BOpcodeHandler.h:1997
void SetPreference(int r)
Definition: BOpcodeHandler.h:6061
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:4563
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2866
unsigned char m_clamp
For internal use only.
Definition: BOpcodeHandler.h:3020
int GetValue() const
Definition: BOpcodeHandler.h:4804
bool GetFollow()
Definition: BOpcodeHandler.h:1728
TKO_Camera_Projection
Definition: BOpcodeHandler.h:5579
void SetColorWindowContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3838
float * GetKnots()
Definition: BOpcodeHandler.h:6414
////
Definition: BOpcodeHandler.h:831
void SetVisibilityForcedLockValue(int v)
Definition: BOpcodeHandler.h:3631
float const * GetOrientation() const
Definition: BOpcodeHandler.h:4751
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2687
int GetQuantization() const
Definition: BOpcodeHandler.h:3168
char * GetTransmissionName()
Definition: BOpcodeHandler.h:2153
void SetColorTextContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3999
TK_User_Value()
Definition: BOpcodeHandler.h:5560
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2754
near limit setting
Definition: BOpcodeHandler.h:5592
int m_cond_length
Definition: BOpcodeHandler.h:8446
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:3470
char * GetCondition()
Definition: BOpcodeHandler.h:5339
int GetColorVertexContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3970
int * GetSizes()
Definition: BOpcodeHandler.h:5544
self-explanatory
Definition: BOpcodeHandler.h:7810
void SetValue(HLONG v)
Definition: BOpcodeHandler.h:5571
choose or simulate an italic variation
Definition: BOpcodeHandler.h:5819
char * GetLookup()
Definition: BOpcodeHandler.h:7780
float const * GetPoints() const
Definition: BOpcodeHandler.h:6275
""
Definition: BOpcodeHandler.h:5017
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:3689
int m_count
Definition: BOpcodeHandler.h:8614
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:7052
unsigned char m_flags
Definition: BOpcodeHandler.h:7289
int GetAction() const
Definition: BOpcodeHandler.h:5346
float GetSimpleShadowOpacity() const
Definition: BOpcodeHandler.h:4336
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:6928
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4971
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:4604
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1857
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:4639
void SetAxis(float const *a)
Definition: BOpcodeHandler.h:7217
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:8558
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4970
TKO_Font_Greeking_Modes
Definition: BOpcodeHandler.h:5883
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2717
self-explanatory
Definition: BOpcodeHandler.h:6677
void SetLockValue(int v)
Definition: BOpcodeHandler.h:3209
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:4637
""
Definition: BOpcodeHandler.h:8082
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:3028
unsigned char m_compression
Definition: BOpcodeHandler.h:7885
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2739
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2758
char const * GetCondition() const
Definition: BOpcodeHandler.h:1649
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5897
int GetLodOptionsMask() const
Definition: BOpcodeHandler.h:4095
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:1813
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2803
int m_flags
internal use
Definition: BOpcodeHandler.h:1025
void SetDiffuse(float r, float g, float b)
Definition: BOpcodeHandler.h:2096
bool m_needs_tag
Indicate if this object explicitly needs tagging.
Definition: BOpcodeHandler.h:65
TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:260
character is invisible
Definition: BOpcodeHandler.h:7568
indicates that the 2nd byte should be written
Definition: BOpcodeHandler.h:2912
int GetColorFaceLockValue() const
Definition: BOpcodeHandler.h:3279
char const * GetDiffuseName() const
Definition: BOpcodeHandler.h:2106
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2684
""
Definition: BOpcodeHandler.h:8071
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4462
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:7006
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1246
Truevision TGA.
Definition: BOpcodeHandler.h:7832
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:4680
""
Definition: BOpcodeHandler.h:8015
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4503
HLONG * m_values
for internal use only
Definition: BOpcodeHandler.h:5449
self-explanatory
Definition: BOpcodeHandler.h:1322
int GetOptions() const
Definition: BOpcodeHandler.h:7985
float const * GetValueScale() const
Definition: BOpcodeHandler.h:8286
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:5493
int m_size
Definition: BOpcodeHandler.h:8392
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:3004
float const * GetValues() const
Definition: BOpcodeHandler.h:2463
int GetParameterSource() const
Definition: BOpcodeHandler.h:8236
void floats_to_bytes(float const *in, unsigned char *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:607
reserved
Definition: BOpcodeHandler.h:7547
double GetDRadius() const
Definition: BOpcodeHandler.h:7250
fill edges of characters to improve appearance ar small sizes
Definition: BOpcodeHandler.h:5817
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:7756
float * GetVKnots()
Definition: BOpcodeHandler.h:6592
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:89
char const * GetOptions() const
Definition: BOpcodeHandler.h:5392
Definition: BOpcodeHandler.h:5131
self-explanatory
Definition: BOpcodeHandler.h:1324
void SetDMatrix(double const *m)
Definition: BOpcodeHandler.h:4937
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2755
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:4423
TKO_Color_Channels
Definition: BOpcodeHandler.h:1273
self-explanatory
Definition: BOpcodeHandler.h:1342
double const * GetDPlanes() const
Definition: BOpcodeHandler.h:6825
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2671
Handles the TKE_Dictionary opcode.
Definition: BOpcodeHandler.h:1936
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2585
float * GetLodRatios()
Definition: BOpcodeHandler.h:4159
only use hardware fonts
Definition: BOpcodeHandler.h:5864
void SetValue(int v)
Definition: BOpcodeHandler.h:5955
float const * GetPosition() const
Definition: BOpcodeHandler.h:7660
float const * GetTransmission() const
Definition: BOpcodeHandler.h:2149
int GetCaps() const
Definition: BOpcodeHandler.h:7256
add an overline to the font
Definition: BOpcodeHandler.h:5811
int GetColorEdgeLockMask() const
Definition: BOpcodeHandler.h:3291
only use Hoops defined (stroked) fonts
Definition: BOpcodeHandler.h:5866
bool GetStreaming() const
Definition: BOpcodeHandler.h:5251
void SetLayout(int p)
Definition: BOpcodeHandler.h:8274
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2680
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2615
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2793
char m_param_function
Definition: BOpcodeHandler.h:8153
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1240
char * m_definition
Definition: BOpcodeHandler.h:8513
int m_string_length
internal use
Definition: BOpcodeHandler.h:2430
char m_num_cylinder
For internal use only.
Definition: BOpcodeHandler.h:3048
int m_surface_budget
For internal use only.
Definition: BOpcodeHandler.h:3034
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1880
TKO_Enumerations
Definition: BOpcodeHandler.h:4954
void SetPoint(float const *p)
Definition: BOpcodeHandler.h:6218
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2877
float GetGloss() const
Definition: BOpcodeHandler.h:2191
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:6602
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2700
float * m_isoline_weights_value
for internal use only.
Definition: BOpcodeHandler.h:3003
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4532
short color_cut_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1391
char const * GetDefinition() const
Definition: BOpcodeHandler.h:8426
int GetVisibilityLockMask() const
Definition: BOpcodeHandler.h:3222
Definition: BStream.h:243
void SetRotation(float r)
Definition: BOpcodeHandler.h:5989
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:3143
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:4012
indicates presence of extended bits
Definition: BOpcodeHandler.h:2760
float * m_weights
Definition: BOpcodeHandler.h:6536
void SetColorBackLockMask(int m)
Definition: BOpcodeHandler.h:3447
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:6184
TK_PolyCylinder()
Definition: BOpcodeHandler.h:7294
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:8578
unsigned char m_tq
internal use; low half technology, high half quantization. For internal use only. ...
Definition: BOpcodeHandler.h:2966
unsigned char m_general_flags
Basic flags common to many handlers.
Definition: BOpcodeHandler.h:64
char * m_name
Definition: BOpcodeHandler.h:8512
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:5556
char * GetCondition()
Definition: BOpcodeHandler.h:1654
orthographic projection
Definition: BOpcodeHandler.h:5584
float const * GetWindow() const
Definition: BOpcodeHandler.h:5787
""
Definition: BOpcodeHandler.h:5010
unsigned char m_type
Definition: BOpcodeHandler.h:7716
int GetCutGeometryLevel() const
Definition: BOpcodeHandler.h:4265
char * GetName()
Definition: BOpcodeHandler.h:5218
extra item for selectability; refer to HC_Set_Selectability for a description
Definition: BOpcodeHandler.h:1233
mask of bits requiring extended
Definition: BOpcodeHandler.h:2761
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:4410
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1186
float const * GetVKnots() const
Definition: BOpcodeHandler.h:6590
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:5249
void SetSpace(int s)
Definition: BOpcodeHandler.h:2296
void SetEnvironmentName(int length)
Definition: BOpcodeHandler.h:2173
void GetDTarget(double *t) const
Definition: BOpcodeHandler.h:5680
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4499
int GetCompression() const
Definition: BOpcodeHandler.h:7990
int const * GetRenderers() const
Definition: BOpcodeHandler.h:6047
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1250
int m_index
internal use
Definition: BOpcodeHandler.h:2321
void SetRadius(float r)
Definition: BOpcodeHandler.h:7105
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:6456
TK_Open_Segment()
Definition: BOpcodeHandler.h:1478
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2664
void SetMiddle(float const *m)
Definition: BOpcodeHandler.h:6883
void SetDPosition(double const *p)
Definition: BOpcodeHandler.h:6729
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:4097
void SetMatrix(float const *m)
Definition: BOpcodeHandler.h:4933
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2704
void SetScreenRange(float const *l)
Definition: BOpcodeHandler.h:4395
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2890
int GetColorTextLockMask() const
Definition: BOpcodeHandler.h:3360
self-explanatory
Definition: BOpcodeHandler.h:7515
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2718
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2694
Definition: BOpcodeHandler.h:2020
double const * GetDStart() const
Definition: BOpcodeHandler.h:6960
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:6879
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5047
int GetGeometry() const
Definition: BOpcodeHandler.h:2240
void SetDAxis(double const *s)
Definition: BOpcodeHandler.h:7154
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:6057
short m_channels
internal use
Definition: BOpcodeHandler.h:2015
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7971
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2983
self-explanatory
Definition: BOpcodeHandler.h:7521
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:5912
void SetLodMinimumTriangleCount(int v)
Definition: BOpcodeHandler.h:4105
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2710
char * m_condition
Definition: BOpcodeHandler.h:1679
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2753
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4982
float m_start
Definition: BOpcodeHandler.h:6374
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:6986
int GetCount() const
Definition: BOpcodeHandler.h:7364
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2859
""
Definition: BOpcodeHandler.h:8093
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2820
TK_Heuristics()
Definition: BOpcodeHandler.h:4578
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5057
void SetHlrFaceDisplacement(float d)
Definition: BOpcodeHandler.h:4049
int GetMaskTransform() const
Definition: BOpcodeHandler.h:4254
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:4004
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2764
char * GetString()
Definition: BOpcodeHandler.h:8846
type for depth peeling algorithm field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2675
void SetEmission(float const *rgb)
Definition: BOpcodeHandler.h:2158
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:6920
scale factor for width
Definition: BOpcodeHandler.h:5802
void SetPoints(float const *s, float const *m, float const *e, float const *c=0)
Definition: BOpcodeHandler.h:6905
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2559
void SetOptions(int f)
Definition: BOpcodeHandler.h:7983
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:8365
z values, 32-bit floats in [0..1] range
Definition: BOpcodeHandler.h:7799
void SetMask(int m)
Definition: BOpcodeHandler.h:4590
void SetConcentration(float c)
Definition: BOpcodeHandler.h:6760
void SetEndNormal(int index, float const *normal=0)
Definition: BOpcodeHandler.h:7377
char m_param_source
Definition: BOpcodeHandler.h:8146
self-explanatory
Definition: BOpcodeHandler.h:1310
type for 'quantization' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2774
internal use, indicates shift for placement of extended section
Definition: BOpcodeHandler.h:1219
float * GetWeights()
Definition: BOpcodeHandler.h:6511
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2858
int m_buffer_size
Definition: BOpcodeHandler.h:8688
ID_Key GetKey() const
Definition: BOpcodeHandler.h:1897
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2618
void SetColorBackForcedLockValue(int v)
Definition: BOpcodeHandler.h:3861
unsigned short m_simple_shadow_resolution
For internal use only.
Definition: BOpcodeHandler.h:3066
int const * GetCounts() const
Definition: BOpcodeHandler.h:7498
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2730
float const * GetEnd() const
Definition: BOpcodeHandler.h:7223
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:6804
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1221
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2799
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2791
16-bit colormap indices
Definition: BOpcodeHandler.h:7795
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:4670
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2655
void add_segment(BStreamFileToolkit &tk, ID_Key key)
for internal use only
Definition: BOpcodeHandler.h:619
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:8451
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2878
Lock_Masks m_filter
for internal use only
Definition: BOpcodeHandler.h:1597
refer to HC_Set_Heuristics for description
Definition: BOpcodeHandler.h:4539
void SetColorTextForcedLockMask(int m)
Definition: BOpcodeHandler.h:3758
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:4690
void SetColorLockMask(int m)
Definition: BOpcodeHandler.h:3240
ID_Key m_renumbered_key
for internal use only
Definition: BOpcodeHandler.h:1593
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4915
""
Definition: BOpcodeHandler.h:8003
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2884
void SetIndex(int i)
Definition: BOpcodeHandler.h:5104
""
Definition: BOpcodeHandler.h:5014
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:4439
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2725
int GetColorWindowContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3832
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2872
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:2102
TKO_Font_Options
Definition: BOpcodeHandler.h:5795
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2873
shift corresponding to extended bit
Definition: BOpcodeHandler.h:1288
TKO_Texture_Channel_Mappings
Definition: BOpcodeHandler.h:8105
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4526
type for 'quantization' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2773
void Reset()
internal use
Definition: BOpcodeHandler.h:2027
int m_number_of_items
internal use
Definition: BOpcodeHandler.h:1941
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8025
int GetGreenMapping() const
Definition: BOpcodeHandler.h:8256
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2699
void SetPoints(float const *p)
Definition: BOpcodeHandler.h:6273
self-explanatory
Definition: BOpcodeHandler.h:6103
char * GetCylinderTessellations()
Definition: BOpcodeHandler.h:4222
""
Definition: BOpcodeHandler.h:8038
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:6734
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:4224
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:3458
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2736
void SetAction(int at)
Definition: BOpcodeHandler.h:5344
float m_index
internal use
Definition: BOpcodeHandler.h:2370
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2891
""
Definition: BOpcodeHandler.h:8022
char * GetSegment()
Definition: BOpcodeHandler.h:1509
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4452
indicates presence of extended bits
Definition: BOpcodeHandler.h:2742
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4981
shift of extended section
Definition: BOpcodeHandler.h:4468
TK_Status SetDPoints(int count, double const *points=0)
void SetColorVertexContrastLockValue(int v)
Definition: BOpcodeHandler.h:3573
int m_general_displacement
For internal use only.
Definition: BOpcodeHandler.h:3100
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:2205
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1595
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2763
char const * GetSegment() const
Definition: BOpcodeHandler.h:1628
////
Definition: BOpcodeHandler.h:825
int m_definition_length
Definition: BOpcodeHandler.h:8511
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:6253
int m_stage
The writing stage.
Definition: BOpcodeHandler.h:61
void SetColorLineContrastLockMask(int m)
Definition: BOpcodeHandler.h:3516
If this bit is set, a thumbnail of this view immediately follows.
Definition: BOpcodeHandler.h:5594
void SetColorVertexForcedLockValue(int v)
Definition: BOpcodeHandler.h:3884
int GetNURBSOptionsValue() const
Definition: BOpcodeHandler.h:4073
float * m_planes
internal use
Definition: BOpcodeHandler.h:6779
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2591
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1183
void SetTiling(int p)
Definition: BOpcodeHandler.h:8279
int GetLodFallback() const
Definition: BOpcodeHandler.h:4127
s3 texture compression level 3
Definition: BOpcodeHandler.h:7803
""
Definition: BOpcodeHandler.h:5021
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1377
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:7281
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2892
""
Definition: BOpcodeHandler.h:8009
char m_type
internal use
Definition: BOpcodeHandler.h:6124
TKO_Thumbnail_Formats
Definition: BOpcodeHandler.h:8318
unsigned short m_shadow_map
For internal use only.
Definition: BOpcodeHandler.h:3072
TK_Bounding(unsigned char opcode, float *center, float radius)
Definition: BOpcodeHandler.h:6137
float m_stereo_distance
For internal use only.
Definition: BOpcodeHandler.h:3045
int m_length
Definition: BOpcodeHandler.h:5363
float GetLineSpacing() const
Definition: BOpcodeHandler.h:6016
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2666
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2837
int m_length
Definition: BOpcodeHandler.h:2502
int visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:1393
int GetCount() const
Definition: BOpcodeHandler.h:6499
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3988
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:3463
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4900
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2583
void SetKey(ID_Key k)
Definition: BOpcodeHandler.h:1895
char const * GetNames() const
Definition: BOpcodeHandler.h:5964
int GetLength() const
Definition: BOpcodeHandler.h:2467
int m_placeholder
internal use
Definition: BOpcodeHandler.h:1939
format mask
Definition: BOpcodeHandler.h:7807
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:3103
double const * GetDRadii() const
Definition: BOpcodeHandler.h:7358
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3735
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:8922
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:8239
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:7133
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:7043
float * GetMatrix()
Definition: BOpcodeHandler.h:4943
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:7426
clip region is to be specified in object space.
Definition: BOpcodeHandler.h:8600
int m_length
Definition: BOpcodeHandler.h:5264
int GetGeometryOptionsMask() const
Definition: BOpcodeHandler.h:4244
extended bit
Definition: BOpcodeHandler.h:4466
int m_allocated
Definition: BOpcodeHandler.h:1586
int GetCutGeometryColorMatch() const
Definition: BOpcodeHandler.h:4270
unsigned char size_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:7593
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:8896
float m_outer
for internal use only
Definition: BOpcodeHandler.h:6700
TKO_Image_Formats
Definition: BOpcodeHandler.h:7793
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:6303
char m_apply_mode
Definition: BOpcodeHandler.h:8159
""
Definition: BOpcodeHandler.h:8107
HLONG * GetValues()
Definition: BOpcodeHandler.h:5483
""
Definition: BOpcodeHandler.h:4996
int GetHlrOptions() const
Definition: BOpcodeHandler.h:4043
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:4562
int m_count
internal use
Definition: BOpcodeHandler.h:6781
int mask
For internal use only.
Definition: BOpcodeHandler.h:1353
""
Definition: BOpcodeHandler.h:8041
int m_internal_shell
internal use
Definition: BOpcodeHandler.h:4557
float const * GetLimits() const
Definition: BOpcodeHandler.h:7056
unsigned char m_type
Definition: BOpcodeHandler.h:6457
float GetConcentration() const
Definition: BOpcodeHandler.h:6762
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2580
void SetColorFaceContrastLockValue(int v)
Definition: BOpcodeHandler.h:3412
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2832
mask for either fitting setting
Definition: BOpcodeHandler.h:7546
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:3337
self-explanatory
Definition: BOpcodeHandler.h:1307
Handles the TKE_Bounding, and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:6120
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:5613
char m_tint_effect
For internal use only.
Definition: BOpcodeHandler.h:3009
void SetColorFaceForcedLockValue(int v)
Definition: BOpcodeHandler.h:3677
TK_User_Data()
Definition: BOpcodeHandler.h:8695
int GetCount() const
Definition: BOpcodeHandler.h:6410
""
Definition: BOpcodeHandler.h:8096
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:6532
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:4567
float GetOuter() const
Definition: BOpcodeHandler.h:6752
float const * GetPosition() const
Definition: BOpcodeHandler.h:6723
int m_index
Definition: BOpcodeHandler.h:1554
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:6216
const int TK_Image_Bytes_Per_Pixel[]
Specifies the number of bytes per pixel for each format.
TK_Glyph_Definition()
Definition: BOpcodeHandler.h:8398
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:3648
region is a clip region
Definition: BOpcodeHandler.h:8601
double m_dradius
Definition: BOpcodeHandler.h:7194
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:3562
int GetColorLockMask() const
Definition: BOpcodeHandler.h:3245
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:6024
float const * GetStart() const
Definition: BOpcodeHandler.h:7221
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:4101
void SetLodBounding(float const *p)
Definition: BOpcodeHandler.h:4139
self-explanatory
Definition: BOpcodeHandler.h:5590
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4496
char * GetEmissionName()
Definition: BOpcodeHandler.h:2168
self-explanatory
Definition: BOpcodeHandler.h:7523
self-explanatory
Definition: BOpcodeHandler.h:1316
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4491
TKO_Texture_Application_Modes
Definition: BOpcodeHandler.h:8120
int GetNURBSSurfaceBudget() const
Definition: BOpcodeHandler.h:4085
unsigned short m_tint_options
For internal use only.
Definition: BOpcodeHandler.h:3006
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2689
int m_maximum_extent_mode
internal use; maximum extent mode – int! argh...
Definition: BOpcodeHandler.h:4564
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1214
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1399
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:2034
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2387
void SetMinor(float const *m)
Definition: BOpcodeHandler.h:7019
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:6050
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4511
int GetNumSphereTessellations() const
Definition: BOpcodeHandler.h:4235
float * GetValues()
Definition: BOpcodeHandler.h:2465
float * m_radii
Definition: BOpcodeHandler.h:7287
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:5603
self-explanatory
Definition: BOpcodeHandler.h:7516
void SetAmbientUpVector(float const *v)
Definition: BOpcodeHandler.h:4405
int GetTransparentStyle() const
Definition: BOpcodeHandler.h:3158
int m_mask
internal use
Definition: BOpcodeHandler.h:2320
polyhedra will be instanced using their tristrip information
Definition: BOpcodeHandler.h:1736
adjust region left-to-right
Definition: BOpcodeHandler.h:7541
int GetSpace() const
Definition: BOpcodeHandler.h:2298
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2811
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4456
float m_index
internal use
Definition: BOpcodeHandler.h:2042
self-explanatory
Definition: BOpcodeHandler.h:1327
character slant
Definition: BOpcodeHandler.h:5801
int GetColorMarkerContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3947
int GetSizeUnits() const
Definition: BOpcodeHandler.h:5976
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2810
void SetLodThreshold(float r)
Definition: BOpcodeHandler.h:4166
float m_start_u
Definition: BOpcodeHandler.h:6465
int GetJoinCutoffAngle() const
Definition: BOpcodeHandler.h:3193
int GetColorWindowLockValue() const
Definition: BOpcodeHandler.h:3394
unsigned short m_transparency_options
internal use; low nibble style, next peeling flags, then zsort
Definition: BOpcodeHandler.h:3057
self-explanatory
Definition: BOpcodeHandler.h:8319
int m_total_size
the total size of the blind material data
Definition: BOpcodeHandler.h:8746
""
Definition: BOpcodeHandler.h:5007
int m_mask
internal use
Definition: BOpcodeHandler.h:2014
char m_interpolation
Definition: BOpcodeHandler.h:8147
void SetNURBSCurveContinuedBudget(int b)
Definition: BOpcodeHandler.h:4079
char const * GetComment() const
Definition: BOpcodeHandler.h:1109
void SetHlrOptions(int o)
Definition: BOpcodeHandler.h:4034
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1244
void SetStereoDistance(float d)
Definition: BOpcodeHandler.h:4028
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:7606
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3866
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:5915
float const * GetWeights() const
Definition: BOpcodeHandler.h:6582
short color_back_mask
For internal use only.
Definition: BOpcodeHandler.h:1373
void SetDPoints(double const *s, double const *e)
Definition: BOpcodeHandler.h:6283
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:623
int m_length
Definition: BOpcodeHandler.h:8859
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:7588
char m_param_offset
Definition: BOpcodeHandler.h:8160
int m_substage
Definition: BOpcodeHandler.h:6455
""
Definition: BOpcodeHandler.h:5009
void SetCenter(float const *s)
Definition: BOpcodeHandler.h:7099
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1247
double * GetDRef2()
Definition: BOpcodeHandler.h:7490
double const * GetDCenter() const
Definition: BOpcodeHandler.h:7031
void SetWindow(float l, float r, float b, float t)
Definition: BOpcodeHandler.h:5782
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2616
float * m_weights
Definition: BOpcodeHandler.h:6463
""
Definition: BOpcodeHandler.h:8047
void SetFlags(int f)
Definition: BOpcodeHandler.h:1045
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2629
char * GetLoggingString()
Definition: BOpcodeHandler.h:237
void SetDebug(int d)
Definition: BOpcodeHandler.h:3171
int m_lod_options_value
For internal use only.
Definition: BOpcodeHandler.h:3012
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2723
char * GetDefinition()
Definition: BOpcodeHandler.h:8547
Window Space.
Definition: BOpcodeHandler.h:5115
unsigned char m_format
Definition: BOpcodeHandler.h:7883
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:3544
int color_mask
For internal use only.
Definition: BOpcodeHandler.h:1355
float const * GetPoints() const
Definition: BOpcodeHandler.h:6644
int m_length
Definition: BOpcodeHandler.h:7715
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2960
Screen Space.
Definition: BOpcodeHandler.h:5114
""
Definition: BOpcodeHandler.h:4994
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2571
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:4647
""
Definition: BOpcodeHandler.h:4997
self-explanatory
Definition: BOpcodeHandler.h:1341
bump map
Definition: BOpcodeHandler.h:1345
float const * GetPoints() const
Definition: BOpcodeHandler.h:6501
int Pass(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:174
int GetUDegree() const
Definition: BOpcodeHandler.h:6574
BBaseOpcodeHandler * Opcode_Handler(BStreamFileToolkit &tk, unsigned char op) const
Definition: BOpcodeHandler.h:646
type for depth peeling algorithm field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2676
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:5134
mask of bits requiring extended
Definition: BOpcodeHandler.h:2743
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6997
int GetMask() const
Definition: BOpcodeHandler.h:4596
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:1100
""
Definition: BOpcodeHandler.h:8072
type for 'technology' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2767
unsigned char m_flags
Definition: BOpcodeHandler.h:6853
bool m_terminate_file
internal use for hsx read-write only. This indicates if the TKE_Terminate is
Definition: BOpcodeHandler.h:1144
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3889
void SetStart(float const *s)
Definition: BOpcodeHandler.h:6875
self-explanatory
Definition: BOpcodeHandler.h:7811
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3746
self-explanatory
Definition: BOpcodeHandler.h:1278
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:6517
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2846
self-explanatory
Definition: BOpcodeHandler.h:7817
Definition: BOpcodeHandler.h:976
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1363
char * GetSegment()
Definition: BOpcodeHandler.h:8499
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5040
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:3002
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:8294
float const * GetPoints() const
Definition: BOpcodeHandler.h:6404
float const * GetKnots() const
Definition: BOpcodeHandler.h:6513
void GetPosition(float *p) const
Definition: BOpcodeHandler.h:5650
char * m_string
Definition: BOpcodeHandler.h:8822
""
Definition: BOpcodeHandler.h:8113
float const * GetEmission() const
Definition: BOpcodeHandler.h:2164
int m_buffer_size_limit
For internal use only.
Definition: BOpcodeHandler.h:2978
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:53
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4945
""
Definition: BOpcodeHandler.h:4992
float const * GetDiffuseTextureTintColor() const
Definition: BOpcodeHandler.h:4431
char * GetString()
Definition: BOpcodeHandler.h:7652
type for 'shadow map' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2727
double const * GetDPoints() const
Definition: BOpcodeHandler.h:8649
Pixels.
Definition: BOpcodeHandler.h:5117
int GetCount() const
Definition: BOpcodeHandler.h:6346
unsigned char m_hsr
internal use; low half hsr, high half thsr. For internal use only.
Definition: BOpcodeHandler.h:2965
void SetDiffuseName(char const *name)
Definition: BOpcodeHandler.h:2100
char const * GetCondition() const
Definition: BOpcodeHandler.h:1717
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1253
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:4375
""
Definition: BOpcodeHandler.h:8092
color interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2551
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2984
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:8744
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:4024
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2525
void GetUpVector(float *u) const
Definition: BOpcodeHandler.h:5690
void SetLodBounding(float const *s, float const *e)
Definition: BOpcodeHandler.h:4135
""
Definition: BOpcodeHandler.h:8070
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:242
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4464
void SetOrigin(float const *o)
Definition: BOpcodeHandler.h:7430
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4510
char const * GetCondition() const
Definition: BOpcodeHandler.h:5337
void SetCaps(int f)
Definition: BOpcodeHandler.h:7254
int GetBytesCount() const
Definition: BOpcodeHandler.h:7758
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5051
mask for HSR field
Definition: BOpcodeHandler.h:2672
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5765
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:5367
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:6192
int m_length
Definition: BOpcodeHandler.h:7610
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:5366
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2617
unsigned char m_encoding
Definition: BOpcodeHandler.h:7613
self-explanatory
Definition: BOpcodeHandler.h:1320
TK_LOD()
Definition: BOpcodeHandler.h:1820
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2757
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:3509
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3965
""
Definition: BOpcodeHandler.h:8060
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:5149
void SetValue(int m)
Definition: BOpcodeHandler.h:4799
double const * GetDAxis() const
Definition: BOpcodeHandler.h:7241
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4761
self-explanatory
Definition: BOpcodeHandler.h:1303
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2882
float GetIndex() const
Definition: BOpcodeHandler.h:2195
void SetExtras(int e)
Definition: BOpcodeHandler.h:4624
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2657
TK_Status PutData(BStreamFileToolkit &tk, int const *i, int n)
Definition: BOpcodeHandler.h:362
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1726
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2987
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4966
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:8456
////
Definition: BOpcodeHandler.h:876
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:8353
unsigned char m_cut_geometry_match
For internal use only.
Definition: BOpcodeHandler.h:3061
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2922
char * m_string
Definition: BOpcodeHandler.h:1587
void SetTransparentStyle(int s)
Definition: BOpcodeHandler.h:3156
TKO_Text_Encodings
Definition: BOpcodeHandler.h:7513
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2835
float const * GetRectangle() const
Definition: BOpcodeHandler.h:8584
""
Definition: BOpcodeHandler.h:8097
int m_length
Definition: BOpcodeHandler.h:1585
select how to draw (or not) greeked text
Definition: BOpcodeHandler.h:5821
float m_contour_value_scale
for internal use only.
Definition: BOpcodeHandler.h:2993
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2897
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5055
short color_text_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1385
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:7591
TK_Color_RGB()
Definition: BOpcodeHandler.h:2212
unsigned char m_cut_geometry
For internal use only.
Definition: BOpcodeHandler.h:3059
char m_type
Definition: BOpcodeHandler.h:7408
self-explanatory
Definition: BOpcodeHandler.h:1275
s3 texture compression (level 1,3 or 5 determined by TKO_Image_Formats)
Definition: BOpcodeHandler.h:7831
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:192
void SetDepthRange(float const *l)
Definition: BOpcodeHandler.h:4386
""
Definition: BOpcodeHandler.h:8006
float const * GetRef2() const
Definition: BOpcodeHandler.h:7454
void SetTransmission(float const *rgb)
Definition: BOpcodeHandler.h:2143
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:5500
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1259
int m_ascii_progress
Tracks the amount of data that has been read/written so far by GetAscii functions.
Definition: BOpcodeHandler.h:76
void SetColorLineForcedLockMask(int m)
Definition: BOpcodeHandler.h:3712
char * GetView()
Definition: BOpcodeHandler.h:5756
self-explanatory
Definition: BOpcodeHandler.h:7522
""
Definition: BOpcodeHandler.h:8039
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:5999
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:3286
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3815
self-explanatory
Definition: BOpcodeHandler.h:1308
unsigned char m_degree
Definition: BOpcodeHandler.h:6367
self-explanatory
Definition: BOpcodeHandler.h:1302
void SetDPosition(double const *p)
Definition: BOpcodeHandler.h:7966
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6569
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2785
void GetDField(double *f) const
Definition: BOpcodeHandler.h:5718
int GetDegree() const
Definition: BOpcodeHandler.h:6409
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2628
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1658
char * GetSpecularName()
Definition: BOpcodeHandler.h:2123
int m_name_length
Definition: BOpcodeHandler.h:8510
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:6529
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2588
int m_reference_length
Definition: BOpcodeHandler.h:7882
float const * GetUKnots() const
Definition: BOpcodeHandler.h:6586
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2626
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3797
Definition: BOpcodeHandler.h:2414
char * m_data
Definition: BOpcodeHandler.h:8775
float * m_points
internal use
Definition: BOpcodeHandler.h:6616
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:4347
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4473
void SetOptions(int o)
Definition: BOpcodeHandler.h:6662
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2783
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:5901
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4494
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1682
int GetShadowMapSamples() const
Definition: BOpcodeHandler.h:4352
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5678
struct vlist_s * m_data
Definition: BOpcodeHandler.h:8750
unsigned char m_geometry_options
For internal use only.
Definition: BOpcodeHandler.h:3091
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2720
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2318
only use Truetype (or similar) fonts
Definition: BOpcodeHandler.h:5865
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8001
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2338
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4524
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:3320
void SetIndices(int count)
Definition: BOpcodeHandler.h:5473
float const * GetSimpleReflectionPlane() const
Definition: BOpcodeHandler.h:4370
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:4569
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4477
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:3101
replace with a box (probably a halftone stipple)
Definition: BOpcodeHandler.h:5886
int GetHlrLinePattern() const
Definition: BOpcodeHandler.h:4055
float GetStereoDistance() const
Definition: BOpcodeHandler.h:4030
int m_levels_allocated
the number of entries allocated in m_num_primitives and m_primitives
Definition: BOpcodeHandler.h:1811
unsigned char horizontal_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:7595
void SetSimpleShadowLight(float const *l)
Definition: BOpcodeHandler.h:4309
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2619
int GetRenderer() const
Definition: BOpcodeHandler.h:6042
void GetField(float *f) const
Definition: BOpcodeHandler.h:5709
void SetCylinderTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:4209
void SetNearLimit(float l)
Definition: BOpcodeHandler.h:5735
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2992
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:6004
#define ID_Key
Definition: BStream.h:218
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:4717
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2830
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5663
int GetIndex() const
Definition: BOpcodeHandler.h:2358
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2908
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2637
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:3128
int m_cond_allocated
Definition: BOpcodeHandler.h:8447
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:3578
void SetDPoint(double const *p)
Definition: BOpcodeHandler.h:6225
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2902
unsigned char m_flags
Definition: BOpcodeHandler.h:7195
char * name
the font name
Definition: BOpcodeHandler.h:7580
int GetLayout() const
Definition: BOpcodeHandler.h:6083
double * GetDPoints()
Definition: BOpcodeHandler.h:8651
self-explanatory
Definition: BOpcodeHandler.h:1279
TK_Status GetData(BStreamFileToolkit &tk, double *d, int n)
Definition: BOpcodeHandler.h:276
wchar_t * GetString()
Definition: BOpcodeHandler.h:8924
all
Definition: BOpcodeHandler.h:1346
int GetColorFaceContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3809
self-explanatory
Definition: BOpcodeHandler.h:1323
void SetTransmissionName(char const *name)
Definition: BOpcodeHandler.h:2145
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2641
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant)
Definition: BOpcodeHandler.h:1088
""
Definition: BOpcodeHandler.h:8010
self-explanatory
Definition: BOpcodeHandler.h:7519
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2670
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8019
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6944
Points.
Definition: BOpcodeHandler.h:5116
double * m_dradii
Definition: BOpcodeHandler.h:7288
int GetMask() const
Definition: BOpcodeHandler.h:4738
force non-proportional spacing
Definition: BOpcodeHandler.h:5812
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5049
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:993
void SetTarget(float const *t)
Definition: BOpcodeHandler.h:6737
void SetLodRatios(int c, float const *r=0)
Definition: BOpcodeHandler.h:4146
mask for all 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2759
float const * GetUpVector() const
Definition: BOpcodeHandler.h:5688
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeHandler.h:7815
self-explanatory
Definition: BOpcodeHandler.h:6672
unsigned short m_isoline_options
for internal use only.
Definition: BOpcodeHandler.h:2991
float GetVertexDecimation() const
Definition: BOpcodeHandler.h:4441
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2579
void SetPoints(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:6264
int m_index
internal use
Definition: BOpcodeHandler.h:1779
short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:494
float * GetPoints()
Definition: BOpcodeHandler.h:7325
int m_simple_reflection_visibility_value
For internal use only.
Definition: BOpcodeHandler.h:3083
float m_concentration
for internal use only
Definition: BOpcodeHandler.h:6702
void SetString(int length)
Definition: BOpcodeHandler.h:7648
int GetNumCylinderTessellations() const
Definition: BOpcodeHandler.h:4218
int GetChannels() const
Definition: BOpcodeHandler.h:2093
float * GetWeights()
Definition: BOpcodeHandler.h:6584
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1184
void SetTransform(int length)
Definition: BOpcodeHandler.h:8307
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:5984
void GetOblique(float *o) const
Definition: BOpcodeHandler.h:5732
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:2104
Object Space.
Definition: BOpcodeHandler.h:5113
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2841
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4498
int GetOptions() const
Definition: BOpcodeHandler.h:8661
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3792
TKO_Attribute_Lock_Bits
Definition: BOpcodeHandler.h:1297
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:8302
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:8332
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:5361
hard edge angle limit; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2928
TKO_Geometry_Bits
Definition: BOpcodeHandler.h:1178
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:6541
int GetTransforms() const
Definition: BOpcodeHandler.h:6021
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:3612
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2598
add an underline to the font
Definition: BOpcodeHandler.h:5809
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5048
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2612
int m_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2968
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2826
bump map
Definition: BOpcodeHandler.h:1283
TK_Dictionary()
Definition: BOpcodeHandler.h:1947
unsigned char m_byte
temporary
Definition: BOpcodeHandler.h:78
int GetGeometry() const
Definition: BOpcodeHandler.h:4850
////
Definition: BOpcodeHandler.h:812
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:8611
void SetSegment(int length)
Definition: BOpcodeHandler.h:1624
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4495
char const * GetString() const
Definition: BOpcodeHandler.h:8883
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5069
unsigned char m_display_list_level
For internal use only.
Definition: BOpcodeHandler.h:3104
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4480
int GetVDegree() const
Definition: BOpcodeHandler.h:6576
int GetValue() const
Definition: BOpcodeHandler.h:4601
char const * GetName() const
Definition: BOpcodeHandler.h:8417
in addition to the spacing specified within the font itself, the extra space to add between character...
Definition: BOpcodeHandler.h:5806
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2853
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:6434
char * GetImage()
Definition: BOpcodeHandler.h:8213
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:4682
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2639
void SetUpVector(float const *u)
Definition: BOpcodeHandler.h:5686
top of text is along region
Definition: BOpcodeHandler.h:7543
float const * GetMiddle() const
Definition: BOpcodeHandler.h:6913
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2634
TK_Color_Map()
Definition: BOpcodeHandler.h:2439
""
Definition: BOpcodeHandler.h:4995
stretched projection
Definition: BOpcodeHandler.h:5586
char * m_string
Definition: BOpcodeHandler.h:5265
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1201
use any available fonts
Definition: BOpcodeHandler.h:5863
double const * GetDPoint() const
Definition: BOpcodeHandler.h:6227
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4516
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:7167
int GetIndex() const
Definition: BOpcodeHandler.h:5223
void SetDepthRange(float n, float f)
Definition: BOpcodeHandler.h:4384
short color_vertex_mask
For internal use only.
Definition: BOpcodeHandler.h:1375
int GetMoveUp() const
Definition: BOpcodeHandler.h:4894
short color_face_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1370
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3820
TK_Streaming()
Definition: BOpcodeHandler.h:5240
void SetDOrtho(double const *s)
Definition: BOpcodeHandler.h:7165
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2662
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4500
void SetDUpVector(double const *u)
Definition: BOpcodeHandler.h:5696
void SetDMinor(double const *m)
Definition: BOpcodeHandler.h:7047
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4497
refer to HC_Define_Shader
Definition: BOpcodeHandler.h:8023
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4889
int GetDecimation() const
Definition: BOpcodeHandler.h:8246
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:6055
void SetCutGeometry(int m)
Definition: BOpcodeHandler.h:4258
Portable Network Graphics.
Definition: BOpcodeHandler.h:7833
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4509
s3 texture compression level 5
Definition: BOpcodeHandler.h:7804
void GetDPosition(double *p) const
Definition: BOpcodeHandler.h:5660
char * m_debug_string
Definition: BOpcodeHandler.h:69
char m_tiling
Definition: BOpcodeHandler.h:8155
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3873
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4512
char const * GetSegment() const
Definition: BOpcodeHandler.h:1504
void SetSimpleReflection(int m)
Definition: BOpcodeHandler.h:4356
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:6031
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2425
void SetValue(float const *triple)
Definition: BOpcodeHandler.h:2305
////
Definition: BOpcodeHandler.h:929
char * GetBumpName()
Definition: BOpcodeHandler.h:2186
char m_num_thresholds
For internal use only.
Definition: BOpcodeHandler.h:3016
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:4089
float m_contour_value_translate
for internal use only.
Definition: BOpcodeHandler.h:2994
""
Definition: BOpcodeHandler.h:5028
int m_mask
internal use
Definition: BOpcodeHandler.h:2259
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2792
float const * GetLodCutoffs() const
Definition: BOpcodeHandler.h:4197
self-explanatory
Definition: BOpcodeHandler.h:1274
TK_Named(unsigned char opcode)
Definition: BOpcodeHandler.h:5198
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2870
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1596
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2819
void SetAxis(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:7210
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4460
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:2162
char * m_name
Definition: BOpcodeHandler.h:7710
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2735
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:5448
char const * GetString() const
Definition: BOpcodeHandler.h:7650
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2839
text spacing is afjusted to fit
Definition: BOpcodeHandler.h:7555
no fitting (direction only)
Definition: BOpcodeHandler.h:7554
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3907
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:5907
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1200
int GetColorEdgeForcedLockValue() const
Definition: BOpcodeHandler.h:3705
self-explanatory
Definition: BOpcodeHandler.h:1300
void SetSpecular(float const *rgb)
Definition: BOpcodeHandler.h:2113
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:8450
char * m_name
Definition: BOpcodeHandler.h:7875
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1684
float GetSize() const
Definition: BOpcodeHandler.h:5971
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4822
//– obsolete. this alias provided for source compatibility with old code
Definition: BOpcodeHandler.h:931
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2796
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4922
unsigned short m_simple_reflection
For internal use only.
Definition: BOpcodeHandler.h:3076
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1181
float GetRadius() const
Definition: BOpcodeHandler.h:7107
float const * GetTarget() const
Definition: BOpcodeHandler.h:6739
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:4081
static float read_float(char const *cp, char **newcpp)
for internal use only
Definition: BOpcodeHandler.h:672
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2713
use whatever the display device prefers
Definition: BOpcodeHandler.h:5874
type for sphere tesselation value; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2926
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1185
perspective bit setting
Definition: BOpcodeHandler.h:5580
int * m_num_primitives
an array of ints to indicate the length of each row in m_primitives
Definition: BOpcodeHandler.h:1808
bool m_flag
for internal use only
Definition: BOpcodeHandler.h:5236
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2973
unsigned char * m_data
Definition: BOpcodeHandler.h:8687
float GetSize() const
Definition: BOpcodeHandler.h:5154
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:8254
void SetRectangle(float const *rect)
Definition: BOpcodeHandler.h:8581
not specified
Definition: BOpcodeHandler.h:5873
void SetOptions(int at)
Definition: BOpcodeHandler.h:5348
Base class for shell and mesh.
Definition: BPolyhedron.h:21
char const * GetName() const
Definition: BOpcodeHandler.h:8193
char m_options
Definition: BOpcodeHandler.h:8613
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:5497
char * m_string
Definition: BOpcodeHandler.h:1469
int m_hlr_options
For internal use only.
Definition: BOpcodeHandler.h:2980
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1243
TK_User_Index_Data()
Definition: BOpcodeHandler.h:5507
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4484
TK_Status GetData(BStreamFileToolkit &tk, short &s)
Definition: BOpcodeHandler.h:296
TKO_Bounding_Type_Options
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:6101
stretched bit setting
Definition: BOpcodeHandler.h:5581
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2855
void SetCompression(int c)
Definition: BOpcodeHandler.h:7988
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4956
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2570
int GetHardExtent() const
Definition: BOpcodeHandler.h:4651
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2325
char * m_reference
Definition: BOpcodeHandler.h:7876
void SetEnd(float const *e)
Definition: BOpcodeHandler.h:6891
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:4361
shift of extended section
Definition: BOpcodeHandler.h:2914
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4958
void SetRenderer(int r)
Definition: BOpcodeHandler.h:6040
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4490
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2909
int m_name_length
Definition: BOpcodeHandler.h:7713
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:5311
char const * GetName() const
Definition: BOpcodeHandler.h:5216
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1213
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4508
TK_Geometry_Options()
Definition: BOpcodeHandler.h:4724
""
Definition: BOpcodeHandler.h:8108
type for 'simple shadow' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2719
int GetUp() const
Definition: BOpcodeHandler.h:4872
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2883
""
Definition: BOpcodeHandler.h:4991
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:2160
char * m_bytes
Definition: BOpcodeHandler.h:7712
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1210
int m_vertex_displacement
For internal use only.
Definition: BOpcodeHandler.h:2969
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1211
float GetIndex() const
Definition: BOpcodeHandler.h:2407
void fix_out(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:584
image is one-byte of luminance data per pixel
Definition: BOpcodeHandler.h:7800
void SetHardEdgeAngle(int m)
Definition: BOpcodeHandler.h:4247
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2696
float m_surface_max_trim_curve_deviation
For internal use only.
Definition: BOpcodeHandler.h:3036
void SetColorEdgeContrastLockValue(int v)
Definition: BOpcodeHandler.h:3504
double const * GetDPlane() const
Definition: BOpcodeHandler.h:6820
Handles the TKE_Start_User_Data opcode.
Definition: BOpcodeHandler.h:8684
float m_size
for internal use only
Definition: BOpcodeHandler.h:5903
float * GetKnots()
Definition: BOpcodeHandler.h:6515
int m_length
internal use
Definition: BOpcodeHandler.h:2427
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2786
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2916
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4978
float const * GetPoints() const
Definition: BOpcodeHandler.h:6565
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:2432
void SetName(char const *name)
Definition: BOpcodeHandler.h:8189
""
Definition: BOpcodeHandler.h:8040
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:205
void SetSize(int const *s)
Definition: BOpcodeHandler.h:7973
void bytes_to_floats(unsigned char const *in, float *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:612
int GetVSize() const
Definition: BOpcodeHandler.h:6580
void set_channel_rgb(channel &c, float r, float g, float b, int which_channel=-1)
internal use
Definition: BOpcodeHandler.h:2046
char * m_lookup
Definition: BOpcodeHandler.h:7711
char const * GetLookup() const
Definition: BOpcodeHandler.h:7778
TK_Window()
Definition: BOpcodeHandler.h:5771
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:3596
TKO_Texture_Param_Functions
Definition: BOpcodeHandler.h:8056
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2856
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3728
type for 'technology' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2770
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:5169
int m_radius_count
Definition: BOpcodeHandler.h:7286
void SetSimpleShadowResolution(int m)
Definition: BOpcodeHandler.h:4298
void SetIndex(int index)
Definition: BOpcodeHandler.h:1700
float GetTolerance() const
Definition: BOpcodeHandler.h:5981
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2623
discard after load to graphics hardware as texture
Definition: BOpcodeHandler.h:7814
TK_Line_Style()
Definition: BOpcodeHandler.h:8517
Definition: BOpcodeHandler.h:5234
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2843
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2633
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:7159
""
Definition: BOpcodeHandler.h:5031
float * GetRef1()
Definition: BOpcodeHandler.h:7445
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:3014
TK_Status PutData(BStreamFileToolkit &tk, float const *f, int n)
Definition: BOpcodeHandler.h:383
void SetImageScale(float const *s)
Definition: BOpcodeHandler.h:4412
self-explanatory
Definition: BOpcodeHandler.h:1318
float GetHardEdgeAngle() const
Definition: BOpcodeHandler.h:4249
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:6029
int GetParameterFunction() const
Definition: BOpcodeHandler.h:8271
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:4560
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:6014
float const * GetMinor() const
Definition: BOpcodeHandler.h:7021
void SetEncoding(int e)
Definition: BOpcodeHandler.h:7671
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4492
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1156
unsigned short * m_string
Definition: BOpcodeHandler.h:5410
char const * GetName() const
Definition: BOpcodeHandler.h:7941
the size at which to draw characters
Definition: BOpcodeHandler.h:5797
self-explanatory
Definition: BOpcodeHandler.h:1314
void SetColorWindowContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3827
void SetPreferences(int r1, int r2)
Definition: BOpcodeHandler.h:6066
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2622
TK_Texture()
Definition: BOpcodeHandler.h:8171
char * m_gooch_color_map_segment
For internal use only.
Definition: BOpcodeHandler.h:3055
void SetColorEdgeContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3896
rotation, specified in degrees clockwise
Definition: BOpcodeHandler.h:7571
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1169
void SetDRadius(double r)
Definition: BOpcodeHandler.h:7248
int m_allocated
Definition: BOpcodeHandler.h:8860
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2654
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:4164
void SetDMiddle(double const *m)
Definition: BOpcodeHandler.h:6932
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5052
int GetPreference() const
Definition: BOpcodeHandler.h:6063
float m_gooch_diffuse_weight
For internal use only.
Definition: BOpcodeHandler.h:3054
""
Definition: BOpcodeHandler.h:8049
void SetColorEdgeContrastLockMask(int m)
Definition: BOpcodeHandler.h:3493
char const * GetName() const
Definition: BOpcodeHandler.h:8536
the font name
Definition: BOpcodeHandler.h:7564
TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:429
self-explanatory
Definition: BOpcodeHandler.h:1338
int GetLodNumThresholds() const
Definition: BOpcodeHandler.h:4177
void SetAmbientUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4402
int GetFormat() const
Definition: BOpcodeHandler.h:2455
TK_Status PutData(BStreamFileToolkit &tk, short const &s)
Definition: BOpcodeHandler.h:441
unsigned char * GetUserData()
Definition: BOpcodeHandler.h:8717
float const * GetLodRatios() const
Definition: BOpcodeHandler.h:4157
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:3601
void SetColorWindowLockMask(int m)
Definition: BOpcodeHandler.h:3378
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3958
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:6519
void SetIndex(int i)
Definition: BOpcodeHandler.h:1793
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:4311
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1197
refer to HC_Set_Window_Pattern
Definition: BOpcodeHandler.h:4985
float GetStereoSeparation() const
Definition: BOpcodeHandler.h:4026
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:2175
void SetSimpleShadowOpacity(float o)
Definition: BOpcodeHandler.h:4334
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:3435
double const * GetDOrigin() const
Definition: BOpcodeHandler.h:7466
only used by certain handlers
Definition: BOpcodeHandler.h:5118
char * GetName()
Definition: BOpcodeHandler.h:8419
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:6871
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:2121
//// reserved for future expansion
Definition: BOpcodeHandler.h:939
//– would like this to be obsolete, but...
Definition: BOpcodeHandler.h:932
void SetIndex(int i)
Definition: BOpcodeHandler.h:2356
int m_substage
Definition: BOpcodeHandler.h:7621
float const * GetPoint() const
Definition: BOpcodeHandler.h:6220
int GetFormat() const
Definition: BOpcodeHandler.h:8377
int m_options
internal use
Definition: BOpcodeHandler.h:1755
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2682
char * GetComment()
Definition: BOpcodeHandler.h:1114
short color_line_mask
For internal use only.
Definition: BOpcodeHandler.h:1361
self-explanatory
Definition: BOpcodeHandler.h:7798
""
Definition: BOpcodeHandler.h:8111
float const * GetEnd() const
Definition: BOpcodeHandler.h:6915
self-explanatory
Definition: BOpcodeHandler.h:1304
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2817
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:3200
#define TKO_Rendo_Extended
Definition: BOpcodeHandler.h:2604
int GetCount() const
Definition: BOpcodeHandler.h:5475
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:6936
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:3643
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2756
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8091
TK_Status GetData(BStreamFileToolkit &tk, unsigned short &s)
Definition: BOpcodeHandler.h:305
int m_lod_options_mask
For internal use only.
Definition: BOpcodeHandler.h:3011
int GetTiling() const
Definition: BOpcodeHandler.h:8281
self-explanatory
Definition: BOpcodeHandler.h:7518
TK_Status PutData(BStreamFileToolkit &tk, double const *d, int n)
Definition: BOpcodeHandler.h:406
TKO_Text_Region_Fit_Options
Definition: BOpcodeHandler.h:7553
float * m_isoline_colors
for internal use only.
Definition: BOpcodeHandler.h:2999
void SetColorEdgeLockValue(int v)
Definition: BOpcodeHandler.h:3297
add a strikethrough to the font
Definition: BOpcodeHandler.h:5810
void SetDisplayListLevel(int m)
Definition: BOpcodeHandler.h:4279
TK_URL()
Definition: BOpcodeHandler.h:8826
int GetProjection() const
Definition: BOpcodeHandler.h:5746
int m_allocated
Definition: BOpcodeHandler.h:8821
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:4226
void SetImage(char const *image)
Definition: BOpcodeHandler.h:8207
int GetLength()
Definition: BOpcodeHandler.h:5341
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:7680
texture interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2546
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:8249
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2567
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1777
double * GetDPoints()
Definition: BOpcodeHandler.h:7348
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1266
float * GetOrigin()
Definition: BOpcodeHandler.h:7434
void SetColorMarkerContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3953
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8106
double const * GetDMinor() const
Definition: BOpcodeHandler.h:7049
TK_Default()
Definition: BOpcodeHandler.h:959
self-explanatory
Definition: BOpcodeHandler.h:6102
oblique x setting
Definition: BOpcodeHandler.h:5589
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2852
void SetPosition(float const *p)
Definition: BOpcodeHandler.h:7958
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4463
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2685
color index interpolation value; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2557
void SetCenter(float const *s)
Definition: BOpcodeHandler.h:7001
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2703
void SetColorFaceForcedLockMask(int m)
Definition: BOpcodeHandler.h:3666
relative sizing
Definition: BOpcodeHandler.h:7540
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1619
short color_cut_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1389
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2923
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2577
HLONG GetValue() const
Definition: BOpcodeHandler.h:5573
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2613
unsigned char m_heuristic
For internal use only.
Definition: BOpcodeHandler.h:3027
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1592
char * GetDefinition()
Definition: BOpcodeHandler.h:8428
int m_count
for internal use only
Definition: BOpcodeHandler.h:5495
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:8289
void SetEnvironmentName(char const *name)
Definition: BOpcodeHandler.h:2171
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:6694
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:5624
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:6045
int GetType() const
Definition: BOpcodeHandler.h:6497
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:2115
float const * GetPosition() const
Definition: BOpcodeHandler.h:7960
double const * GetDTarget() const
Definition: BOpcodeHandler.h:6747
float const * GetOrigin() const
Definition: BOpcodeHandler.h:7432
int m_length
Definition: BOpcodeHandler.h:1467
void Record_Instance(BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
Definition: BOpcodeHandler.h:650
draw only the outline (i.e. don't fill)
Definition: BOpcodeHandler.h:5808
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1092
short color_text_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1386
internal use, indicates bits which require TKO_Geo_Extended
Definition: BOpcodeHandler.h:1189
int GetBufferSizeLimit() const
Definition: BOpcodeHandler.h:4020
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:2132
char const * GetBytes() const
Definition: BOpcodeHandler.h:7760
void SetDTarget(double const *t)
Definition: BOpcodeHandler.h:6745
bool GetFollow()
Definition: BOpcodeHandler.h:1660
char * m_string
Definition: BOpcodeHandler.h:7612
env map
Definition: BOpcodeHandler.h:1344
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4527
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2575
s3 texture compression level 1
Definition: BOpcodeHandler.h:7802
TK_Text_Font()
Definition: BOpcodeHandler.h:5930
int GetGeometry() const
Definition: BOpcodeHandler.h:2085
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4506
int m_length
Definition: BOpcodeHandler.h:5409
float * m_values
internal use
Definition: BOpcodeHandler.h:2429
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:3498
void SetSize(float s)
Definition: BOpcodeHandler.h:5969
float const * GetAxis() const
Definition: BOpcodeHandler.h:7118
void SetPosition(float const *p)
Definition: BOpcodeHandler.h:7658
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4821
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1257
type for 'technology' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2768
void SetOptions(int length)
Definition: BOpcodeHandler.h:5390
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4972
int m_cond_length
Definition: BOpcodeHandler.h:1677
void SetRef1(float const *r)
Definition: BOpcodeHandler.h:7441
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2573
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1222
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:7471
int GetColorWindowContrastLockValue() const
Definition: BOpcodeHandler.h:3440
extends font options to a second byte
Definition: BOpcodeHandler.h:5803
int GetColorTextForcedLockValue() const
Definition: BOpcodeHandler.h:3774
try to use polyline outline around the character exterior
Definition: BOpcodeHandler.h:5877
void SetLodMaxDegree(int v)
Definition: BOpcodeHandler.h:4117
void SetSegment(int length)
Definition: BOpcodeHandler.h:1499
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2565
float m_simple_reflection_hither
For internal use only.
Definition: BOpcodeHandler.h:3080
void SetSimpleShadow(int m)
Definition: BOpcodeHandler.h:4284
void SetNURBSCurveBudget(int b)
Definition: BOpcodeHandler.h:4075
TK_Status GetData(BStreamFileToolkit &tk, int &i)
Definition: BOpcodeHandler.h:299
int GetNURBSOptionsMask() const
Definition: BOpcodeHandler.h:4069
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2073
mask for HSR field
Definition: BOpcodeHandler.h:2673
internal use, indicates shift for placement of extended section
Definition: BOpcodeHandler.h:1206
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5056
""
Definition: BOpcodeHandler.h:5034
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2889
void SetCutGeometryLevel(int m)
Definition: BOpcodeHandler.h:4263
refer to ::HC_Conditional_Action
Definition: BOpcodeHandler.h:5298
unsigned char m_depth_peeling_algorithm
For internal use only.
Definition: BOpcodeHandler.h:3098
void SetIndex(int i)
Definition: BOpcodeHandler.h:5221
int m_value
internal use
Definition: BOpcodeHandler.h:4554
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:3332
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5653
type for 'buffer options' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2778
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:6244
float m_slant
for internal use only
Definition: BOpcodeHandler.h:5906
float const * GetAxis() const
Definition: BOpcodeHandler.h:7219
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3912
virtual TK_Status Execute(BStreamFileToolkit &tk)
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:6468
void SetDown(int m)
Definition: BOpcodeHandler.h:4856
TKO_Compression
Definition: BOpcodeHandler.h:7827
int GetCulling() const
Definition: BOpcodeHandler.h:4631
float GetHlrFaceSortingAlgorithm() const
Definition: BOpcodeHandler.h:4059
////
Definition: BOpcodeHandler.h:814
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:8368
refer to HC_Set_Text_Alignment
Definition: BOpcodeHandler.h:5070
""
Definition: BOpcodeHandler.h:5025
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4974
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:6011
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6406
float const * GetOrtho() const
Definition: BOpcodeHandler.h:7129
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1255
type for 'mask transform' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2751
void SetDRadius(double r)
Definition: BOpcodeHandler.h:7143
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2635
int GetLayout() const
Definition: BOpcodeHandler.h:8276
float const * GetCenter() const
Definition: BOpcodeHandler.h:7003
""
Definition: BOpcodeHandler.h:8083
char * m_string
Definition: BOpcodeHandler.h:5316
int m_substage
Definition: BOpcodeHandler.h:8144
void SetColorTextForcedLockValue(int v)
Definition: BOpcodeHandler.h:3769
int m_substage
internal use; To track the subcases
Definition: BOpcodeHandler.h:2043
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4450
void SetSizeUnits(int u)
Definition: BOpcodeHandler.h:5974
void SetEmission(float r, float g, float b)
Definition: BOpcodeHandler.h:2156
void SetLodRatio(float r)
Definition: BOpcodeHandler.h:4144
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4453
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1196
TK_Visibility(void)
Definition: BOpcodeHandler.h:4768
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3751
int m_control_point_count
Definition: BOpcodeHandler.h:6368
char m_index
internal use
Definition: BOpcodeHandler.h:5090
refer to HC_Set_Face_Pattern
Definition: BOpcodeHandler.h:4973
char * GetReference()
Definition: BOpcodeHandler.h:7952
void SetColorLineContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3919
float GetStart() const
Definition: BOpcodeHandler.h:6417
int m_related
internal use
Definition: BOpcodeHandler.h:4556
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:5496
void SetUp(int m)
Definition: BOpcodeHandler.h:4867
void SetMask(int m)
Definition: BOpcodeHandler.h:5944
void SetGeometryOptionsMask(int m)
Definition: BOpcodeHandler.h:4242
float const * GetPoints() const
Definition: BOpcodeHandler.h:6333
Lock_Masks m_forced
For internal use only.
Definition: BOpcodeHandler.h:2974
int GetOptions() const
Definition: BOpcodeHandler.h:6767
int GetLength()
Definition: BOpcodeHandler.h:5396
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:8284
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6895
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2668
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:4141
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2652
""
Definition: BOpcodeHandler.h:5022
int GetLockMask() const
Definition: BOpcodeHandler.h:3206
""
Definition: BOpcodeHandler.h:5033
char * m_camera
Definition: BOpcodeHandler.h:8138
float const * GetRadii() const
Definition: BOpcodeHandler.h:7335
TKO_Spot_Light_Options
Definition: BOpcodeHandler.h:6671
int m_image_length
Definition: BOpcodeHandler.h:8141
self-explanatory
Definition: BOpcodeHandler.h:7809
int GetIndex() const
Definition: BOpcodeHandler.h:5106
TK_Selectability(void)
Definition: BOpcodeHandler.h:4827
TKO_Font_Type
Handles the TKE_Font opcodes.
Definition: BOpcodeHandler.h:7696
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:3700
extended bit
Definition: BOpcodeHandler.h:8016
float const * GetScreenRange() const
Definition: BOpcodeHandler.h:4397
char const * GetString() const
Definition: BOpcodeHandler.h:2482
type for transparency field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2688
int m_length
Definition: BOpcodeHandler.h:8820
float const * GetLodThresholds() const
Definition: BOpcodeHandler.h:4179
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:1938
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2893
unsigned short m_shadow_map_resolution
For internal use only.
Definition: BOpcodeHandler.h:3073
float m_hlr_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2982
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1225
int m_tmp
Definition: BOpcodeHandler.h:7622
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6978
float const * GetCenter() const
Definition: BOpcodeHandler.h:6917
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:7482
int GetBufferOptionsValue() const
Definition: BOpcodeHandler.h:4016
void SetRGB(float const *rgb)
Definition: BOpcodeHandler.h:2245
""
Definition: BOpcodeHandler.h:8109
World Space.
Definition: BOpcodeHandler.h:5119
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2807
float horizontal_offset
offset, positive or negative, from the standard position. units are specified separately in horizonta...
Definition: BOpcodeHandler.h:7585
type for NURBS curve options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2917
self-explanatory
Definition: BOpcodeHandler.h:1321
int GetSize() const
Definition: BOpcodeHandler.h:8719
self-explanatory
Definition: BOpcodeHandler.h:6680
type for 'antialias' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2788
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:2023
refer to HC_Define_Texture
Definition: BOpcodeHandler.h:8079
Definition: BOpcodeHandler.h:7579
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:7148
""
Definition: BOpcodeHandler.h:5029
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1988
Truevision TGA.
Definition: BOpcodeHandler.h:7805
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2895
void SetDMajor(double x, double y, double z)
Definition: BOpcodeHandler.h:7034
void SetForcedLockMask(int m)
Definition: BOpcodeHandler.h:3607
void SetSpecular(float r, float g, float b)
Definition: BOpcodeHandler.h:2111
void SetColorMarkerLockValue(int v)
Definition: BOpcodeHandler.h:3343
void SetDAxis(double const *a)
Definition: BOpcodeHandler.h:7239
int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:498
TK_Status PutData(BStreamFileToolkit &tk, int const &i)
Definition: BOpcodeHandler.h:444
void **const GetValues()
Definition: BOpcodeHandler.h:5538
int m_cond_allocated
Definition: BOpcodeHandler.h:1589
vetical fitting is specified
Definition: BOpcodeHandler.h:7545
void SetTransforms(int t)
Definition: BOpcodeHandler.h:6019
self-explanatory
Definition: BOpcodeHandler.h:8322
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:7406
char * GetCamera()
Definition: BOpcodeHandler.h:8222
void SetBumpName(int length)
Definition: BOpcodeHandler.h:2182
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2886
TKO_Clip_Region_Options
Definition: BOpcodeHandler.h:8597
void SetPoints(int count, float const *points=0)
Definition: BOpcodeHandler.h:6642
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2794
lighting interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2560
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:7582
void adjust_written(BStreamFileToolkit &tk, int count)
for internal use only
Definition: BOpcodeHandler.h:632
float const * GetPoints() const
Definition: BOpcodeHandler.h:8639
color interpolation value; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2553
""
Definition: BOpcodeHandler.h:8011
int m_size
internal use
Definition: BOpcodeHandler.h:1973
int GetColorLineForcedLockMask() const
Definition: BOpcodeHandler.h:3717
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1683
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2631
void SetCenter(float const *c)
Definition: BOpcodeHandler.h:6900
int m_from_index
internal use
Definition: BOpcodeHandler.h:1751
""
Definition: BOpcodeHandler.h:8014
float m_hlr_dim_factor
For internal use only.
Definition: BOpcodeHandler.h:2981
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2801
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:8452
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:4323
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:3033
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:7494
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2651
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2805
self-explanatory
Definition: BOpcodeHandler.h:1313
int m_length
Definition: BOpcodeHandler.h:5315
void SetMirror(float const *rgb)
Definition: BOpcodeHandler.h:2128
char * m_segment
Definition: BOpcodeHandler.h:8444
common/shared items; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1182
float GetRadius() const
Definition: BOpcodeHandler.h:7228
float const * GetPlanes() const
Definition: BOpcodeHandler.h:6823
unsigned char m_depth_peeling_layers
For internal use only.
Definition: BOpcodeHandler.h:3096
TK_Status GetData(BStreamFileToolkit &tk, unsigned char *b, int n)
Definition: BOpcodeHandler.h:284
void SetLodCutoffs(int c, float const *r=0)
Definition: BOpcodeHandler.h:4186
self-explanatory
Definition: BOpcodeHandler.h:6679
self-explanatory
Definition: BOpcodeHandler.h:6684
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2896
int GetColorLockValue() const
Definition: BOpcodeHandler.h:3256
type for 'technology' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2766
int GetGeometry() const
Definition: BOpcodeHandler.h:2293
""
Definition: BOpcodeHandler.h:8098
virtual TK_Status Write(BStreamFileToolkit &tk)=0
type for isoline options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2847
internal use, indicates bits which require TKO_Geo_Extended_Colors
Definition: BOpcodeHandler.h:1204
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeHandler.h:1209
void SetMajor(float const *m)
Definition: BOpcodeHandler.h:7010
TK_Status GetGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:318
void SetLodBounding(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:4130
int m_isoline_position_count
for internal use only.
Definition: BOpcodeHandler.h:2996
TK_Status GetData(BStreamFileToolkit &tk, double &d)
Definition: BOpcodeHandler.h:314
void SetDField(double w, double h)
Definition: BOpcodeHandler.h:5712
float * GetPoints()
Definition: BOpcodeHandler.h:6405
double const * GetDRef1() const
Definition: BOpcodeHandler.h:7477
double const * GetDAxis() const
Definition: BOpcodeHandler.h:7156
Flags
Definition: BOpcodeHandler.h:7173
refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2599
short color_simple_reflection_mask
For internal use only.
Definition: BOpcodeHandler.h:1387
void SetColorTextLockMask(int m)
Definition: BOpcodeHandler.h:3355
void SetLodTolerance(float v)
Definition: BOpcodeHandler.h:4121
int GetTessellationMask() const
Definition: BOpcodeHandler.h:4205
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6718
void SetOptions(int o)
Definition: BOpcodeHandler.h:6595
int m_cond_length
Definition: BOpcodeHandler.h:1588
float m_curve_max_length
For internal use only.
Definition: BOpcodeHandler.h:3042
int m_isoline_pattern_count
for internal use only.
Definition: BOpcodeHandler.h:3000
char * GetBytes()
Definition: BOpcodeHandler.h:7934
void SetWindow(float const *w)
Definition: BOpcodeHandler.h:5785
//// last opcode value reserved for private use
Definition: BOpcodeHandler.h:935
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6964
bool Find_Instance(BStreamFileToolkit &tk, int val1, int val2, int val3)
Definition: BOpcodeHandler.h:655
int m_substage
tracks progress of reading individual opcode handler arrays.
Definition: BOpcodeHandler.h:1812
int GetLodMaxDegree() const
Definition: BOpcodeHandler.h:4119
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:4561
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4476
""
Definition: BOpcodeHandler.h:8012
float * m_knots
Definition: BOpcodeHandler.h:6373
char m_options
internal use
Definition: BOpcodeHandler.h:6618
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5643
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4502
the offset from the standard position
Definition: BOpcodeHandler.h:7573
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:3176
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2864
char * GetBytes()
Definition: BOpcodeHandler.h:7762
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:5554
hard edge angle limit; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2931
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:4057
short color_cut_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1392
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:4635
char * m_string
Definition: BOpcodeHandler.h:5364
void SetColorTextContrastLockMask(int m)
Definition: BOpcodeHandler.h:3585
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2367
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6966
int m_mask
internal use
Definition: BOpcodeHandler.h:4553
void SetImageTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:4418
unsigned char m_cut_geometry_level
For internal use only.
Definition: BOpcodeHandler.h:3060
short color_vertex_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1384
void SetDPlane(double const *p)
Definition: BOpcodeHandler.h:6815
TKO_Font_Renderers
Definition: BOpcodeHandler.h:5861
char * m_data
Definition: BOpcodeHandler.h:8394
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1376
int GetColorMarkerLockValue() const
Definition: BOpcodeHandler.h:3348
type for 'cut geometry' field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2697
""
Definition: BOpcodeHandler.h:5003
Portable Network Graphics.
Definition: BOpcodeHandler.h:7806
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:7678
void SetType(int t)
Definition: BOpcodeHandler.h:7748
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2745
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:5904
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:7460
void SetSimpleShadowPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:4314
void SetFormat(int f)
Definition: BOpcodeHandler.h:2453
int GetOptions() const
Definition: BOpcodeHandler.h:6664
int GetVersion() const
Definition: BStreamFileToolkit.h:961
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:7095
""
Definition: BOpcodeHandler.h:8095
int m_isoline_color_count
for internal use only.
Definition: BOpcodeHandler.h:2998
TKE_Object_Types
Opcodes stored in the file.
Definition: BOpcodeHandler.h:810
void SetDPoint(double x, double y, double z)
Definition: BOpcodeHandler.h:6223
Capping_Options
Definition: BOpcodeHandler.h:7261
char * GetOptions()
Definition: BOpcodeHandler.h:5394
type for contour options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2818
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4521
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:8202
char * GetMirrorName()
Definition: BOpcodeHandler.h:2138
type for LOD options; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2887
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6341
self-explanatory
Definition: BOpcodeHandler.h:8320
type for 'buffer options' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2779
color index interpolation value; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2555
entity is double precision
Definition: BStream.h:320
double * GetDMatrix()
Definition: BOpcodeHandler.h:4947
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:4199
bool m_jpeg_native
Definition: BOpcodeHandler.h:7892
self-explanatory
Definition: BOpcodeHandler.h:7531
type for 'simple reflection' field; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeHandler.h:2737
refer to HC_Set_Line_Pattern
Definition: BOpcodeHandler.h:4964
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2665
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4781
void SetColorVertexLockValue(int v)
Definition: BOpcodeHandler.h:3481
int GetColorEdgeContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3901
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4823
type for HSR field; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeHandler.h:2667
TKO_Font_Preferences
Definition: BOpcodeHandler.h:5872
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:3417
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:4326
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:7025
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeHandler.h:1239
void SetMask(int m)
Definition: BOpcodeHandler.h:4736
void SetRGB(float r, float g, float b)
Definition: BOpcodeHandler.h:2243
refer to HC_Set_Heuristics
Definition: BOpcodeHandler.h:4451