BOpcodeHandler.h
Go to the documentation of this file.
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #ifndef BOPCODE_HANDLER
11 #define BOPCODE_HANDLER
12 
13 #ifndef BBINFILETK_TOOLKIT
14  #include "BStreamFileToolkit.h"
15 #endif
16 
17 #ifndef POINTER_SIZED_INT
18 #if defined(WIN64) || defined(_M_X64) || defined(_WIN64)
19 # define POINTER_SIZED_INT __int64
20 # define POINTER_SIZED_UINT unsigned __int64
21 #else
22 # define POINTER_SIZED_INT long
23 # define POINTER_SIZED_UINT unsigned long
24 #endif
25 #endif
26 
27 #include "BOpcodeEnums.h"
28 
29 
31 
34 
55 class BBINFILETK_API2 BBaseOpcodeHandler
56 #ifdef HPS_CORE_BUILD
57  : public CMO
58 #else
60 #endif
61 {
62  protected:
63  int m_stage;
64  int m_progress;
65  unsigned char m_opcode;
66  unsigned char m_general_flags;
67  bool m_needs_tag;
69 
71  char * m_debug_string;
73  char * m_ascii_buffer;
74  int m_ascii_size;
75  int m_ascii_length;
76 
77  int m_ascii_stage;
79 
80  unsigned char m_byte;
81  unsigned short m_unsigned_short;
82  int m_int;
83  char m_char;
84 
85  public:
92  : m_stage (0), m_progress (0), m_opcode ((unsigned char)op), m_general_flags(0), m_needs_tag (false),
93  m_collection_part(false), m_debug_allocated (0), m_debug_string (0),
94  m_ascii_buffer (0), m_ascii_size (0), m_ascii_length (0), m_ascii_stage (0), m_ascii_progress(0),
95  m_byte(0), m_unsigned_short(0), m_int(0), m_char('\0')
96  {}
97  virtual ~BBaseOpcodeHandler ();
98 
106  virtual TK_Status Read (BStreamFileToolkit & tk) = 0;
107 
115  virtual TK_Status Write (BStreamFileToolkit & tk) = 0;
116 
124  virtual TK_Status Execute (BStreamFileToolkit & tk);
125 
135  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant = 0);
136 
146  virtual TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special);
147 
153  virtual void Reset ();
154 
159  virtual bool Match_Instance (BStreamFileToolkit const & tk, Recorded_Instance * instance);
160 
161 
163  unsigned char Opcode () const { return m_opcode; }
164 
166  unsigned char General_Flags () const { return m_general_flags; }
167 
169  void Set_General_Flags (int f) { m_general_flags = (unsigned char)f; }
170 
175  int Pass (BStreamFileToolkit & tk) const { return tk.pass(); }
176 
181  TK_Status Tag (BStreamFileToolkit & tk, int variant= -1) const { return tk.tag(variant); }
182 
186  bool Tagging (BStreamFileToolkit & tk) const {
187  return m_needs_tag || tk.GetWriteFlags(TK_Force_Tags) != 0;
188  }
189 
193  void SetNeedsTag (bool n) { m_needs_tag = n; }
194 
198  bool NeedsTag () const { return m_needs_tag; }
199 
203  void SetCollectionPart(bool n) { m_collection_part = n; }
204 
208  bool IsCollectionPart() const { return m_collection_part; }
209 
216  virtual TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const {
217  *handler = 0;
218  return tk.Error();
219  }
220 
226  virtual bool NeedsContext (BStreamFileToolkit & tk) const { (void)tk; return false; }
227 
232  void SetLoggingString (char const * segment);
233 
238  void SetLoggingString (int length);
239 
243  char const * GetLoggingString () const { return m_debug_string; }
248  char * GetLoggingString () { return m_debug_string; }
249 
253  void LogDebug (BStreamFileToolkit & tk, char const * string = 0);
254 
255  protected:
256  // various means of pulling data from the toolkit buffer
257  // Note: format conversion is safe to do in output buffer
258 
260  static TK_Status GetData (BStreamFileToolkit & tk, char * b, int n) { return tk.read (b, n); }
261 
263  static TK_Status GetData (BStreamFileToolkit & tk, short * s, int n) {
264  TK_Status status;
265  if ((status = GetData (tk, (char *)s, n * (int)sizeof (short))) == TK_Normal)
266  fix (s, n);
267  return status;
268  }
269 
271  static TK_Status GetData (BStreamFileToolkit & tk, int * i, int n) {
272  TK_Status status;
273  if ((status = GetData (tk, (char *)i, n * (int)sizeof (int))) == TK_Normal)
274  fix (i, n);
275  return status;
276  }
277 
279  static TK_Status GetData (BStreamFileToolkit & tk, float * f, int n) {
280  TK_Status status;
281  if ((status = GetData (tk, (char *)f, n * (int)sizeof (float))) == TK_Normal)
282  fix_in (f, n);
283  return status;
284  }
285 
287  static TK_Status GetData (BStreamFileToolkit & tk, double * d, int n) {
288  TK_Status status;
289  if ((status = GetData (tk, (char *)d, n * (int)sizeof (double))) == TK_Normal)
290  fix_in (d, n);
291  return status;
292  }
293 
295  static TK_Status GetData (BStreamFileToolkit & tk, unsigned char * b, int n) { return GetData (tk, (char *)b, n); }
296 
298  static TK_Status GetData (BStreamFileToolkit & tk, unsigned short * s, int n) { return GetData (tk, (short *)s, n); }
299 
301  static TK_Status GetData (BStreamFileToolkit & tk, unsigned int * i, int n) { return GetData (tk, (int *)i, n); }
302 
304  static TK_Status GetData (BStreamFileToolkit & tk, char & c) { return GetData (tk, &c, 1); }
305 
307  static TK_Status GetData (BStreamFileToolkit & tk, short & s) { return GetData (tk, &s, 1); }
308 
310  static TK_Status GetData (BStreamFileToolkit & tk, int & i) { return GetData (tk, &i, 1); }
311 
313  static TK_Status GetData (BStreamFileToolkit & tk, unsigned char & b) { return GetData (tk, &b, 1); }
314 
316  static TK_Status GetData (BStreamFileToolkit & tk, unsigned short & s) { return GetData (tk, &s, 1); }
317 
319  static TK_Status GetData (BStreamFileToolkit & tk, unsigned int & i) { return GetData (tk, &i, 1); }
320 
322  static TK_Status GetData (BStreamFileToolkit & tk, float & f) { return GetData (tk, &f, 1); }
323 
325  static TK_Status GetData (BStreamFileToolkit & tk, double & d) { return GetData (tk, &d, 1); }
326 
327 
330  TK_Status status = TK_Normal;
331 
332  if (tk.GetVersion() >= 1975 &&
333  (status = GetData (tk, m_general_flags)) != TK_Normal)
334  return status;
335 
336  return status;
337  }
338 
339 
340 
341 
343  static TK_Status LookatData (BStreamFileToolkit & tk, unsigned char & b) { return tk.lookat ((char &)b); }
344 
345  // various means of putting data into the toolkit buffer
346  // Note: format conversion is NOT safe in input buffer -- use temps
347 
349  static TK_Status PutData (BStreamFileToolkit & tk, char const * b, int n) { return tk.write (b, n); }
350 
352  static TK_Status PutData (BStreamFileToolkit & tk, short const * s, int n) {
353  #ifdef STREAM_BIGENDIAN
354  short * buffer;
355  short * tmp;
356  TK_Status status;
357  int i;
358  BSTREAM_ALLOC_ARRAY(buffer, n, short);
359  tmp = buffer;
360  for (i=0; i<n; ++i)
361  *tmp++ = flip (*s++);
362  status = PutData (tk, (char const *)buffer, n * (int)sizeof (short));
363  BSTREAM_FREE_ARRAY(buffer, n, short);
364  if (status != TK_Normal)
365  return status;
366  return TK_Normal;
367  #else
368  return PutData (tk, (char const *)s, n * (int)sizeof (short));
369  #endif
370  }
371 
373  static TK_Status PutData (BStreamFileToolkit & tk, int const * i, int n) {
374  #ifdef STREAM_BIGENDIAN
375  int * buffer;
376  int * tmp;
377  TK_Status status;
378  int j;
379  BSTREAM_ALLOC_ARRAY(buffer, n, int);
380  tmp = buffer;
381  for (j=0; j<n; ++j)
382  *tmp++ = flip (*i++);
383  status = PutData (tk, (char const *)buffer, n * (int)sizeof (int));
384  BSTREAM_FREE_ARRAY(buffer, n, int);
385  if (status != TK_Normal)
386  return status;
387  return TK_Normal;
388  #else
389  return PutData (tk, (char const *)i, n * (int)sizeof (int));
390  #endif
391  }
392 
394  static TK_Status PutData (BStreamFileToolkit & tk, float const * f, int n) {
395  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
396  float * buffer;
397  float * tmp;
398  TK_Status status;
399  int i;
400  BSTREAM_ALLOC_ARRAY(buffer, n, float);
401  tmp = buffer;
402  for (i=0; i<n; ++i) {
403  *tmp = *f++;
404  fix_out (tmp++, 1);
405  }
406  status = PutData (tk, (char const *)buffer, n * (int)sizeof (float));
407  BSTREAM_FREE_ARRAY(buffer, n, float);
408  if (status != TK_Normal)
409  return status;
410  return TK_Normal;
411  #else
412  return PutData (tk, (char const *)f, n * (int)sizeof (float));
413  #endif
414  }
415 
417  static TK_Status PutData (BStreamFileToolkit & tk, double const * d, int n) {
418  #if defined(NON_IEEE) || defined(STREAM_BIGENDIAN)
419  double * buffer;
420  double * tmp;
421  TK_Status status;
422  int i;
423  BSTREAM_ALLOC_ARRAY(buffer, n, double);
424  tmp = buffer;
425  for (i=0; i<n; ++i) {
426  *tmp = *d++;
427  fix_out (tmp++, 1);
428  }
429  status = PutData (tk, (char const *)buffer, n * (int)sizeof (double));
430  BSTREAM_FREE_ARRAY(buffer, n, double);
431  if (status != TK_Normal)
432  return status;
433  return TK_Normal;
434  #else
435  return PutData (tk, (char const *)d, n * (int)sizeof (double));
436  #endif
437  }
438 
440  static TK_Status PutData (BStreamFileToolkit & tk, unsigned char const * b, int n) { return PutData (tk, (char const *)b, n); }
441 
443  static TK_Status PutData (BStreamFileToolkit & tk, unsigned short const * s, int n) { return PutData (tk, (short const *)s, n); }
444 
446  static TK_Status PutData (BStreamFileToolkit & tk, unsigned int const * i, int n) { return PutData (tk, (int const *)i, n); }
447 
449  static TK_Status PutData (BStreamFileToolkit & tk, char const & c) { return PutData (tk, &c, 1); }
450 
452  static TK_Status PutData (BStreamFileToolkit & tk, short const & s) { return PutData (tk, &s, 1); }
453 
455  static TK_Status PutData (BStreamFileToolkit & tk, int const & i) { return PutData (tk, &i, 1); }
456 
458  static TK_Status PutData (BStreamFileToolkit & tk, unsigned char const & b) { return PutData (tk, &b, 1); }
459 
461  static TK_Status PutData (BStreamFileToolkit & tk, unsigned short const & s) { return PutData (tk, &s, 1); }
462 
464  static TK_Status PutData (BStreamFileToolkit & tk, unsigned int const & i) { return PutData (tk, &i, 1); }
465 
467  static TK_Status PutData (BStreamFileToolkit & tk, float const & f) { return PutData (tk, &f, 1); }
468 
470  static TK_Status PutData (BStreamFileToolkit & tk, double const & d) { return PutData (tk, &d, 1); }
471 
473  TK_Status PutOpcode (BStreamFileToolkit & tk, int adjust = 1) {
474  TK_Status status;
475  unsigned int sequence;
476 
477  if ((status = PutData (tk, Opcode ())) != TK_Normal)
478  return status;
479 
480  tk.adjust_written (adjust);
481 
482  sequence = tk.NextOpcodeSequence();
483  if (tk.GetLogging())
484  log_opcode (tk, sequence, Opcode());
485 
486  return status;
487  }
488 
491  TK_Status status = TK_Normal;
492 
493  if (tk.GetTargetVersion() >= 1975 &&
494  (status = PutData (tk, General_Flags ())) != TK_Normal)
495  return status;
496 
497  return status;
498  }
499 
500 
501 
502  /* note -- fix for int types will work during read OR write phase, but floats need separate routines for native->IEEE and IEEE->native
503  */
505  static short flip (short s) {
506  return (short)(((s >> 8) & 0x00FF) | (s << 8));
507  }
509  static int flip (int i) {
510  return ((i >> 24) & 0x000000FF) | ((i >> 8) & 0x0000FF00) |
511  ((i << 8) & 0x00FF0000) | (i << 24);
512  }
513 
514  #ifdef STREAM_BIGENDIAN
515  static void flip (double * d) {
517  char b[8];
518  memcpy (b, &d, sizeof(double));
519  Swap (b[0], b[7]);
520  Swap (b[1], b[6]);
521  Swap (b[2], b[5]);
522  Swap (b[3], b[4]);
523  memcpy (&d, b, sizeof(double));
524  }
525  #endif
526 
527 #ifndef DOXYGEN_SHOULD_SKIP_THIS
528  #ifndef UNREFERENCED
529  #define UNREFERENCED(x) (void)(x)
530  #endif
531 #endif
532 
534  static void fix (int * i, int n) {
535  #ifdef STREAM_BIGENDIAN
536  while (n--){
537  *i = flip (*i);
538  i++;
539  }
540  #else
541  UNREFERENCED(i);
542  UNREFERENCED(n);
543  #endif
544  }
546  static void fix (short * s, int n) {
547  #ifdef STREAM_BIGENDIAN
548  while (n--){
549  *s = flip (*s);
550  s++;
551  }
552  #else
553  UNREFERENCED(s);
554  UNREFERENCED(n);
555  #endif
556  }
557 
559  static void fix_in (float * f, int n) {
560  #ifdef NON_IEEE
561  // need to re-interpret from IEEE to native format
562  #endif
563 
564  #ifdef STREAM_BIGENDIAN
565  int * i = (int *) f;
566  while (n--) {
567  *i = flip (*i);
568  i++;
569  }
570  #else
571  UNREFERENCED(f);
572  UNREFERENCED(n);
573  #endif
574  }
576  static void fix_in (double * d, int n) {
577  #ifdef NON_IEEE
578  // need to re-interpret from IEEE to native format
579  #endif
580 
581  #ifdef STREAM_BIGENDIAN
582  while (n--) {
583  flip (d++);
584  }
585  #else
586  UNREFERENCED(d);
587  UNREFERENCED(n);
588  #endif
589  }
591  static void fix_out (float * f, int n) {
592  #ifdef NON_IEEE
593  // need to re-interpret from native format to IEEE
594  #endif
595 
596  #ifdef STREAM_BIGENDIAN
597  int * i = (int*) f;
598  while (n--) {
599  *i = flip (*i);
600  i++;
601  }
602  #else
603  UNREFERENCED(f);
604  UNREFERENCED(n);
605  #endif
606  }
608  static void fix_out (double * d, int n) {
609  #ifdef NON_IEEE
610  // need to re-interpret from native format to IEEE
611  #endif
612 
613  #ifdef STREAM_BIGENDIAN
614  while (n--) {
615  flip (d++);
616  }
617  #else
618  UNREFERENCED(d);
619  UNREFERENCED(n);
620  #endif
621  }
622 
624  void log_opcode (BStreamFileToolkit & tk, unsigned int sequence, unsigned char opcode);
625 
626 
627  /* common conversions
628  these two are for converting between floats [0.0,1.0] and unsigned chars [0,255]
629  */
631  void floats_to_bytes (float const * in, unsigned char * out, int count) const {
632  while (count-- > 0)
633  *out++ = char (*in++ * 255.999f);
634  }
636  void bytes_to_floats (unsigned char const * in, float * out, int count) const {
637  while (count-- > 0)
638  *out++ = float (*in++) * (1.0f/255.0f);
639  }
640 
641  // access to toolkit utility functions
643  void add_segment (BStreamFileToolkit & tk, ID_Key key) { tk.add_segment (key); }
645  ID_Key remove_segment (BStreamFileToolkit & tk) { return tk.remove_segment(); }
647  void set_last_key (BStreamFileToolkit & tk, ID_Key key) { tk.set_last_key (key); }
650  if (tk.m_last_keys_used == 1)
651  return tk.m_last_keys[0];
652  else
653  return -1;
654  }
656  void adjust_written (BStreamFileToolkit & tk, int count) { tk.adjust_written (count); }
658  void increase_nesting (BStreamFileToolkit & tk, int amount=1) { tk.increase_nesting (amount); }
660  void decrease_nesting (BStreamFileToolkit & tk, int amount=1) { tk.decrease_nesting (amount); }
661 
665  void Revisit (BStreamFileToolkit & tk, float priority=0.0f, int variant=0) const { tk.revisit (Opcode(), priority, variant); }
666 
670  BBaseOpcodeHandler * Opcode_Handler (BStreamFileToolkit & tk, unsigned char op) const
671  { return tk.opcode_handler (op); }
672 
674  void Record_Instance (BStreamFileToolkit & tk, ID_Key key, int variant,
675  int val1, int val2, int val3) const {
676  tk.record_instance (key, variant, this, val1, val2, val3);
677  }
679  bool Find_Instance (BStreamFileToolkit & tk, int val1, int val2, int val3) {
680  return tk.find_instance (this, val1, val2, val3);
681  }
682 
684  void Remember_Item (BStreamFileToolkit & tk, ID_Key key) const { tk.remember_item(key); }
686  bool Find_Item (BStreamFileToolkit & tk, ID_Key key) const { return tk.find_item(key); }
687 
689  bool validate_count (int count, int limit = 1<<24) const { return 0 <= count && count <= limit; }
690 
694  static float read_float (char const *cp, char const ** newcpp = 0);
696  static float read_float (char const *cp, char ** newcpp)
697  { return read_float (cp, (char const **)newcpp); }
699  static char * write_float (char * buffer, double f);
700 
701 
702 
704  TK_Status SkipNewlineAndTabs(BStreamFileToolkit & tk, unsigned int* readSize=0);
706  TK_Status ReadAsciiLine(BStreamFileToolkit & tk, unsigned int* readSize=0);
708  TK_Status ReadAsciiWord(BStreamFileToolkit & tk, unsigned int* readSize=0);
710  TK_Status ReadEndOpcode(BStreamFileToolkit & tk);
712  bool RemoveAngularBrackets(char* string);
714  bool RemoveQuotes(char* string);
716  TK_Status Read_Referenced_Segment(BStreamFileToolkit & tk, int &i_progress);
717 
718  //TK_Status GetAsciiData(BStreamFileToolkit & tk, float * rFloats, unsigned int n);
719 
721  TK_Status GetAsciiData(BStreamFileToolkit & tk, int * rInts, unsigned int n);
722  //TK_Status GetAsciiData(BStreamFileToolkit & tk, short * rShorts, unsigned int n);
723 
725  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char& value);
727  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char& value);
729  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short& value);
731  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short& value);
733  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int& value);
735  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float& value);
737  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, float * rFloats, unsigned int n);
739  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, char * m_string, unsigned int n);
741  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned char * m_string, unsigned int n);
743  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, int * rInts, unsigned int n);
745  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, short * rShorts, unsigned int n);
747  TK_Status GetAsciiData(BStreamFileToolkit & tk, const char * tag, unsigned short * rShorts, unsigned int n);
749  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned char &value);
751  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, int &value);
753  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, char &value);
755  TK_Status GetAsciiHex(BStreamFileToolkit & tk, const char * tag, unsigned short &value);
757  TK_Status GetAsciiImageData(BStreamFileToolkit & tk, const char * tag, unsigned char * rValues, unsigned int n);
758 
760  TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1, bool is_end = false, bool want_newline = true);
761  // TK_Status PutAsciiOpcode (BStreamFileToolkit & tk, int adjust = 1);
762 
764  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const * b, int n);
766  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const * s, int n);
768  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const * i, int n);
770  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const * f, int n);
772  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const * b, int n);
774  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const * s, int n);
776  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const * i, int n);
778  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, char const & c);
780  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, short const & s);
782  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, int const & i);
784  TK_Status PutAsciiFlag (BStreamFileToolkit & tk, char const *tag, int const & i);
786  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned char const & b);
788  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned short const & s);
790  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, unsigned int const & i);
792  TK_Status PutAsciiData (BStreamFileToolkit & tk, char const *tag, float const & f);
794  TK_Status PutAsciiMask (BStreamFileToolkit & tk,char const *tag, int const & i);
796  TK_Status PutAsciiHex (BStreamFileToolkit & tk, char const *tag, int const & i);
798  TK_Status PutStartXMLTag (BStreamFileToolkit & tk, char const *tag);
800  TK_Status PutEndXMLTag (BStreamFileToolkit & tk, char const *tag);
801 };
802 
804 #define IMPLEMENT_CLONE(class_name) \
805  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
806  *newhandler = BSTREAM_NEW(class_name); \
807  if (*newhandler != nullptr) \
808  return TK_Normal; \
809  else \
810  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
811  } //
812 #define IMPLEMENT_CLONE_OPCODE(class_name) \
814  TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const { \
815  *newhandler = BSTREAM_NEW(class_name)(Opcode()); \
816  if (*newhandler != nullptr) \
817  return TK_Normal; \
818  else \
819  return tk.Error ("memory allocation in" #class_name "::clone failed"); \
820 } //
821 
823 
829 class BBINFILETK_API TK_Default : public BBaseOpcodeHandler {
830 
831  protected:
832  char * m_opcode_buffer;
833  int m_buffer_count;
834 
835  public:
837  TK_Default () : BBaseOpcodeHandler (TKE_Pseudo_Handler) {m_opcode_buffer = 0, m_buffer_count = 0;}
838 
840 
842 
843 
844  TK_Status ReadAscii (BStreamFileToolkit & tk);
845  TK_Status WriteAscii (BStreamFileToolkit & tk);
846 
847 };
848 
854 class BBINFILETK_API TK_Unavailable : public BBaseOpcodeHandler {
855  public:
857  TK_Unavailable (char opcode) : BBaseOpcodeHandler (opcode) {}
858 
861 };
862 
865 
871 class BBINFILETK_API TK_Header : public BBaseOpcodeHandler {
872  protected:
875 
876  public:
878  TK_Header () : BBaseOpcodeHandler (TKE_Pseudo_Handler), m_current_object (0) {}
879  ~TK_Header();
880 
883 
884 
885  TK_Status ReadAscii (BStreamFileToolkit & tk);
886  TK_Status WriteAscii (BStreamFileToolkit & tk);
887 
888 
889  void Reset ();
890 };
891 
892 
894 
900 class BBINFILETK_API TK_File_Info : public BBaseOpcodeHandler {
901  protected:
903  int m_flags;
904 
905  public:
907  TK_File_Info () : BBaseOpcodeHandler (TKE_File_Info), m_flags (0) {}
908 
909 
913  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
914  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
915  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
916 
917 
918  TK_Status ReadAscii (BStreamFileToolkit & tk);
919  TK_Status WriteAscii (BStreamFileToolkit & tk);
920 
921 
923  void SetFlags (int f) { m_flags = f; }
925  int GetFlags () { return m_flags; }
926 };
927 
928 
930 
938 class BBINFILETK_API TK_Comment : public BBaseOpcodeHandler {
939  protected:
941  int m_length;
945  char * m_comment;
946 
948  void set_comment (char const * comment);
950  void set_comment (int length);
951 
952  public:
954  TK_Comment (char const * comment = 0);
955  ~TK_Comment();
956 
960 
961  TK_Status ReadAscii (BStreamFileToolkit & tk);
962  TK_Status WriteAscii (BStreamFileToolkit & tk);
963  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
966  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant) {
967  (void)tk; (void)key; (void)variant;
968  return TK_Normal;
969  }
970  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
971  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
972  void Reset ();
973 
978  void SetComment (char const * comment) { set_comment (comment); }
983  void SetComment (int length) { set_comment (length); }
987  char const * GetComment () const { return m_comment; }
992  char * GetComment () { return m_comment; }
993 };
994 
995 
997 
1005 class BBINFILETK_API TK_Terminator : public BBaseOpcodeHandler {
1006  public:
1008  TK_Terminator (char opcode, bool is_file_terminator = true) : BBaseOpcodeHandler (opcode),
1009  m_terminate_file(is_file_terminator) {}
1010 
1014 
1015 
1016  TK_Status ReadAscii (BStreamFileToolkit & tk);
1017  TK_Status WriteAscii (BStreamFileToolkit & tk);
1018 
1019  protected:
1021  // meant to terminate the file or something else (viz. LOD collection)
1023 };
1024 
1025 
1027 
1034 class BBINFILETK_API TK_Compression : public BBaseOpcodeHandler {
1035  public:
1037  TK_Compression (char opcode) : BBaseOpcodeHandler (opcode) {}
1038 
1041 
1042  TK_Status ReadAscii (BStreamFileToolkit & tk);
1043  TK_Status WriteAscii (BStreamFileToolkit & tk);
1045  TK_Status ExecuteAscii (BStreamFileToolkit & tk);
1046  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
1047  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1048  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1049 };
1050 
1052 
1053 
1054 // this should be based off a "data handling" interface class broken out from BBaseOpcodeHandler
1055 class BBINFILETK_API Lock_Masks : public BBaseOpcodeHandler {
1056  public:
1057  int mask;
1058  int value;
1099 
1100 
1101  Lock_Masks () : BBaseOpcodeHandler (0) {}
1103  TK_Status Write (BStreamFileToolkit &) { return TK_Error; } //-V524
1104 
1105  TK_Status Read (BStreamFileToolkit & tk, bool mask_only);
1106  TK_Status Write (BStreamFileToolkit & tk, bool mask_only);
1107 
1108  void init() {
1109  mask = value = 0;
1110  color_mask = color_value = 0;
1111  color_face_mask = color_face_value =
1112  color_edge_mask = color_edge_value =
1113  color_line_mask = color_line_value =
1114  color_marker_mask = color_marker_value =
1115  color_text_mask = color_text_value =
1116  color_window_mask = color_window_value =
1117  color_face_contrast_mask = color_face_contrast_value =
1118  color_window_contrast_mask = color_window_contrast_value =
1119  color_back_mask = color_back_value =
1120  color_vertex_mask = color_vertex_value =
1121  color_edge_contrast_mask = color_edge_contrast_value =
1122  color_line_contrast_mask = color_line_contrast_value =
1123  color_marker_contrast_mask = color_marker_contrast_value =
1124  color_vertex_contrast_mask = color_vertex_contrast_value =
1125  color_text_contrast_mask = color_text_contrast_value = 0;
1126  color_simple_reflection_mask = color_simple_reflection_value = 0;
1127  color_cut_face_mask = color_cut_face_value = 0;
1128  color_cut_edge_mask = color_cut_edge_value = 0;
1129  visibility_mask = visibility_value = 0;
1130  }
1131 
1132  void set_color() {
1133  color_mask = color_value = TKO_Geo_All_Colors;
1134  color_face_mask = color_face_value =
1135  color_edge_mask = color_edge_value =
1136  color_line_mask = color_line_value =
1137  color_marker_mask = color_marker_value =
1138  color_text_mask = color_text_value =
1139  color_window_mask = color_window_value =
1140  color_face_contrast_mask = color_face_contrast_value =
1141  color_window_contrast_mask = color_window_contrast_value =
1142  color_back_mask = color_back_value =
1143  color_vertex_mask = color_vertex_value =
1144  color_edge_contrast_mask = color_edge_contrast_value =
1145  color_line_contrast_mask = color_line_contrast_value =
1146  color_marker_contrast_mask = color_marker_contrast_value =
1147  color_vertex_contrast_mask = color_vertex_contrast_value =
1148  color_text_contrast_mask = color_text_contrast_value =
1149  color_simple_reflection_mask = color_simple_reflection_value =
1150  color_cut_face_mask = color_cut_face_value =
1151  color_cut_edge_mask = color_cut_edge_value =
1153  }
1154 };
1155 
1157 
1159 
1169 class BBINFILETK_API TK_Open_Segment : public BBaseOpcodeHandler {
1170  protected:
1171  int m_length;
1173  char * m_string;
1175  void set_segment (char const * segment);
1178  void set_segment (int length);
1179 
1180  public:
1182  TK_Open_Segment () : BBaseOpcodeHandler (TKE_Open_Segment), m_length (0), m_allocated (0), m_string (0) {}
1183  ~TK_Open_Segment();
1184 
1187  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1188 
1189  TK_Status ReadAscii (BStreamFileToolkit & tk);
1190  TK_Status WriteAscii (BStreamFileToolkit & tk);
1191  void Reset ();
1192 
1197  void SetSegment (char const * segment) { set_segment (segment); }
1198 
1203  void SetSegment (int length) { set_segment (length); }
1204 
1208  char const * GetSegment () const { return m_string; }
1213  char * GetSegment () { return m_string; }
1214 
1215 };
1216 
1217 
1219 
1228 class BBINFILETK_API TK_Close_Segment : public BBaseOpcodeHandler {
1229  public:
1231  TK_Close_Segment () : BBaseOpcodeHandler (TKE_Close_Segment) {}
1232 
1235  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1236 
1237  TK_Status ReadAscii (BStreamFileToolkit & tk);
1238  TK_Status WriteAscii (BStreamFileToolkit & tk);
1239 };
1240 
1241 
1242 
1244 
1256 class BBINFILETK_API TK_Reopen_Segment : public BBaseOpcodeHandler {
1257  protected:
1258  int m_index;
1260  public:
1262  TK_Reopen_Segment () : BBaseOpcodeHandler (TKE_Reopen_Segment), m_index (-1) {}
1263 
1266  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1267 
1268  TK_Status ReadAscii (BStreamFileToolkit & tk);
1269  TK_Status WriteAscii (BStreamFileToolkit & tk);
1270 
1272  void SetIndex (int i) { m_index = i; }
1274  int GetIndex () const { return m_index; }
1275 };
1276 
1277 
1279 
1287 class BBINFILETK_API TK_Referenced_Segment : public BBaseOpcodeHandler {
1288  protected:
1289  int m_length;
1291  char * m_string;
1294  char * m_condition;
1298  unsigned char m_renumbered_scope;
1300  bool m_follow;
1302 
1303  bool m_referee_has_priority;
1304  int m_referee_priority;
1305 
1306  void set_segment (char const * segment);
1307  void set_segment (int length);
1308 
1309  public:
1311  TK_Referenced_Segment (unsigned char opcode);
1313 
1316  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1317 
1318  TK_Status ReadAscii (BStreamFileToolkit & tk);
1319  TK_Status WriteAscii (BStreamFileToolkit & tk);
1320  void Reset ();
1321 
1326  void SetSegment (char const * segment) { set_segment (segment); }
1331  void SetSegment (int length) { set_segment (length); }
1335  char const * GetSegment () const { return m_string; }
1340  char * GetSegment () { return m_string; }
1341 
1342 
1347  void SetCondition (char const * condition);
1352  void SetCondition (int length);
1356  char const * GetCondition () const { return m_condition; }
1361  char * GetCondition () { return m_condition; }
1362 
1363 
1365  void SetFollow (bool f) { m_follow = f; }
1367  bool GetFollow () { return m_follow; }
1368 
1369 };
1370 
1371 
1373 
1381 class BBINFILETK_API TK_Reference : public BBaseOpcodeHandler {
1382  protected:
1383  int m_index;
1386  char * m_condition;
1391  bool m_follow;
1392 
1393  public:
1395  TK_Reference ();
1396  ~TK_Reference();
1397 
1400  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1401 
1402  TK_Status ReadAscii (BStreamFileToolkit & tk);
1403  TK_Status WriteAscii (BStreamFileToolkit & tk);
1404  void Reset ();
1405 
1407  void SetIndex (int index) { m_index = index; }
1409  ID_Key GetIndex () { return m_index; }
1410 
1415  void SetCondition (char const * condition);
1420  void SetCondition (int length);
1424  char const * GetCondition () const { return m_condition; }
1429  char * GetCondition () { return m_condition; }
1430 
1431 
1433  void SetFollow (bool f) { m_follow = f; }
1435  bool GetFollow () { return m_follow; }
1436 };
1437 
1439 
1441 
1449 class BBINFILETK_API TK_Instance : public BBaseOpcodeHandler {
1450  protected:
1456  float m_matrix[16];
1457 
1458  public:
1460  TK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0,
1461  int options=0, float const xform[]=0);
1462 
1465  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1466 
1467  TK_Status ReadAscii (BStreamFileToolkit & tk);
1468  TK_Status WriteAscii (BStreamFileToolkit & tk);
1469 
1470  void Reset ();
1471 };
1472 
1474 
1477 class BBINFILETK_API TK_Delete_Object : public BBaseOpcodeHandler {
1478  protected:
1479  int m_index;
1480 
1481  public:
1484 
1487  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1488 
1489  TK_Status ReadAscii (BStreamFileToolkit & tk);
1490  TK_Status WriteAscii (BStreamFileToolkit & tk);
1491 
1493  void SetIndex (int i) { m_index = i; }
1495  int GetIndex () { return m_index; }
1496 };
1497 
1498 
1500 
1501 
1503 
1506 class BBINFILETK_API TK_LOD : public BBaseOpcodeHandler {
1507  protected:
1513  struct vlist_s *m_current_working;
1515 
1516  TK_Status ReadOneList (BStreamFileToolkit & tk);
1517 
1518  public:
1520  TK_LOD () : BBaseOpcodeHandler (TKE_LOD) {
1521  m_num_primitives = 0;
1522  m_primitives = 0;
1523  m_highest_level = 0;
1524  m_levels_allocated = 0;
1525  m_substage = 0;
1526  m_current_working = 0;
1527  m_current_level = 0;
1528  }
1529  ~TK_LOD();
1530 
1533  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1534 
1535  TK_Status ReadAscii (BStreamFileToolkit & tk);
1536  TK_Status WriteAscii (BStreamFileToolkit & tk);
1537 
1538  void Reset ();
1539 };
1541 #define TKLOD_ESCAPE 255
1542 
1543 
1545 
1547 
1552 class BBINFILETK_API TK_Geometry_Attributes : public BBaseOpcodeHandler {
1553  protected:
1554 
1555  public:
1557  TK_Geometry_Attributes () : BBaseOpcodeHandler (TKE_Geometry_Attributes) {}
1558 
1561 
1562  TK_Status ReadAscii (BStreamFileToolkit & tk);
1563  TK_Status WriteAscii (BStreamFileToolkit & tk);
1565 };
1566 
1568 
1578 class BBINFILETK_API TK_Renumber : public BBaseOpcodeHandler {
1579  protected:
1581 
1582  public:
1586  TK_Renumber (unsigned char opcode, ID_Key key = 0) : BBaseOpcodeHandler (opcode), m_key (key) {}
1587 
1590  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1591 
1592  TK_Status ReadAscii (BStreamFileToolkit & tk);
1593  TK_Status WriteAscii (BStreamFileToolkit & tk);
1594 
1595  void SetKey (ID_Key k) { m_key = k; }
1597  ID_Key GetKey () const { return m_key; }
1598 };
1599 
1600 
1602 
1607 class BBINFILETK_API TK_Tag : public BBaseOpcodeHandler {
1608  protected:
1609 
1610  public:
1612  TK_Tag (unsigned char opcode = TKE_Tag) : BBaseOpcodeHandler (opcode) {}
1613 
1616 
1617  TK_Status ReadAscii (BStreamFileToolkit & tk);
1618  TK_Status WriteAscii (BStreamFileToolkit & tk);
1619 
1621  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1622  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1623  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1624 };
1625 
1627 
1634 // Note: unlike most opcode handlers, this one does not contain its own data, it is primarily a
1635 // wrapper around the key <-> index translation table in the toolkit.
1636 class BBINFILETK_API TK_Dictionary : public BBaseOpcodeHandler {
1637  protected:
1638  unsigned char m_format;
1640  unsigned char m_present;
1642 
1643  Internal_Translator::Index_Key_Pair * m_item;
1644 
1645  public:
1647  TK_Dictionary () : BBaseOpcodeHandler (TKE_Dictionary), m_format (0) {}
1648 
1651 
1652  TK_Status ReadAscii (BStreamFileToolkit & tk);
1653  TK_Status WriteAscii (BStreamFileToolkit & tk);
1654 
1656  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1657  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1658  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1659  void Reset ();
1660 };
1661 
1662 
1664 
1671 class BBINFILETK_API TK_Dictionary_Locater : public BBaseOpcodeHandler {
1672  protected:
1673  int m_size;
1674  int m_offset;
1675 
1676  public:
1678  TK_Dictionary_Locater () : BBaseOpcodeHandler (TKE_Dictionary_Locater), m_offset (0) {}
1679 
1682 
1683  TK_Status ReadAscii (BStreamFileToolkit & tk);
1684  TK_Status WriteAscii (BStreamFileToolkit & tk);
1685 
1687  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant=0);
1688  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
1689  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
1690  void Reset ();
1691 
1693  void SetSize (int size) { m_size = size; }
1695  int GetSize () const { return m_size; }
1697  void SetOffset (int offset) { m_offset = offset; }
1699  int GetOffset () const { return m_offset; }
1700 };
1701 
1702 
1704 
1705 
1707 
1712 class BBINFILETK_API TK_Color : public BBaseOpcodeHandler {
1713  protected:
1714  int m_mask;
1715  short m_channels;
1716 
1720  class BBINFILETK_API channel {
1721  public:
1722  float m_rgb[3];
1723  char * m_name;
1724 
1725  channel() : m_name (0) {}
1726  ~channel() { Reset(); }
1727  void Reset () {
1728  if (m_name)
1729  BSTREAM_FREE_ARRAY(m_name, (int)(strlen(m_name) + 1), char);
1730  m_name = 0;
1731  }
1732  };
1733 
1741  float m_gloss;
1742  float m_index;
1744 
1746  void set_channel_rgb (channel & c, float r, float g, float b, int which_channel = -1) {
1747  c.m_rgb[0] = r; c.m_rgb[1] = g; c.m_rgb[2] = b;
1748  if (which_channel != -1) {
1749  m_channels |= (1 << which_channel);
1750  if (which_channel > TKO_Channel_Extended)
1751  m_channels |= (1 << TKO_Channel_Extended);
1752  }
1753  }
1755  void set_channel_name (channel & c, char const * name, int which_channel = -1);
1757  void set_channel_name (channel & c, int length, int which_channel = -1);
1758 
1759  public:
1760  TK_Color ();
1761  ~TK_Color ();
1762 
1763  TK_Status Read (BStreamFileToolkit & tk);
1764  TK_Status Write (BStreamFileToolkit & tk);
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 
1773  void SetGeometry (int m) {
1774  m_mask = m & TKO_Geo_All_Colors;
1775  if ((m & TKO_Geo_Extended_Mask) != 0) {
1776  m_mask |= TKO_Geo_Extended;
1777  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1778  m_mask |= TKO_Geo_Extended_Colors;
1779  if ((m & TKO_Geo_Extended2_Mask) != 0)
1780  m_mask |= TKO_Geo_Extended2;
1781  }
1782  }
1783  }
1785  int GetGeometry () const { return m_mask; }
1787  void SetChannels (int c) {
1788  m_channels = (short)c;
1789  if ((c & (((unsigned int)~0) << (TKO_Channel_Extended_Shift))) != 0)
1790  m_channels |= (1 << TKO_Channel_Extended);
1791  }
1793  int GetChannels () const { return (int)m_channels; }
1794 
1796  void SetDiffuse (float r, float g, float b) { set_channel_rgb (m_diffuse, r, g, b, TKO_Channel_Diffuse); }
1798  void SetDiffuse (float const rgb[]) { SetDiffuse (rgb[0], rgb[1], rgb[2]); }
1800  void SetDiffuseName (char const * name) { set_channel_name (m_diffuse, name, TKO_Channel_Diffuse); }
1802  void SetDiffuseName (int length) { set_channel_name (m_diffuse, length, TKO_Channel_Diffuse); }
1804  float const * GetDiffuse () const { return m_diffuse.m_rgb; }
1806  char const * GetDiffuseName () const { return m_diffuse.m_name; }
1808  char * GetDiffuseName () { return m_diffuse.m_name; }
1809 
1811  void SetSpecular (float r, float g, float b) { set_channel_rgb (m_specular, r, g, b, TKO_Channel_Specular);}
1813  void SetSpecular (float const rgb[]) { SetSpecular (rgb[0], rgb[1], rgb[2]); }
1815  void SetSpecularName (char const * name) { set_channel_name (m_specular, name, TKO_Channel_Specular); }
1817  void SetSpecularName (int length) { set_channel_name (m_specular, length, TKO_Channel_Specular);}
1819  float const * GetSpecular () const { return m_specular.m_rgb; }
1821  char const * GetSpecularName () const { return m_specular.m_name; }
1823  char * GetSpecularName () { return m_specular.m_name; }
1824 
1826  void SetMirror (float r, float g, float b) { set_channel_rgb (m_mirror, r, g, b, TKO_Channel_Mirror); }
1828  void SetMirror (float const rgb[]) { SetMirror (rgb[0], rgb[1], rgb[2]); }
1830  void SetMirrorName (char const * name) { set_channel_name (m_mirror, name, TKO_Channel_Mirror); }
1832  void SetMirrorName (int length) { set_channel_name (m_mirror, length, TKO_Channel_Mirror); }
1834  float const * GetMirror () const { return m_mirror.m_rgb; }
1836  char const * GetMirrorName () const { return m_mirror.m_name; }
1838  char * GetMirrorName () { return m_mirror.m_name; }
1839 
1841  void SetTransmission (float r, float g, float b) { set_channel_rgb (m_transmission, r, g, b, TKO_Channel_Transmission); }
1843  void SetTransmission (float const rgb[]) { SetTransmission (rgb[0], rgb[1], rgb[2]); }
1845  void SetTransmissionName (char const * name) { set_channel_name (m_transmission, name, TKO_Channel_Transmission); }
1847  void SetTransmissionName (int length) { set_channel_name (m_transmission, length, TKO_Channel_Transmission); }
1849  float const * GetTransmission () const { return m_transmission.m_rgb; }
1851  char const * GetTransmissionName () const { return m_transmission.m_name; }
1853  char * GetTransmissionName () { return m_transmission.m_name; }
1854 
1856  void SetEmission (float r, float g, float b) { set_channel_rgb (m_emission, r, g, b, TKO_Channel_Emission);}
1858  void SetEmission (float const rgb[]) { SetEmission (rgb[0], rgb[1], rgb[2]); }
1860  void SetEmissionName (char const * name) { set_channel_name (m_emission, name, TKO_Channel_Emission); }
1862  void SetEmissionName (int length) { set_channel_name (m_emission, length, TKO_Channel_Emission);}
1864  float const * GetEmission () const { return m_emission.m_rgb; }
1866  char const * GetEmissionName () const { return m_emission.m_name; }
1868  char * GetEmissionName () { return m_emission.m_name; }
1869 
1871  void SetEnvironmentName (char const * name) { set_channel_name (m_environment, name, TKO_Channel_Environment); }
1873  void SetEnvironmentName (int length) { set_channel_name (m_environment, length, TKO_Channel_Environment); }
1875  char const * GetEnvironmentName () const { return m_environment.m_name; }
1877  char * GetEnvironmentName () { return m_environment.m_name; }
1878 
1880  void SetBumpName (char const * name) { set_channel_name (m_bump, name, TKO_Channel_Bump); }
1882  void SetBumpName (int length) { set_channel_name (m_bump, length, TKO_Channel_Bump); }
1884  char const * GetBumpName () const { return m_bump.m_name; }
1886  char * GetBumpName () { return m_bump.m_name; }
1887 
1889  void SetGloss (float g) { m_gloss = g; m_channels |= (1<<TKO_Channel_Gloss); }
1891  float GetGloss () const { return m_gloss; }
1893  void SetIndex (float i) { m_index = i; m_channels |= (1<<TKO_Channel_Index); }
1895  float GetIndex () const { return m_index; }
1896 };
1897 
1898 
1900 
1905 class BBINFILETK_API TK_Color_RGB : public BBaseOpcodeHandler {
1906  protected:
1907  int m_mask;
1908  float m_rgb[3];
1909 
1910  public:
1912  TK_Color_RGB () : BBaseOpcodeHandler (TKE_Color_RGB), m_mask (0) {}
1913 
1916  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1917 
1918  TK_Status ReadAscii (BStreamFileToolkit & tk);
1919  TK_Status WriteAscii (BStreamFileToolkit & tk);
1920 
1925  void SetGeometry (int m) {
1926  m_mask = m & TKO_Geo_All_Colors;
1927  if ((m & TKO_Geo_Extended_Mask) != 0) {
1928  m_mask |= TKO_Geo_Extended;
1929  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1930  m_mask |= TKO_Geo_Extended_Colors;
1931  if ((m & TKO_Geo_Extended2_Mask) != 0)
1932  m_mask |= TKO_Geo_Extended2;
1933  }
1934  }
1935  }
1940  int GetGeometry () const { return m_mask; }
1941 
1943  void SetRGB (float r, float g, float b) { m_rgb[0] = r; m_rgb[1] = g; m_rgb[2] = b; }
1945  void SetRGB (float const rgb[]) { SetRGB (rgb[0], rgb[1], rgb[2]); }
1947  float const * GetRGB () const { return m_rgb; }
1948 };
1949 
1950 
1952 
1957 class BBINFILETK_API TK_Color_By_Value : public BBaseOpcodeHandler {
1958  protected:
1959  int m_mask;
1960  float m_value[3];
1961  char m_space;
1962 
1963  public:
1965  TK_Color_By_Value () : BBaseOpcodeHandler (TKE_Color_By_Value), m_mask (0) {}
1966 
1969  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
1970 
1971  TK_Status ReadAscii (BStreamFileToolkit & tk);
1972  TK_Status WriteAscii (BStreamFileToolkit & tk);
1973 
1978  void SetGeometry (int m) {
1979  m_mask = m & TKO_Geo_All_Colors;
1980  if ((m & TKO_Geo_Extended_Mask) != 0) {
1981  m_mask |= TKO_Geo_Extended;
1982  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
1983  m_mask |= TKO_Geo_Extended_Colors;
1984  if ((m & TKO_Geo_Extended2_Mask) != 0)
1985  m_mask |= TKO_Geo_Extended2;
1986  }
1987  }
1988  }
1993  int GetGeometry () const { return m_mask; }
1994 
1996  void SetSpace (int s) { m_space = (char)s; }
1998  int GetSpace () const { return (int)m_space; }
1999 
2001  void SetValue (float a, float b, float c) {
2002  m_value[0] = a; m_value[1] = b; m_value[2] = c;
2003  }
2005  void SetValue (float const triple[]) { SetValue (triple[0], triple[1], triple[2]); }
2007  float const * GetValue () const { return m_value; }
2008 };
2009 
2010 
2012 
2018 class BBINFILETK_API TK_Color_By_Index : public BBaseOpcodeHandler {
2019  protected:
2020  int m_mask;
2021  int m_index;
2022 
2023  public:
2025  TK_Color_By_Index (unsigned char opcode) : BBaseOpcodeHandler (opcode), m_mask (0), m_index (-1) {}
2026 
2029  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2030 
2031  TK_Status ReadAscii (BStreamFileToolkit & tk);
2032  TK_Status WriteAscii (BStreamFileToolkit & tk);
2033 
2038  void SetGeometry (int m) {
2039  m_mask = m & TKO_Geo_All_Colors;
2040  if ((m & TKO_Geo_Extended_Mask) != 0) {
2041  m_mask |= TKO_Geo_Extended;
2042  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2043  m_mask |= TKO_Geo_Extended_Colors;
2044  if ((m & TKO_Geo_Extended2_Mask) != 0)
2045  m_mask |= TKO_Geo_Extended2;
2046  }
2047  }
2048  }
2053  int GetGeometry () const { return m_mask; }
2054 
2056  void SetIndex (int i) { m_index = i; }
2058  int GetIndex () const { return m_index; }
2059 };
2060 
2062 
2067 class BBINFILETK_API TK_Color_By_FIndex : public BBaseOpcodeHandler {
2068  protected:
2069  int m_mask;
2070  float m_index;
2071 
2072  public:
2074  TK_Color_By_FIndex () : BBaseOpcodeHandler (TKE_Color_By_FIndex), m_mask (0), m_index (-1.0f) {}
2075 
2078  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2079 
2080  TK_Status ReadAscii (BStreamFileToolkit & tk);
2081  TK_Status WriteAscii (BStreamFileToolkit & tk);
2082 
2087  void SetGeometry (int m) {
2088  m_mask = m & TKO_Geo_All_Colors;
2089  if ((m & TKO_Geo_Extended_Mask) != 0) {
2090  m_mask |= TKO_Geo_Extended;
2091  if ((m & TKO_Geo_Extended_Colors_Mask) != 0) {
2092  m_mask |= TKO_Geo_Extended_Colors;
2093  if ((m & TKO_Geo_Extended2_Mask) != 0)
2094  m_mask |= TKO_Geo_Extended2;
2095  }
2096  }
2097  }
2102  int GetGeometry () const { return m_mask; }
2103 
2105  void SetIndex (float val) { m_index = val; }
2107  float GetIndex () const { return m_index; }
2108 };
2109 
2110 
2113 
2118 class BBINFILETK_API TK_Color_Map : public BBaseOpcodeHandler {
2119  protected:
2120  int m_length;
2122  float * m_values;
2124  char * m_string;
2125  unsigned char m_format;
2126 
2128  void set_values (int length, float const values[] = 0);
2129 
2130  public:
2133  : 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) {}
2134  ~TK_Color_Map();
2135 
2138  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2139 
2140  TK_Status ReadAscii (BStreamFileToolkit & tk);
2141  TK_Status WriteAscii (BStreamFileToolkit & tk);
2142 
2143  void Reset ();
2144 
2146  void SetFormat (int f) { m_format = (unsigned char)f; }
2148  int GetFormat () const { return (int)m_format; }
2149 
2154  void SetValues (int count, float const values[] = 0) { set_values (count, values); }
2156  float const * GetValues () const { return m_values; }
2158  float * GetValues () { return m_values; }
2160  int GetLength () const { return m_length; }
2161 
2166  void SetString (char const * string);
2171  void SetString (int length);
2175  char const * GetString () const { return m_string; }
2180  char * GetString () { return m_string; }
2181 };
2182 
2184 
2186 
2191 class BBINFILETK_API TK_PBR : public BBaseOpcodeHandler {
2192  protected:
2193  int m_options;
2194  char * m_base_color_map;
2195  char * m_normal_map;
2196  char * m_emissive_map;
2197  char * m_metalness_map;
2198  char * m_roughness_map;
2199  char * m_occlusion_map;
2200  float m_base_color_factor[4];
2201  float m_normal_factor;
2202  float m_metalness_factor;
2203  float m_roughness_factor;
2204  float m_occlusion_factor;
2205  float m_alpha_factor;
2206  char m_metalness_map_channel;
2207  char m_roughness_map_channel;
2208  char m_occlusion_map_channel;
2209 
2210 
2211  void set_string (char * & s, int length);
2212  void set_string (char * & s, char const * name);
2213  void reset_string (char * & s) {
2214  if (s)
2215  BSTREAM_FREE_ARRAY(s, (int)(strlen(s) + 1), char);
2216  s = 0;
2217  }
2218 
2219 
2220  public:
2221  TK_PBR ();
2222  ~TK_PBR ();
2223 
2226  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2227 
2228  TK_Status ReadAscii (BStreamFileToolkit & tk);
2229  TK_Status WriteAscii (BStreamFileToolkit & tk);
2230 
2231  void Reset ();
2232 
2233 
2237  void SetOptions (int m) { m_options = m; }
2241  int GetOptions () const { return m_options; }
2242 
2243 
2244 
2246  void SetBaseColorMap (char const * name) { set_string (m_base_color_map, name); }
2248  void SetBaseColorMap (int length) { set_string (m_base_color_map, length); }
2250  char const * GetBaseColorMap () const { return m_base_color_map; }
2252  char * GetBaseColorMap () { return m_base_color_map; }
2253 
2255  void SetNormalMap (char const * name) { set_string (m_normal_map, name); }
2257  void SetNormalMap (int length) { set_string (m_normal_map, length); }
2259  char const * GetNormalMap () const { return m_normal_map; }
2261  char * GetNormalMap () { return m_normal_map; }
2262 
2264  void SetEmissiveMap (char const * name) { set_string (m_emissive_map, name); }
2266  void SetEmissiveMap (int length) { set_string (m_emissive_map, length); }
2268  char const * GetEmissiveMap () const { return m_emissive_map; }
2270  char * GetEmissiveMap () { return m_emissive_map; }
2271 
2273  void SetMetalnessMap (char const * name) { set_string (m_metalness_map, name); }
2275  void SetMetalnessMap (int length) { set_string (m_metalness_map, length); }
2277  char const * GetMetalnessMap () const { return m_metalness_map; }
2279  char * GetMetalnessMap () { return m_metalness_map; }
2280 
2282  void SetRoughnessMap (char const * name) { set_string (m_roughness_map, name); }
2284  void SetRoughnessMap (int length) { set_string (m_roughness_map, length); }
2286  char const * GetRoughnessMap () const { return m_roughness_map; }
2288  char * GetRoughnessMap () { return m_roughness_map; }
2289 
2291  void SetOcclusionMap (char const * name) { set_string (m_occlusion_map, name); }
2293  void SetOcclusionMap (int length) { set_string (m_occlusion_map, length); }
2295  char const * GetOcclusionMap () const { return m_occlusion_map; }
2297  char * GetOcclusionMap () { return m_occlusion_map; }
2298 
2299 
2301  void SetBaseColorFactor (float r, float g, float b, float a) {
2302  m_base_color_factor[0] = r;
2303  m_base_color_factor[1] = g;
2304  m_base_color_factor[2] = b;
2305  m_base_color_factor[3] = a;
2306 
2307  }
2309  void SetBaseColorFactor (float const rgba[])
2310  { SetBaseColorFactor (rgba[0], rgba[1], rgba[2], rgba[3]); }
2312  float const * GetBaseColorFactor () const { return m_base_color_factor; }
2313 
2315  void SetNormalFactor (float f) { m_normal_factor = f; }
2317  float GetNormalFactor () const { return m_normal_factor; }
2318 
2320  void SetMetalnessFactor (float f) { m_metalness_factor = f; }
2322  float GetMetalnessFactor () const { return m_metalness_factor; }
2323 
2325  void SetRoughnessFactor (float f) { m_roughness_factor = f; }
2327  float GetRoughnessFactor () const { return m_roughness_factor; }
2328 
2330  void SetOcclusionFactor (float f) { m_occlusion_factor = f; }
2332  float GetOcclusionFactor () const { return m_occlusion_factor; }
2333 
2335  void SetAlphaFactor (float f) { m_alpha_factor = f; }
2337  float GetAlphaFactor () const { return m_alpha_factor; }
2338 
2339 
2341  void SetMetalnessMapChannel (int c) { m_metalness_map_channel = (char)c; }
2343  int GetMetalnessMapChannel () const { return m_metalness_map_channel; }
2344 
2346  void SetRoughnessMapChannel (int c) { m_roughness_map_channel = (char)c; }
2348  int GetRoughnessMapChannel () const { return m_roughness_map_channel; }
2349 
2351  void SetOcclusionMapChannel (int c) { m_occlusion_map_channel = (char)c; }
2353  int GetOcclusionMapChannel () const { return m_occlusion_map_channel; }
2354 };
2355 
2356 
2358 
2361 
2367 class BBINFILETK_API TK_Callback : public BBaseOpcodeHandler {
2368  protected:
2369  int m_length;
2370  char * m_string;
2373  void set_callback (char const * callback);
2374 
2375  void set_callback (int length);
2376 
2377  public:
2379  TK_Callback () : BBaseOpcodeHandler (TKE_Callback), m_length (0), m_string (0) {}
2380  ~TK_Callback();
2381 
2384  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2385 
2386  TK_Status ReadAscii (BStreamFileToolkit & tk);
2387  TK_Status WriteAscii (BStreamFileToolkit & tk);
2388 
2389  void Reset ();
2390 
2392  void SetCallback (char const * callback) { set_callback (callback); }
2394  void SetCallback (int length) { set_callback (length); }
2396  char const * GetCallback () const { return m_string; }
2398  char * GetCallback () { return m_string; }
2399 };
2400 
2402 
2403 
2404 #if 0
2405 class BBINFILETK_API TK_Radiosity_RayTrace_Options : public BBaseOpcodeHandler {
2406  protected:
2407 
2408  public:
2409  TK_Radiosity_RayTrace_Options () : BBaseOpcodeHandler (TKE_Radiosity_RayTrace_Options) {}
2410  ~TK_Radiosity_RayTrace_Options () {}
2411 
2414 
2415  TK_Status ReadAscii (BStreamFileToolkit & tk);
2416  TK_Status WriteAscii (BStreamFileToolkit & tk);
2417 };
2418 #endif
2419 
2420 
2422 
2428 class BBINFILETK_API TK_Rendering_Options : public BBaseOpcodeHandler {
2429  protected:
2430  int m_mask[3];
2431  int m_value[3];
2432 
2433  unsigned char m_hsr;
2434  unsigned char m_tq;
2435  int m_debug;
2438 
2439  float m_fog_limits[2];
2440 
2443 
2444  unsigned char m_buffer_options_mask;
2445  unsigned char m_buffer_options_value;
2447 
2453  float m_hlr_color[3];
2455  unsigned char m_hlr_weight_units;
2457  unsigned char m_hlr_threshold_units;
2458  unsigned char m_hlr_hsr_algorithm;
2459 
2460  unsigned short m_contour_options;
2461  unsigned short m_isoline_options;
2474  unsigned char * m_isoline_weights_unit;
2475 
2476  unsigned short m_tint_options;
2477  float m_tint_color[3];
2478  float m_tint_range[2];
2480 
2485  float m_ratio[8];
2487  float m_threshold[8];
2490  unsigned char m_clamp;
2491  unsigned char m_num_levels;
2493  float m_tolerance;
2494  float m_bounding[6];
2496  float m_cutoff[8];
2497  unsigned char m_heuristic;
2498  unsigned char m_fallback;
2499 
2513 
2516 
2517  unsigned char m_tessellations;
2519  char m_cylinder[8];
2521  char m_sphere[8];
2522 
2523  float m_gooch_color_range[2];
2527  unsigned short m_transparency_options;
2528 
2529  unsigned char m_cut_geometry;
2530  unsigned char m_cut_geometry_level;
2531  unsigned char m_cut_geometry_match;
2532  unsigned char m_cut_geometry_usage;
2538 
2539  unsigned short m_simple_shadow;
2540  unsigned char m_simple_shadow_blur;
2542  float m_simple_shadow_plane[4];
2543  float m_simple_shadow_light[3];
2544  float m_simple_shadow_color[3];
2545  float m_simple_shadow_opacity;
2546 
2547  unsigned short m_shadow_map;
2548  unsigned short m_shadow_map_resolution;
2549  unsigned char m_shadow_map_samples;
2550 
2551  unsigned short m_simple_reflection;
2552  float m_simple_reflection_plane[4];
2559 
2560  float m_depth_range[2];
2561  float m_screen_range[8];
2562  float m_ambient_up_vector[3];
2563  float m_image_scale[2];
2564  unsigned short m_mask_transform;
2565 
2566  unsigned char m_geometry_options;
2567  float m_dihedral;
2568 
2569  float m_image_tint_color[3];
2570  float m_texture_tint_color[3];
2571  unsigned char m_depth_peeling_layers;
2574 
2579  unsigned char m_display_list_level;
2580  unsigned char m_antialias;
2581 
2582  short m_fbe_mask;
2583  short m_fbe_value;
2584 
2585  float m_eye_dome_lighting_back_color[3];
2586 
2589 
2591 
2592  int m_extra;
2593 
2594 #if 0
2595  TK_Radiosity_RayTrace_Options *m_rrt;
2596 #endif
2597 
2598  public:
2602 
2605  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2606 
2607  TK_Status ReadAscii (BStreamFileToolkit & tk);
2608  TK_Status WriteAscii (BStreamFileToolkit & tk);
2609 
2610  void Reset ();
2611 
2613  void SetMask (int m0, int m1=0, int m2=0) {
2614  m_mask[0] = m0;
2615  m_mask[1] = m1;
2616  m_mask[2] = m2;
2617  if (m2 != 0)
2618  m_mask[1] |= TKO_Rendo_Extended;
2619  if (m1 != 0)
2620  m_mask[0] |= TKO_Rendo_Extended;
2621  }
2623  int GetMask (int index=0) const { return m_mask[index]; }
2624 
2626  void SetValue (int v0, int v1=0, int v2=0) { m_value[0] = v0; m_value[1] = v1; m_value[2] = v2; }
2628  int GetValue (int index=0) const { return m_value[index]; }
2629 
2631  void SetHSR (int h) { m_hsr &= 0xF0; m_hsr |= (unsigned char)h & 0x0F; }
2633  int GetHSR () const { return (int)(m_hsr & 0x0F); }
2634 
2636  void SetTransparentHSR (int t) { m_hsr &= 0x0F; m_hsr |= (unsigned char)t << 4; }
2638  int GetTransparentHSR () const { return (int)(m_hsr >> 4); }
2639 
2641  void SetTransparentStyle (int s) { m_transparency_options = (unsigned short)s; }
2643  int GetTransparentStyle () const { return (int)m_transparency_options; }
2644 
2646  void SetTechnology (int t) { m_tq &= 0xF0; m_tq |= (unsigned char)t & 0x0F; }
2648  int GetTechnology () const { return (int)(m_tq & 0x0F); }
2649 
2651  void SetQuantization (int q) { m_tq &= 0x0F; m_tq |= (unsigned char)q << 4; }
2653  int GetQuantization () const { return (int)(m_tq >> 4); }
2654 
2656  void SetDebug (int d) { m_debug = d; }
2658  int GetDebug () const { return m_debug; }
2659 
2661  void SetFaceDisplacement (int d) { m_face_displacement = d; }
2663  int GetFaceDisplacement () const { return m_face_displacement; }
2664 
2666  void SetVertexDisplacement (int d) { m_vertex_displacement = d; }
2668  int GetVertexDisplacement () const { return m_vertex_displacement; }
2669 
2671  void SetGeneralDisplacement (int d) { m_general_displacement = d; }
2673  int GetGeneralDisplacement () const { return m_general_displacement; }
2674 
2676  void SetJoinCutoffAngle (int d) { m_join_cutoff_angle = d; }
2678  int GetJoinCutoffAngle () const { return m_join_cutoff_angle; }
2679 
2681  void SetFogLimits (float n, float f) { m_fog_limits[0] = n; m_fog_limits[1] = f; }
2683  void SetFogLimits (float const l[]) { SetFogLimits (l[0], l[1]); }
2685  float const * GetFogLimits () const { return m_fog_limits; }
2686 
2687 
2689  void SetLockMask (int m) { m_lock.mask = m; }
2691  int GetLockMask () const { return m_lock.mask; }
2692 
2694  void SetLockValue (int v) { m_lock.value = v; }
2696  int GetLockValue () const { return m_lock.value; }
2697 
2702  void SetVisibilityLockMask (int m) { m_lock.visibility_mask = m; }
2707  int GetVisibilityLockMask () const { return m_lock.visibility_mask; }
2708 
2713  void SetVisibilityLockValue (int v) { m_lock.visibility_value = v; }
2718  int GetVisibilityLockValue () const { return m_lock.visibility_value; }
2719 
2720 
2725  void SetColorLockMask (int m) { m_lock.color_mask = m; }
2730  int GetColorLockMask () const { return m_lock.color_mask; }
2731 
2736  void SetColorLockValue (int v) { m_lock.color_value = v; }
2741  int GetColorLockValue () const { return m_lock.color_value; }
2742 
2743 
2748  void SetColorFaceLockMask (int m) { m_lock.color_face_mask = (short)m; }
2753  int GetColorFaceLockMask () const { return m_lock.color_face_mask; }
2754 
2759  void SetColorFaceLockValue (int v) { m_lock.color_face_value = (short)v; }
2764  int GetColorFaceLockValue () const { return m_lock.color_face_value; }
2765 
2766 
2771  void SetColorEdgeLockMask (int m) { m_lock.color_edge_mask = (short)m; }
2776  int GetColorEdgeLockMask () const { return m_lock.color_edge_mask; }
2777 
2782  void SetColorEdgeLockValue (int v) { m_lock.color_edge_value = (short)v; }
2787  int GetColorEdgeLockValue () const { return m_lock.color_edge_value; }
2788 
2789 
2794  void SetColorLineLockMask (int m) { m_lock.color_line_mask = (short)m; }
2799  int GetColorLineLockMask () const { return m_lock.color_line_mask; }
2800 
2805  void SetColorLineLockValue (int v) { m_lock.color_line_value = (short)v; }
2810  int GetColorLineLockValue () const { return m_lock.color_line_value; }
2811 
2812 
2817  void SetColorMarkerLockMask (int m) { m_lock.color_marker_mask = (short)m; }
2822  int GetColorMarkerLockMask () const { return m_lock.color_marker_mask; }
2823 
2828  void SetColorMarkerLockValue (int v) { m_lock.color_marker_value = (short)v; }
2833  int GetColorMarkerLockValue () const { return m_lock.color_marker_value; }
2834 
2835 
2840  void SetColorTextLockMask (int m) { m_lock.color_text_mask = (short)m; }
2845  int GetColorTextLockMask () const { return m_lock.color_text_mask; }
2846 
2851  void SetColorTextLockValue (int v) { m_lock.color_text_value = (short)v; }
2856  int GetColorTextLockValue () const { return m_lock.color_text_value; }
2857 
2858 
2863  void SetColorWindowLockMask (int m) { m_lock.color_window_mask = (short)m; }
2868  int GetColorWindowLockMask () const { return m_lock.color_window_mask; }
2869 
2874  void SetColorWindowLockValue (int v) { m_lock.color_window_value = (short)v; }
2879  int GetColorWindowLockValue () const { return m_lock.color_window_value; }
2880 
2881 
2886  void SetColorFaceContrastLockMask (int m) { m_lock.color_face_contrast_mask = (short)m; }
2892 
2897  void SetColorFaceContrastLockValue (int v) { m_lock.color_face_contrast_value = (short)v; }
2903 
2904 
2915 
2926 
2927 
2932  void SetColorBackLockMask (int m) { m_lock.color_back_mask = (short)m; }
2937  int GetColorBackLockMask () const { return m_lock.color_back_mask; }
2938 
2943  void SetColorBackLockValue (int v) { m_lock.color_back_value = (short)v; }
2948  int GetColorBackLockValue () const { return m_lock.color_back_value; }
2949 
2950 
2955  void SetColorVertexLockMask (int m) { m_lock.color_vertex_mask = (short)m; }
2960  int GetColorVertexLockMask () const { return m_lock.color_vertex_mask; }
2961 
2966  void SetColorVertexLockValue (int v) { m_lock.color_vertex_value = (short)v; }
2971  int GetColorVertexLockValue () const { return m_lock.color_vertex_value; }
2972 
2973 
2978  void SetColorEdgeContrastLockMask (int m) { m_lock.color_edge_contrast_mask = (short)m; }
2984 
2989  void SetColorEdgeContrastLockValue (int v) { m_lock.color_edge_contrast_value = (short)v; }
2995 
2996 
3001  void SetColorLineContrastLockMask (int m) { m_lock.color_line_contrast_mask = (short)m; }
3007 
3012  void SetColorLineContrastLockValue (int v) { m_lock.color_line_contrast_value = (short)v; }
3018 
3019 
3030 
3041 
3042 
3053 
3064 
3065 
3070  void SetColorTextContrastLockMask (int m) { m_lock.color_text_contrast_mask = (short)m; }
3076 
3081  void SetColorTextContrastLockValue (int v) { m_lock.color_text_contrast_value = (short)v; }
3087 
3088 
3089 
3090 
3092  void SetForcedLockMask (int m) { m_forced.mask = m; }
3094  int GetForcedLockMask () const { return m_forced.mask; }
3095 
3097  void SetForcedLockValue (int v) { m_forced.value = v; }
3099  int GetForcedLockValue () const { return m_forced.value; }
3100 
3105  void SetVisibilityForcedLockMask (int m) { m_forced.visibility_mask = m; }
3110  int GetVisibilityForcedLockMask () const { return m_forced.visibility_mask; }
3111 
3116  void SetVisibilityForcedLockValue (int v) { m_forced.visibility_value = v; }
3121  int GetVisibilityForcedLockValue () const { return m_forced.visibility_value; }
3122 
3123 
3128  void SetColorForcedLockMask (int m) { m_forced.color_mask = m; }
3133  int GetColorForcedLockMask () const { return m_forced.color_mask; }
3134 
3139  void SetColorForcedLockValue (int v) { m_forced.color_value = v; }
3144  int GetColorForcedLockValue () const { return m_forced.color_value; }
3145 
3146 
3151  void SetColorFaceForcedLockMask (int m) { m_forced.color_face_mask = (short)m; }
3156  int GetColorFaceForcedLockMask () const { return m_forced.color_face_mask; }
3157 
3162  void SetColorFaceForcedLockValue (int v) { m_forced.color_face_value = (short)v; }
3167  int GetColorFaceForcedLockValue () const { return m_forced.color_face_value; }
3168 
3169 
3174  void SetColorEdgeForcedLockMask (int m) { m_forced.color_edge_mask = (short)m; }
3179  int GetColorEdgeForcedLockMask () const { return m_forced.color_edge_mask; }
3180 
3185  void SetColorEdgeForcedLockValue (int v) { m_forced.color_edge_value = (short)v; }
3190  int GetColorEdgeForcedLockValue () const { return m_forced.color_edge_value; }
3191 
3192 
3197  void SetColorLineForcedLockMask (int m) { m_forced.color_line_mask = (short)m; }
3202  int GetColorLineForcedLockMask () const { return m_forced.color_line_mask; }
3203 
3208  void SetColorLineForcedLockValue (int v) { m_forced.color_line_value = (short)v; }
3213  int GetColorLineForcedLockValue () const { return m_forced.color_line_value; }
3214 
3215 
3220  void SetColorMarkerForcedLockMask (int m) { m_forced.color_marker_mask = (short)m; }
3225  int GetColorMarkerForcedLockMask () const { return m_forced.color_marker_mask; }
3226 
3231  void SetColorMarkerForcedLockValue (int v) { m_forced.color_marker_value = (short)v; }
3236  int GetColorMarkerForcedLockValue () const { return m_forced.color_marker_value; }
3237 
3238 
3243  void SetColorTextForcedLockMask (int m) { m_forced.color_text_mask = (short)m; }
3248  int GetColorTextForcedLockMask () const { return m_forced.color_text_mask; }
3249 
3254  void SetColorTextForcedLockValue (int v) { m_forced.color_text_value = (short)v; }
3259  int GetColorTextForcedLockValue () const { return m_forced.color_text_value; }
3260 
3261 
3266  void SetColorWindowForcedLockMask (int m) { m_forced.color_window_mask = (short)m; }
3271  int GetColorWindowForcedLockMask () const { return m_forced.color_window_mask; }
3272 
3277  void SetColorWindowForcedLockValue (int v) { m_forced.color_window_value = (short)v; }
3282  int GetColorWindowForcedLockValue () const { return m_forced.color_window_value; }
3283 
3284 
3289  void SetColorFaceContrastForcedLockMask (int m) { m_forced.color_face_contrast_mask = (short)m; }
3295 
3306 
3307 
3318 
3329 
3330 
3335  void SetColorBackForcedLockMask (int m) { m_forced.color_back_mask = (short)m; }
3340  int GetColorBackForcedLockMask () const { return m_forced.color_back_mask; }
3341 
3346  void SetColorBackForcedLockValue (int v) { m_forced.color_back_value = (short)v; }
3351  int GetColorBackForcedLockValue () const { return m_forced.color_back_value; }
3352 
3353 
3358  void SetColorVertexForcedLockMask (int m) { m_forced.color_vertex_mask = (short)m; }
3363  int GetColorVertexForcedLockMask () const { return m_forced.color_vertex_mask; }
3364 
3369  void SetColorVertexForcedLockValue (int v) { m_forced.color_vertex_value = (short)v; }
3374  int GetColorVertexForcedLockValue () const { return m_forced.color_vertex_value; }
3375 
3376 
3381  void SetColorEdgeContrastForcedLockMask (int m) { m_forced.color_edge_contrast_mask = (short)m; }
3387 
3398 
3399 
3404  void SetColorLineContrastForcedLockMask (int m) { m_forced.color_line_contrast_mask = (short)m; }
3410 
3421 
3422 
3433 
3444 
3445 
3456 
3467 
3468 
3473  void SetColorTextContrastForcedLockMask (int m) { m_forced.color_text_contrast_mask = (short)m; }
3479 
3490 
3491 
3492 
3493 
3495  void SetBufferOptionsMask (int v) { m_buffer_options_mask = (unsigned char)v; }
3497  int GetBufferOptionsMask () const { return m_buffer_options_mask; }
3499  void SetBufferOptionsValue (int v) { m_buffer_options_value = (unsigned char) v; }
3501  int GetBufferOptionsValue () const { return m_buffer_options_value; }
3503  void SetBufferSizeLimit (int l) { m_buffer_size_limit = l; }
3505  int GetBufferSizeLimit () const { return m_buffer_size_limit; }
3506 
3507 
3509  void SetStereoSeparation (float s) { m_stereo_separation = s; }
3511  float GetStereoSeparation () const { return m_stereo_separation; }
3513  void SetStereoDistance (float d) { m_stereo_distance = d; }
3515  float GetStereoDistance () const { return m_stereo_distance; }
3516 
3517 
3519  void SetHlrOptions (int o) {
3520  m_hlr_options = o;
3521  if ((o & TKO_Hidden_Line_Extended_Mask) != 0) {
3522  m_hlr_options |= TKO_Hidden_Line_Extended;
3523  if ((o & TKO_Hidden_Line_Extended2_Mask) != 0)
3524  m_hlr_options |= TKO_Hidden_Line_Extended2;
3525  }
3526  }
3528  int GetHlrOptions () const { return m_hlr_options; }
3530  void SetHlrDimFactor (float d) { m_hlr_dim_factor = d; }
3532  float GetHlrDimFactor () const { return m_hlr_dim_factor; }
3534  void SetHlrFaceDisplacement (float d) { m_hlr_face_displacement = d; }
3536  float GetHlrFaceDisplacement () const { return m_hlr_face_displacement; }
3538  void SetHlrLinePattern (int p) { m_hlr_line_pattern = p; }
3540  int GetHlrLinePattern () const { return m_hlr_line_pattern; }
3542  void SetHlrFaceSortingAlgorithm (int a) { m_hlr_hsr_algorithm = (unsigned char)a; }
3544  float GetHlrFaceSortingAlgorithm () const { return m_hlr_hsr_algorithm; }
3545 
3546 
3548  void SetNURBSOptionsMask (int m) {
3549  m_nurbs_options_mask = m;
3550  if ((m & TKO_NURBS_Extended_Mask) != 0)
3551  m_nurbs_options_mask |= TKO_NURBS_Extended;
3552  }
3554  int GetNURBSOptionsMask () const { return m_nurbs_options_mask; }
3556  void SetNURBSOptionsValue (int v) { m_nurbs_options_value = v; }
3558  int GetNURBSOptionsValue () const { return m_nurbs_options_value; }
3560  void SetNURBSCurveBudget (int b) { m_curve_budget = b; }
3562  int GetNURBSCurveBudget () const { return m_curve_budget; }
3564  void SetNURBSCurveContinuedBudget (int b) { m_curve_continued_budget = b; }
3566  int GetNURBSCurveContinuedBudget () const { return m_curve_continued_budget; }
3568  void SetNURBSSurfaceBudget (int b) { m_surface_budget = b; }
3570  int GetNURBSSurfaceBudget () const { return m_surface_budget; }
3572  void SetNURBSSurfaceTrimBudget (int b) { m_surface_trim_budget = b; }
3574  int GetNURBSSurfaceTrimBudget () const { return m_surface_trim_budget; }
3575 
3576 
3578  void SetLodOptionsMask (int v) { m_lod_options_mask = v; }
3580  int GetLodOptionsMask () const { return m_lod_options_mask; }
3582  void SetLodOptionsValue (int v) { m_lod_options_value = v; }
3584  int GetLodOptionsValue () const { return m_lod_options_value; }
3586  void SetLodAlgorithm (int v) { m_lod_algorithm = (char)v; }
3588  int GetLodAlgorithm () const { return m_lod_algorithm; }
3590  void SetLodMinimumTriangleCount (int v) { m_min_triangle_count = v; }
3592  int GetLodMinimumTriangleCount () const { return m_min_triangle_count; }
3594  void SetLodNumLevels (int v) { m_num_levels = (unsigned char)v; }
3596  int GetLodNumLevels () const { return m_num_levels; }
3598  void SetLodClamp (int v) { m_clamp = (unsigned char)v; }
3600  int GetLodClamp () const { return m_clamp; }
3602  void SetLodMaxDegree (int v) { m_max_degree = v; }
3604  int GetLodMaxDegree () const { return m_max_degree; }
3606  void SetLodTolerance (float v) { m_tolerance = v; }
3608  float GetLodTolerance () const { return m_tolerance; }
3610  void SetLodFallback (int v) { m_fallback = (char)v; }
3612  int GetLodFallback () const { return m_fallback; }
3613 
3615  void SetLodBounding (float x1, float y1, float z1, float x2, float y2, float z2) {
3616  m_bounding[0] = x1; m_bounding[1] = y1; m_bounding[2] = z1;
3617  m_bounding[3] = x2; m_bounding[4] = y2; m_bounding[5] = z2;
3618  }
3620  void SetLodBounding (float const s[], float const e[]) {
3621  SetLodBounding (s[0], s[1], s[2], e[0], e[1], e[2]);
3622  }
3624  void SetLodBounding (float const p[]) { SetLodBounding (&p[0], &p[3]); }
3626  float const * GetLodBounding () const { return m_bounding; }
3627 
3629  void SetLodRatio (float r) { m_num_ratios = 1; m_ratio[0] = r; }
3631  void SetLodRatios (int c, float const r[] = 0) {
3632  m_num_ratios = (char)c;
3633  if (r != 0) {
3634  int i;
3635  for (i=0; i<c; ++i)
3636  m_ratio[i] = r[i];
3637  }
3638  }
3640  int GetLodNumRatios () const { return m_num_ratios; }
3642  float const * GetLodRatios () const { return m_ratio; }
3644  float * GetLodRatios () { return m_ratio; }
3645 
3647  void SetLodThresholdType (int v) { m_threshold_type = (char)v; }
3649  int GetLodThresholdType () const { return m_threshold_type; }
3651  void SetLodThreshold (float r) { m_num_thresholds = 1; m_threshold[0] = r; }
3653  void SetLodThresholds (int c, float const r[] = 0) {
3654  m_num_thresholds = (char)c;
3655  if (r != 0) {
3656  int i;
3657  for (i=0; i<c; ++i)
3658  m_threshold[i] = r[i];
3659  }
3660  }
3662  int GetLodNumThresholds () const { return m_num_thresholds; }
3664  float const * GetLodThresholds () const { return m_threshold; }
3666  float * GetLodThresholds () { return m_threshold; }
3667 
3669  void SetLodCutoff (float r) { m_num_cutoffs = 1; m_cutoff[0] = r; }
3671  void SetLodCutoffs (int c, float const r[] = 0) {
3672  m_num_cutoffs = (char)c;
3673  if (r != 0) {
3674  int i;
3675  for (i=0; i<c; ++i)
3676  m_cutoff[i] = r[i];
3677  }
3678  }
3680  int GetLodNumCutoffs () const { return m_num_cutoffs; }
3682  float const * GetLodCutoffs () const { return m_cutoff; }
3684  float * GetLodCutoffs () { return m_cutoff; }
3685 
3686 
3688  void SetTessellationMask (int m) { m_tessellations = (unsigned char)m; }
3690  int GetTessellationMask () const { return m_tessellations; }
3692  void SetCylinderTessellation (int n) { m_num_cylinder = (char)1; m_cylinder[0] = (char)n; }
3694  void SetCylinderTessellations (int c, char const * n = 0) {
3695  m_num_cylinder = (char)c;
3696  if (n != 0) {
3697  int i;
3698  for (i=0; i<c; ++i)
3699  m_cylinder[i] = n[i];
3700  }
3701  }
3703  int GetNumCylinderTessellations () const { return m_num_cylinder; }
3705  char const * GetCylinderTessellations () const { return m_cylinder; }
3707  char * GetCylinderTessellations () { return m_cylinder; }
3709  void SetSphereTessellation (int n) { m_num_sphere = (char)1; m_sphere[0] = (char)n; }
3711  void SetSphereTessellations (int c, char const * n = 0) {
3712  m_num_sphere = (char)c;
3713  if (n != 0) {
3714  int i;
3715  for (i=0; i<c; ++i)
3716  m_sphere[i] = n[i];
3717  }
3718  }
3720  int GetNumSphereTessellations () const { return m_num_sphere; }
3722  char const * GetSphereTessellations () const { return m_sphere; }
3724  char * GetSphereTessellations () { return m_sphere; }
3725 
3727  void SetGeometryOptionsMask (int m) { m_geometry_options = (unsigned char)m; }
3729  int GetGeometryOptionsMask () const { return m_geometry_options; }
3730 
3732  void SetHardEdgeAngle (int m) { m_dihedral = (unsigned char)m; }
3734  float GetHardEdgeAngle () const { return m_dihedral; }
3735 
3737  void SetMaskTransform (int m) { m_mask_transform = (unsigned short)m; }
3739  int GetMaskTransform () const { return (int)m_mask_transform; }
3740 
3741 
3743  void SetCutGeometry (int m) { m_cut_geometry = (unsigned char)m; }
3745  int GetCutGeometry () const { return (int)m_cut_geometry; }
3746 
3748  void SetCutGeometryLevel (int m) { m_cut_geometry_level = (unsigned char)m; }
3750  int GetCutGeometryLevel () const { return (int)m_cut_geometry_level; }
3751 
3753  void SetCutGeometryColorMatch (int m) { m_cut_geometry_match = (unsigned char)m; }
3755  int GetCutGeometryColorMatch () const { return (int)m_cut_geometry_match; }
3756 
3758  void SetCutGeometryUsage (int u) { m_cut_geometry_usage = (unsigned char)u; }
3760  int GetCutGeometryUsage () const { return (int)m_cut_geometry_usage; }
3761 
3763  void SetCutGeometryTolerance (float m) { m_cut_geometry_tolerance = m; }
3765  float GetCutGeometryTolerance () const { return m_cut_geometry_tolerance; }
3766 
3768  void SetCutGeometryEdgeWeight (float value, int units = TKO_Generic_Size_Unspecified) {
3769  m_cut_geometry_edge_weight = (value > 0.0f) ? value : -1.0f;
3770  m_cut_geometry_edge_weight_units = (value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
3771  }
3773  float GetCutGeometryEdgeWeight () const { return m_cut_geometry_edge_weight; }
3775  int GetCutGeometryEdgeWeightUnits () const { return m_cut_geometry_edge_weight_units; }
3776 
3778  void SetCutGeometryEdgePattern (char const * pattern);
3780  void SetCutGeometryEdgePattern (int length);
3782  char const * GetCutGeometryEdgePattern () const { return m_cut_geometry_edge_pattern; }
3784  char * GetCutGeometryEdgePattern () { return m_cut_geometry_edge_pattern; }
3785 
3786 
3788  void SetDisplayListLevel (int m) { m_display_list_level = (unsigned char)m; }
3790  int GetDisplayListLevel () const { return (int)m_display_list_level; }
3791 
3793  void SetSimpleShadow (int m) {
3794  m_simple_shadow = (unsigned short)m;
3795  if ((m & TKO_Simple_Shadow_Extended_Mask) != 0)
3796  m_simple_shadow |= TKO_Simple_Shadow_Extended;
3797  }
3799  int GetSimpleShadow () const { return (int)m_simple_shadow; }
3800 
3802  void SetSimpleShadowBlur (int m) { m_simple_shadow_blur = (unsigned char)m; }
3804  int GetSimpleShadowBlur () const { return (int)m_simple_shadow_blur; }
3805 
3807  void SetSimpleShadowResolution (int m) { m_simple_shadow_resolution = (unsigned short)m; }
3809  int GetSimpleShadowResolution () const { return (int)m_simple_shadow_resolution; }
3810 
3812  void SetSimpleShadowLight (float x, float y, float z) {
3813  m_simple_shadow_light[0] = x;
3814  m_simple_shadow_light[1] = y;
3815  m_simple_shadow_light[2] = z;
3816  }
3818  void SetSimpleShadowLight (float const l[]) { SetSimpleShadowLight (l[0], l[1], l[2]); }
3820  float const * getSimpleShadowLight () const { return m_simple_shadow_light; }
3821 
3823  void SetSimpleShadowPlane (float a, float b, float c, float d) {
3824  m_simple_shadow_plane[0] = a;
3825  m_simple_shadow_plane[1] = b;
3826  m_simple_shadow_plane[2] = c;
3827  m_simple_shadow_plane[3] = d;
3828  }
3830  void SetSimpleShadowPlane (float const p[]) { SetSimpleShadowPlane (p[0], p[1], p[2], p[3]); }
3832  float const * GetSimpleShadowPlane () const { return m_simple_shadow_plane; }
3833 
3835  void SetSimpleShadowColor (float r, float g, float b)
3836  { m_simple_shadow_color[0] = r; m_simple_shadow_color[1] = g; m_simple_shadow_color[2] = b; }
3838  void SetSimpleShadowColor (float const rgb[]) { SetSimpleShadowColor (rgb[0], rgb[1], rgb[2]); }
3840  float const * GetSimpleShadowColor () const { return m_simple_shadow_color; }
3841 
3843  void SetSimpleShadowOpacity (float o) { m_simple_shadow_opacity = o; }
3845  float GetSimpleShadowOpacity () const { return m_simple_shadow_opacity; }
3846 
3847 
3849  void SetShadowMap (int m) { m_shadow_map = (unsigned char)m; }
3851  int GetShadowMap () const { return (int)m_shadow_map; }
3852 
3854  void SetShadowMapResolution (int m) { m_shadow_map_resolution = (unsigned short)m; }
3856  int GetShadowMapResolution () const { return (int)m_shadow_map_resolution; }
3857 
3859  void SetShadowMapSamples (int m) { m_shadow_map_samples = (unsigned char)m; }
3861  int GetShadowMapSamples () const { return (int)m_shadow_map_samples; }
3862 
3863 
3865  void SetSimpleReflection (int m) { m_simple_reflection = (unsigned short)m; }
3867  int GetSimpleReflection () const { return (int)m_simple_reflection; }
3868 
3870  void SetSimpleReflectionPlane (float a, float b, float c, float d) {
3871  m_simple_reflection_plane[0] = a;
3872  m_simple_reflection_plane[1] = b;
3873  m_simple_reflection_plane[2] = c;
3874  m_simple_reflection_plane[3] = d;
3875  }
3877  void SetSimpleReflectionPlane (float const p[]) { SetSimpleReflectionPlane (p[0], p[1], p[2], p[3]); }
3879  float const * GetSimpleReflectionPlane () const { return m_simple_reflection_plane; }
3880 
3882  void SetSimpleReflectionOpacity (float o) { m_simple_reflection_opacity = o; }
3884  float GetSimpleReflectionOpacity () const { return m_simple_reflection_opacity; }
3885 
3887  void SetSimpleReflectionVisibilityMask (int m) { m_simple_reflection_visibility_mask = m; }
3889  int GetSimpleReflectionVisibilityValue () const { return m_simple_reflection_visibility_value; }
3890 
3891 
3893  void SetDepthRange (float n, float f) { m_depth_range[0] = n; m_depth_range[1] = f; }
3895  void SetDepthRange (float const l[]) { SetDepthRange (l[0], l[1]); }
3897  float const * GetDepthRange () const { return m_depth_range; }
3898 
3899 
3901  void SetScreenRange (float l, float r, float b, float t,
3902  float lo = 0, float ro = 0, float bo = 0, float to = 0)
3903  { m_screen_range[0] = l; m_screen_range[1] = r; m_screen_range[2] = b; m_screen_range[3] = t;
3904  m_screen_range[4] = lo; m_screen_range[5] = ro; m_screen_range[6] = bo; m_screen_range[7] = to; }
3906  void SetScreenRange (float const l[]) { SetScreenRange (l[0], l[1], l[2], l[3]); }
3908  void SetScreenRange (float const l[], float const o[])
3909  { SetScreenRange (l[0], l[1], l[2], l[3], o[0], o[1], o[2], o[3]); }
3911  void SetScreenRange (int n, float const l[])
3912  { if (n == 8) SetScreenRange (l[0], l[1], l[2], l[4], l[5], l[6], l[7], l[8]);
3913  else SetScreenRange (l[0], l[1], l[2], l[3]);
3914  }
3916  float const * GetScreenRange () const { return m_screen_range; }
3917 
3921  void SetAmbientUpVector (float x, float y, float z)
3922  { m_ambient_up_vector[0] = x; m_ambient_up_vector[1] = y; m_ambient_up_vector[2] = z; }
3924  void SetAmbientUpVector (float const v[]) { SetAmbientUpVector (v[0], v[1], v[2]); }
3926  float const * GetAmbientUpVector () const { return m_ambient_up_vector; }
3927 
3929  void SetImageScale (float x, float y) { m_image_scale[0] = x; m_image_scale[1] = y; }
3931  void SetImageScale (float const s[]) { SetImageScale (s[0], s[1]); }
3933  float const * GetImageScale () const { return m_image_scale; }
3934 
3935 
3937  void SetImageTintColor (float r, float g, float b)
3938  { m_image_tint_color[0] = r; m_image_tint_color[1] = g; m_image_tint_color[2] = b; }
3940  void SetImageTintColor (float const rgb[]) { SetImageTintColor (rgb[0], rgb[1], rgb[2]); }
3942  float const * GetImageTintColor () const { return m_image_tint_color; }
3943 
3945  void SetDiffuseTextureTintColor (float r, float g, float b)
3946  { m_texture_tint_color[0] = r; m_texture_tint_color[1] = g; m_texture_tint_color[2] = b; }
3948  void SetDiffuseTextureTintColor (float const rgb[]) { SetDiffuseTextureTintColor (rgb[0], rgb[1], rgb[2]); }
3950  float const * GetDiffuseTextureTintColor () const { return m_texture_tint_color; }
3951 
3953  void SetAntiAlias (int m) { m_antialias = (unsigned char)m; }
3955  int GetAntiAlias () const { return (int)m_antialias; }
3956 
3958  void SetVertexDecimation (float f) { m_vertex_decimation = f; }
3960  float GetVertexDecimation () const { return m_vertex_decimation; }
3961 };
3962 
3964 
3965 
3967 
3973 class BBINFILETK_API TK_Heuristics : public BBaseOpcodeHandler {
3974  protected:
3975  int m_mask;
3976  int m_value;
3977 
3981 
3982  unsigned char m_extras;
3985  unsigned short m_selection_bias;
3992  float m_vector[3];
3995  float m_view_volume[6];
3996 
3997  unsigned char m_ordered_weights_mask;
3998  float m_ordered_weights[TKO_Heur_Order_Count];
3999  unsigned char m_selection_level;
4000  unsigned char m_selection_sorting;
4001  unsigned char m_model_type;
4002  unsigned short m_static_options;
4003 
4004  public:
4006  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
4007  m_mask (0), m_value (0), m_culling(0), m_selection_culling(0), m_selection_bias(0),
4008  m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
4009  ~TK_Heuristics ();
4010 
4013  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4014 
4015  TK_Status ReadAscii (BStreamFileToolkit & tk);
4016  TK_Status WriteAscii (BStreamFileToolkit & tk);
4017 
4019  void SetMask (int m) {
4020  m_mask = m;
4021  if ((m & TKO_Heuristic_Extended_Mask) != 0)
4022  m_mask |= TKO_Heuristic_Extended;
4023  }
4025  int GetMask () const { return m_mask; }
4026 
4028  void SetValue (int v) { m_value = v; }
4030  int GetValue () const { return m_value; }
4031 
4033  void SetRelatedSelectionLimit (int r) { m_related = r; }
4035  int GetRelatedSelectionLimit () const { return m_related; }
4036 
4038  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
4040  int GetInternalSelectionLimit () const { return m_internal_shell; }
4041 
4043  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
4045  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
4046 
4048  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
4050  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
4051 
4053  void SetExtras (int e) { m_extras = (unsigned char)e; }
4055  int GetExtras () const { return (int)m_extras; }
4056 
4058  void SetCulling (int c) { m_culling = c; }
4060  int GetCulling () const { return (int)m_culling; }
4062  void SetSelectionCulling (int c) { m_selection_culling = (unsigned short)c; }
4064  int GetSelectionCulling () const { return (int)m_selection_culling; }
4066  void SetSelectionBias (int c) { m_selection_bias = (unsigned short)c; }
4068  int GetSelectionBias () const { return (int)m_selection_bias; }
4070  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
4072  int GetPixelThreshold () const { return m_pixel_threshold; }
4074  void SetMaximumExtent (int c) { m_maximum_extent = c; }
4076  int GetMaximumExtent () const { return m_maximum_extent; }
4078  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
4080  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
4082  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
4084  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
4086  void SetHardExtent (int c) { m_hard_extent = c; }
4088  int GetHardExtent () const { return m_hard_extent; }
4090  float const * GetVector () const { return m_vector; }
4092  void SetVector (float x, float y, float z) {
4093  m_vector[0] = x;
4094  m_vector[1] = y;
4095  m_vector[2] = z;
4096  }
4098  void SetVector (float const v[]) { SetVector(v[0], v[1], v[2]); }
4100  float GetVectorTolerance () const { return m_vector_tolerance; }
4102  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
4103 
4104  void SetMaxDistance (float m) { m_max_distance = m; }
4106  float GetMaxDistance () const { return m_max_distance; }
4107 
4109  float const * GetViewVolume () const { return m_view_volume; }
4111  void SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) {
4112  m_view_volume[0] = ax;
4113  m_view_volume[1] = ay;
4114  m_view_volume[2] = az;
4115  m_view_volume[3] = bx;
4116  m_view_volume[4] = by;
4117  m_view_volume[5] = bz;
4118  }
4120  void SetViewVolume (float const v[]) { SetViewVolume(v[0], v[1], v[2], v[3], v[4], v[5]); }
4121 
4123  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
4125  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
4126 
4128  void SetOrderedWeight (int index, float weight) {
4129  m_ordered_weights[index] = weight;
4130  m_ordered_weights_mask |= 1<<index;
4131  }
4133  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
4135  float const * GetOrderedWeights () const { return m_ordered_weights; }
4137  float * GetOrderedWeights () { return m_ordered_weights; }
4138 
4140  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
4142  int GetSelectionLevel () const { return (int)m_selection_level; }
4143 
4145  void SetSelectionSorting (int s) { m_selection_sorting = (unsigned char)s; }
4147  int GetSelectionSorting () const { return (int)m_selection_sorting; }
4148 
4150  void SetForceDefer (int l) { m_force_defer = l; }
4152  int GetForceDefer () const { return m_force_defer; }
4153 
4155  void SetStaticOptions (int o) { m_static_options = (unsigned short)o; }
4157  int GetStaticOptions () const { return (int)m_static_options; }
4158 
4159 };
4160 
4162 
4163 
4165 
4171 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
4172  protected:
4173  unsigned short m_mask;
4174  unsigned short m_value;
4175 
4177  float m_orientation[6];
4180 
4181  struct {
4182  unsigned char mask;
4183  unsigned char mode;
4184  float color[3];
4185  float alpha;
4186  float scale;
4187  } m_cut_visualization;
4188 
4189  public:
4191  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
4192  m_mask (0), m_value (0), m_orientation_count (0),
4193  m_coordinate_system_count (0), m_coordinate_systems (0) {
4194  m_cut_visualization.mask = 0;
4195  }
4196  ~TK_Geometry_Options ();
4197 
4198  void Reset ();
4199 
4202  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4203 
4204  TK_Status ReadAscii (BStreamFileToolkit & tk);
4205  TK_Status WriteAscii (BStreamFileToolkit & tk);
4206 
4208  void SetMask (int m) { m_mask = (unsigned short)m; }
4210  int GetMask () const { return (int)m_mask; }
4211 
4213  void SetOrientation (int count, float const o[]) {
4214  if (count != 3 && count != 6)
4215  return;
4216  m_orientation_count = (unsigned char)count;
4217  while (count-- > 0)
4218  m_orientation[count] = o[count];
4219  }
4221  int GetOrientationCount () const { return (int) m_orientation_count; }
4223  float const * GetOrientation () const { return m_orientation; }
4224 
4226  void SetCoordinateSystems (int count, char const cs[]) {
4227  m_coordinate_system_count = count;
4228  m_coordinate_systems = new char [count];
4229  while (count-- > 0)
4230  m_coordinate_systems[count] = cs[count];
4231  }
4233  int GetCoordinateSystemCount () const { return m_coordinate_system_count; }
4235  char const * GetCoordinateSystems () const { return m_coordinate_systems; }
4236 
4237 
4238 
4240  void SetCutVisualizationMask (int m) { m_cut_visualization.mask = (unsigned char)m; }
4242  int GetCutVisualizationMask () const { return (int)m_cut_visualization.mask; }
4243 
4245  void SetCutVisualizationMode (int m) { m_cut_visualization.mode = (unsigned char)m; }
4247  int GetCutVisualizationMode () const { return (int)m_cut_visualization.mode; }
4248 
4250  void SetCutVisualizationColor (float const * c) {
4251  m_cut_visualization.color[0] = c[0];
4252  m_cut_visualization.color[1] = c[1];
4253  m_cut_visualization.color[2] = c[2];
4254  }
4256  float const * GetCutVisualizationColor () const { return m_cut_visualization.color; }
4257 
4259  void SetCutVisualizationAlpha (float a) { m_cut_visualization.alpha = a; }
4261  float GetCutVisualizationAlpha () const { return m_cut_visualization.alpha; }
4262 
4264  void SetCutVisualizationSCale (float s) { m_cut_visualization.scale = s; }
4266  float GetCutVisualizationScale () const { return m_cut_visualization.scale; }
4267 };
4268 
4271 
4276 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
4277  protected:
4278  int m_mask;
4279  int m_value;
4280 
4281  public:
4284  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
4285 
4288  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4289 
4290  TK_Status ReadAscii (BStreamFileToolkit & tk);
4291  TK_Status WriteAscii (BStreamFileToolkit & tk);
4292 
4296  void SetGeometry (int m) {
4297  m_mask = m & TKO_Geo_All_Visibles;
4298  if ((m & TKO_Geo_Extended_Mask) != 0) {
4299  m_mask |= TKO_Geo_Extended;
4300  if ((m & TKO_Geo_Extended2_Mask) != 0)
4301  m_mask |= TKO_Geo_Extended2;
4302  }
4303  }
4308  int GetGeometry () const { return m_mask; }
4309 
4314  void SetValue (int m) { m_value = m; }
4319  int GetValue () const { return m_value; }
4320 };
4321 
4324 
4331 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4332  protected:
4333  int m_mask;
4334  int m_down;
4335  int m_up;
4339 
4340  public:
4343  : BBaseOpcodeHandler (TKE_Selectability),
4344  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4345 
4348  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4349 
4350  TK_Status ReadAscii (BStreamFileToolkit & tk);
4351  TK_Status WriteAscii (BStreamFileToolkit & tk);
4352 
4356  void SetGeometry (int m) {
4357  m_mask = m & TKO_Geo_All_Selects;
4358  if ((m & TKO_Geo_Extended_Mask) != 0)
4359  m_mask |= TKO_Geo_Extended;
4360  }
4365  int GetGeometry () const { return m_mask; }
4366 
4371  void SetDown (int m) { m_down = m; }
4376  int GetDown () const { return m_down; }
4377 
4382  void SetUp (int m) { m_up = m; }
4387  int GetUp () const { return m_up; }
4388 
4393  void SetMoveDown (int m) { m_move_down = m; }
4398  int GetMoveDown () const { return m_move_down; }
4399 
4404  void SetMoveUp (int m) { m_move_up = m; }
4409  int GetMoveUp () const { return m_move_up; }
4410 
4415  void SetWhenInvisible (int m) { m_invisible = m; }
4420  int GetWhenInvisible () const { return m_invisible; }
4421 };
4422 
4424 
4430 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4431  protected:
4432  float m_matrix[16];
4433  double m_dmatrix[16];
4434 
4435  public:
4437  TK_Matrix (unsigned char opcode)
4438  : BBaseOpcodeHandler (opcode) {}
4439 
4442  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4443 
4444  TK_Status ReadAscii (BStreamFileToolkit & tk);
4445  TK_Status WriteAscii (BStreamFileToolkit & tk);
4446 
4448  void SetMatrix (float const m[]) {
4449  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4450  }
4452  void SetDMatrix (double const m[]) {
4453  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4454  }
4456  float const * GetMatrix () const { return m_matrix; }
4458  float * GetMatrix () { return m_matrix; }
4460  double const * GetDMatrix () const { return m_dmatrix; }
4462  double * GetDMatrix () { return m_dmatrix; }
4463 };
4464 
4465 
4471 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
4472  protected:
4473  char m_index;
4474 
4475  public:
4477  TK_Enumerated (unsigned char opcode)
4478  : BBaseOpcodeHandler (opcode), m_index (0) {}
4479 
4482  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4483 
4484  TK_Status ReadAscii (BStreamFileToolkit & tk);
4485  TK_Status WriteAscii (BStreamFileToolkit & tk);
4486 
4487  void SetIndex (int i) { m_index = (char)i; }
4489  int GetIndex () const { return (int)m_index; }
4490 };
4491 
4492 
4498 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
4499  protected:
4500  float m_value;
4501  unsigned char m_units;
4502 
4503  public:
4505  TK_Size (unsigned char opcode)
4506  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
4507 
4510  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4511 
4512  TK_Status ReadAscii (BStreamFileToolkit & tk);
4513  TK_Status WriteAscii (BStreamFileToolkit & tk);
4514 
4516  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
4517  m_value = (value > 0.0f) ? value : 0.0f;
4518  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
4519  }
4521  float GetSize () const { return m_value; }
4523  int GetUnits () const { return m_units; }
4524 };
4525 
4530 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
4531  protected:
4532  unsigned short m_pattern;
4533 
4534  public:
4536  TK_Linear_Pattern (unsigned char opcode)
4537  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
4538 
4541  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4542 
4543  TK_Status ReadAscii (BStreamFileToolkit & tk);
4544  TK_Status WriteAscii (BStreamFileToolkit & tk);
4545 
4547  void SetPattern (int p) { m_pattern = (unsigned short)p; }
4549  int GetPattern () const { return (int)m_pattern; }
4550 };
4551 
4557 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
4558  protected:
4560  char * m_name;
4561  int m_index;
4562 
4563  public:
4565  TK_Named (unsigned char opcode)
4566  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
4567  ~TK_Named();
4568 
4571  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4572 
4573  TK_Status ReadAscii (BStreamFileToolkit & tk);
4574  TK_Status WriteAscii (BStreamFileToolkit & tk);
4575 
4576  void Reset ();
4577 
4579  void SetName (char const * name);
4581  void SetName (int length);
4583  char const * GetName () const { return m_name; }
4585  char * GetName () { return m_name; }
4586 
4588  void SetIndex (int i) { Reset(); m_index = i; }
4590  int GetIndex () const { return (int)m_index; }
4591 };
4592 
4593 
4594 
4601 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
4602  protected:
4603  bool m_flag;
4604 
4605  public:
4608 
4611  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4612 
4613  TK_Status ReadAscii (BStreamFileToolkit & tk);
4614  TK_Status WriteAscii (BStreamFileToolkit & tk);
4615 
4616  void SetStreaming (bool s) { m_flag = s; }
4618  bool GetStreaming () const { return m_flag; }
4619 };
4620 
4623 
4629 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
4630  protected:
4631  int m_length;
4632  char * m_string;
4634  public:
4636  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
4637  ~TK_Conditions();
4638 
4641  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4642 
4643  TK_Status ReadAscii (BStreamFileToolkit & tk);
4644  TK_Status WriteAscii (BStreamFileToolkit & tk);
4645 
4646  void Reset ();
4647 
4649  void SetConditions (char const * options);
4651  void SetConditions (int length);
4653  char const * GetConditions () const { return m_string; }
4655  char * GetConditions () { return m_string; }
4657  int GetLength() { return m_length; }
4658 };
4659 
4660 
4663 
4668 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
4669  protected:
4670  short m_type;
4671  short m_options;
4672  int m_length;
4673  char * m_string;
4675  public:
4677  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
4679 
4682  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4683 
4684  TK_Status ReadAscii (BStreamFileToolkit & tk);
4685  TK_Status WriteAscii (BStreamFileToolkit & tk);
4686 
4687  void Reset ();
4688 
4690  void SetCondition (char const * options);
4692  void SetCondition (int length);
4694  char const * GetCondition () const { return m_string; }
4696  char * GetCondition () { return m_string; }
4698  int GetLength() { return m_length; }
4699 
4701  void SetAction (int at) { m_type = (short)at; }
4703  int GetAction () const { return (int)m_type; }
4705  void SetOptions (int at) { m_options = (short)at; }
4707  int GetOptions () const { return (int)m_options; }
4708 };
4709 
4712 
4718 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
4719  protected:
4720  int m_length;
4721  char * m_string;
4726  void set_options (char const * options);
4727  void set_options (int length);
4728 
4729  public:
4731  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
4732  m_indices (0), m_unicode (0), m_index_data(0) {}
4733  ~TK_User_Options();
4734 
4737  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4738 
4739  TK_Status ReadAscii (BStreamFileToolkit & tk);
4740  TK_Status WriteAscii (BStreamFileToolkit & tk);
4741 
4742  void Reset ();
4743 
4745  void SetOptions (char const * options) { set_options (options); }
4747  void SetOptions (int length) { set_options (length); }
4749  char const * GetOptions () const { return m_string; }
4751  char * GetOptions () { return m_string; }
4753  int GetLength() { return m_length; }
4754 };
4755 
4758 
4764 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
4765  protected:
4766  int m_length;
4767  unsigned short * m_string;
4769  public:
4771  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
4772  ~TK_Unicode_Options();
4773 
4776  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4777 
4778  TK_Status ReadAscii (BStreamFileToolkit & tk);
4779  TK_Status WriteAscii (BStreamFileToolkit & tk);
4780 
4781  void Reset ();
4782 
4784  void SetOptions (unsigned short const * options);
4786  void SetOptions (int length);
4788  unsigned short const * GetOptions () const { return m_string; }
4790  unsigned short * GetOptions () { return m_string; }
4792  int GetLength() { return m_length; }
4793 };
4794 
4796 
4802 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
4803  protected:
4804  int m_count;
4805  int * m_indices;
4806  HLONG * m_values;
4808  void set_indices (int count, int const indices[], POINTER_SIZED_INT const values[]);
4809  void set_indices (int count);
4810 
4811  public:
4814  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
4815  ~TK_User_Index();
4816 
4819  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4820 
4821  TK_Status ReadAscii (BStreamFileToolkit & tk);
4822  TK_Status WriteAscii (BStreamFileToolkit & tk);
4823 
4824  void Reset ();
4825 
4827  void SetIndices (int count, int const indices[], POINTER_SIZED_INT const values[])
4828  { set_indices (count, indices, values); }
4830  void SetIndices (int count) { set_indices (count); }
4832  int GetCount () const { return m_count; }
4834  int const * GetIndices () const { return m_indices; }
4836  int * GetIndices () { return m_indices; }
4838  HLONG const * GetValues () const { return m_values; }
4840  HLONG * GetValues () { return m_values; }
4841 };
4842 
4844 
4850 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
4851 protected:
4852  int m_count;
4853  int * m_indices;
4854  void ** m_values;
4855  int * m_sizes;
4856 
4858  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
4859  void set_indices (int count);
4860  void FreeMem ();
4861 
4862 public:
4865  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
4866  ~TK_User_Index_Data();
4867 
4870  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4871 
4872  void Reset ();
4873 
4875  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
4876  set_indices (count, indices, values, sizes);
4877  }
4878 
4880  void SetIndices (int count) { set_indices (count);}
4881 
4883  int GetCount () const { return m_count;}
4884 
4886  int const * GetIndices () const { return m_indices;}
4887 
4889  int * GetIndices () { return m_indices;}
4890 
4892  void ** GetValues () const { return m_values;}
4893 
4895  void ** GetValues () { return m_values;}
4896 
4898  int const * GetSizes () const { return m_sizes;}
4899 
4901  int * GetSizes () { return m_sizes;}
4902 };
4903 
4904 
4906 
4911 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
4912  protected:
4913  HLONG m_value;
4914 
4915  public:
4918  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
4919 
4922  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4923 
4924  TK_Status ReadAscii (BStreamFileToolkit & tk);
4925  TK_Status WriteAscii (BStreamFileToolkit & tk);
4926 
4928  void SetValue (HLONG v) { m_value = v; }
4930  HLONG GetValue () const { return m_value; }
4931 };
4932 
4933 
4935 
4940 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
4941  protected:
4945  float m_settings[14];
4947  double m_dsettings[14];
4949  float m_details[3];
4950  unsigned char m_projection;
4951  int m_length;
4952  char * m_name;
4955  void set_name (char const * name);
4956 
4957  void set_name (int length);
4958 
4959  public:
4961  TK_Camera (unsigned char opcode = TKE_Camera)
4962  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
4963  int i;
4964  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
4965  for (i = 0; i < count; i++) {
4966  m_settings[i] = 0;
4967  m_dsettings[i] = 0;
4968  }
4969  }
4970  ~TK_Camera();
4971 
4974  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4975 
4976  TK_Status ReadAscii (BStreamFileToolkit & tk);
4977  TK_Status WriteAscii (BStreamFileToolkit & tk);
4978 
4980  void SetPosition (float x, float y, float z)
4981  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
4983  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
4985  float const * GetPosition () const { return &m_settings[0]; }
4987  void GetPosition (float p[]) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
4988 
4990  void SetDPosition (double x, double y, double z)
4991  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
4993  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
4995  double const * GetDPosition () const { return &m_dsettings[0]; }
4997  void GetDPosition (double p[]) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
4998 
5000  void SetTarget (float x, float y, float z)
5001  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
5003  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5005  float const * GetTarget () const { return &m_settings[3]; }
5007  void GetTarget (float t[]) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
5008 
5010  void SetDTarget (double x, double y, double z)
5011  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
5013  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5015  double const * GetDTarget () const { return &m_dsettings[3]; }
5017  void GetDTarget (double t[]) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
5018 
5020  void SetUpVector (float x, float y, float z)
5021  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
5023  void SetUpVector (float const u[]) { SetUpVector (u[0], u[1], u[2]); }
5025  float const * GetUpVector () const { return &m_settings[6]; }
5027  void GetUpVector (float u[]) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
5028 
5030  void SetDUpVector (double x, double y, double z)
5031  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
5033  void SetDUpVector (double const u[]) { SetDUpVector (u[0], u[1], u[2]); }
5035  double const * GetDUpVector () const { return &m_dsettings[6]; }
5037  void GetDUpVector (double u[]) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
5038 
5040  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
5042  void SetField (float const f[]) { SetField (f[0], f[1]); }
5044  float const * GetField () const { return &m_settings[9]; }
5046  void GetField (float f[]) const { memcpy(f,GetField(),2*sizeof(float)); }
5047 
5049  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
5051  void SetDField (double const f[]) { SetDField (f[0], f[1]); }
5053  double const * GetDField () const { return &m_dsettings[9]; }
5055  void GetDField (double f[]) const { memcpy(f, GetDField(), 2*sizeof(double)); }
5056 
5057 
5059  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
5060  m_projection &= ~TKO_Camera_Oblique_Mask;
5061  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
5062  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
5063  }
5065  void SetOblique (float const o[]) { SetOblique (o[0], o[1]); }
5067  float const * GetOblique () const { return m_details; }
5069  void GetOblique (float o[]) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
5070 
5072  void SetNearLimit (float l) { m_details[2] = l;
5073  m_projection &= ~TKO_Camera_Near_Limit;
5074  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
5075  }
5077  float GetNearLimit () const { return m_details[2]; }
5078 
5079 
5081  void SetProjection (int p) { m_projection = (char)p; }
5083  int GetProjection () const { return (int)m_projection; }
5084 
5085 
5087  void SetView (char const * name) { set_name (name); }
5089  void SetView (int length) { set_name (length); }
5091  char const * GetView () const { return m_name; }
5093  char * GetView () { return m_name; }
5094 };
5095 
5097 
5102 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
5103  protected:
5104  float m_window[8];
5105  unsigned char m_options;
5106 
5107  public:
5110  : BBaseOpcodeHandler (TKE_Window), m_options (0) {}
5111 
5114  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5115 
5116  TK_Status ReadAscii (BStreamFileToolkit & tk);
5117  TK_Status WriteAscii (BStreamFileToolkit & tk);
5118 
5120  void SetWindow (float l, float r, float b, float t,
5121  float lo = 0, float ro = 0, float bo = 0, float to = 0)
5122  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t;
5123  m_window[4] = lo; m_window[5] = ro; m_window[6] = bo; m_window[7] = to; }
5125  void SetWindow (float const w[]) { SetWindow (w[0], w[1], w[2], w[3]); }
5127  void SetWindow (float const w[], float const o[])
5128  { SetWindow (w[0], w[1], w[2], w[3], o[0], o[1], o[2], o[3]); }
5130  void SetWindow (int n, float const w[])
5131  { if (n == 8) SetWindow (w[0], w[1], w[2], w[4], w[5], w[6], w[7], w[8]);
5132  else SetWindow (w[0], w[1], w[2], w[3]);
5133  }
5135  float const * GetWindow () const { return m_window; }
5136 
5138  void SetOptions (int opt) { m_options = (unsigned char)opt; }
5140  int GetOptions () const { return m_options; }
5141 };
5142 
5143 
5144 
5146 
5153 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
5154  protected:
5155  int m_mask;
5156  int m_value;
5158  char * m_names;
5159  float m_size;
5160  float m_tolerance;
5161  float m_rotation;
5162  float m_slant;
5169  int m_renderers[2];
5170  int m_preferences[2];
5173  char * m_shape;
5174  char * m_style;
5176  float m_margins[4];
5177  unsigned char m_margin_units[4];
5178  unsigned char m_size_units;
5179  unsigned char m_tolerance_units;
5180  unsigned char m_space_units;
5181  unsigned char m_greeking_units;
5182  unsigned char m_greeking_mode;
5183  unsigned char m_transforms;
5184  unsigned char m_renderer_cutoff_units;
5186  unsigned char m_layout;
5187 
5188  void set_names (int length);
5189  void set_names (char const * names);
5190 
5191  public:
5194  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0)
5195  , m_shape_length (0), m_style_length (0), m_shape (0), m_style (0) {}
5196  ~TK_Text_Font ();
5197 
5200  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5201 
5202  TK_Status ReadAscii (BStreamFileToolkit & tk);
5203  TK_Status WriteAscii (BStreamFileToolkit & tk);
5204 
5205  void Reset ();
5206 
5208  void SetMask (int m) {
5209  m_mask = m;
5210  if ((m & TKO_Font_Extended2_Mask) != 0)
5211  m_mask |= TKO_Font_Extended2;
5212  if ((m & TKO_Font_Extended_Mask) != 0)
5213  m_mask |= TKO_Font_Extended;
5214  }
5216  int GetMask () const { return m_mask; }
5217 
5219  void SetValue (int v) { m_value = v; }
5221  int GetValue () const { return m_value; }
5222 
5224  void SetNames (char const * names) { set_names (names); }
5226  void SetNames (int length) { set_names (length); }
5228  char const * GetNames () const { return m_names; }
5230  char * GetNames () { return m_names; }
5231 
5233  void SetShape (char const * shape);
5235  void SetShape (int length);
5237  char const * GetShape () const { return m_shape; }
5239  char * GetShape () { return m_shape; }
5240 
5242  void SetStyle (char const * shape);
5244  void SetStyle (int length);
5246  char const * GetStyle () const { return m_style; }
5248  char * GetStyle () { return m_style; }
5249 
5251  void SetSize (float s) { m_size = s; }
5253  float GetSize () const { return m_size; }
5254 
5256  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
5258  int GetSizeUnits () const { return (int)m_size_units; }
5259 
5261  void SetTolerance (float t) { m_tolerance = t; }
5263  float GetTolerance () const { return m_tolerance; }
5264 
5266  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
5268  int GetToleranceUnits () const { return (int)m_tolerance_units; }
5269 
5271  void SetRotation (float r) { m_rotation = r; }
5273  float GetRotation () const { return m_rotation; }
5274 
5276  void SetSlant (float s) { m_slant = s; }
5278  float GetSlant () const { return m_slant; }
5279 
5281  void SetWidthScale (float s) { m_width_scale = s; }
5283  float GetWidthScale () const { return m_width_scale; }
5284 
5286  void SetExtraSpace (float s) { m_extra_space = s; }
5288  float GetExtraSpace () const { return m_extra_space; }
5289 
5291  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
5293  int GetExtraSpaceUnits () const { return (int)m_space_units; }
5294 
5296  void SetLineSpacing (float s) { m_line_spacing = s; }
5298  float GetLineSpacing () const { return m_line_spacing; }
5299 
5301  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
5303  int GetTransforms () const { return (int)m_transforms; }
5304 
5306  void SetGreekingLimit (float s) { m_greeking_limit = s; }
5308  float GetGreekingLimit () const { return m_greeking_limit; }
5309 
5311  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
5313  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
5314 
5316  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
5318  int GetGreekingMode () const { return (int)m_greeking_mode; }
5319 
5320 
5322  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
5324  int GetRenderer () const { return m_renderers[0]; }
5325 
5327  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
5329  int const * GetRenderers () const { return m_renderers; }
5330 
5332  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
5334  float GetRendererCutoff () const { return m_renderer_cutoff; }
5335 
5337  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
5339  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
5340 
5341 
5343  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
5345  int GetPreference () const { return m_preferences[0]; }
5346 
5348  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
5350  int const * GetPreferences () const { return m_preferences; }
5351 
5353  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
5355  float GetPreferenceCutoff () const { return m_preference_cutoff; }
5356 
5358  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
5360  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
5361 
5363  void SetLayout (int l) {m_layout = (unsigned char)l;}
5365  int GetLayout () const {return (int)m_layout;}
5366 };
5367 
5369 
5371 
5381 
5393 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
5394  protected:
5395  double m_dvalues[6];
5396  float m_values[6];
5397  char m_type;
5398  bool m_is_valid;
5399  public:
5401  TK_Bounding (unsigned char opcode)
5402  : BBaseOpcodeHandler (opcode) {}
5404  TK_Bounding (unsigned char opcode, float min[], float max[])
5405  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5406  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
5407  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
5408  }
5410  TK_Bounding (unsigned char opcode, float center[], float radius)
5411  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5412  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
5413  m_values[3] = radius;
5414  }
5416  TK_Bounding (unsigned char opcode, double min[], double max[])
5417  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5418  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
5419  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
5421  }
5423  TK_Bounding (unsigned char opcode, double center[], double radius)
5424  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5425  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
5426  m_dvalues[3] = radius;
5428  }
5429 
5432  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5433 
5434  TK_Status ReadAscii (BStreamFileToolkit & tk);
5435  TK_Status WriteAscii (BStreamFileToolkit & tk);
5436 };
5437 
5439 
5441 
5447 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
5448  protected:
5449  float m_point[3];
5450  double m_dpoint[3];
5451  char m_options;
5452 
5453  public:
5455  TK_Point (unsigned char opcode)
5456  : BBaseOpcodeHandler (opcode) {
5457  m_point[0] = m_point[1] = m_point[2] = 0;
5458  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5459  m_options = 0;
5460  };
5461 
5464  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5465 
5466  TK_Status ReadAscii (BStreamFileToolkit & tk);
5467  TK_Status WriteAscii (BStreamFileToolkit & tk);
5468 
5469  void Reset(void) {
5470  m_point[0] = m_point[1] = m_point[2] = 0;
5471  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5472  m_options = 0;
5474  };
5475 
5476 
5477 
5479  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
5481  void SetPoint (float const p[]) { SetPoint (p[0], p[1], p[2]); }
5483  float const * GetPoint () const { return m_point; }
5484 
5486  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
5488  void SetDPoint (double const p[]) { SetDPoint (p[0], p[1], p[2]); }
5490  double const * GetDPoint () const { return m_dpoint; }
5491 
5493  void SetOptions (int o) { m_options = (char)o; }
5495  int GetOptions () const { return (int)m_options; }
5496 
5497 };
5498 
5499 
5500 
5502 
5507 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
5508  protected:
5510  float m_points[6];
5512  double m_dpoints[6];
5513 
5514  public:
5516  TK_Line (unsigned char opcode = TKE_Line)
5517  : BBaseOpcodeHandler (opcode) {}
5518 
5521  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5522 
5523  TK_Status ReadAscii (BStreamFileToolkit & tk);
5524  TK_Status WriteAscii (BStreamFileToolkit & tk);
5525 
5527  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
5528  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
5529  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
5530  }
5532  void SetPoints (float const s[], float const e[]) {
5533  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5534  }
5536  void SetPoints (float const p[]) { SetPoints (&p[0], &p[3]); }
5538  float const * GetPoints () const { return m_points; }
5539 
5541  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
5542  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
5543  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
5544  }
5546  void SetDPoints (double const s[], double const e[]) {
5547  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5548  }
5550  void SetDPoints (double const p[]) { SetDPoints (&p[0], &p[3]); }
5552  double const * GetDPoints () const { return m_dpoints; }
5553 
5554 };
5555 
5556 
5557 
5559 
5566 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
5567  protected:
5568  int m_count;
5570  float * m_points;
5571  double * m_dpoints;
5574  void set_points (int count, float const points[] = 0) { SetPoints (count, points); }
5575  public:
5579  TK_Polypoint (unsigned char opcode)
5580  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
5581  ~TK_Polypoint();
5582 
5585  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5586 
5587  TK_Status ReadAscii (BStreamFileToolkit & tk);
5588  TK_Status WriteAscii (BStreamFileToolkit & tk);
5589 
5590  void Reset ();
5591 
5594  void SetPoints (int count, float const points[] = 0);
5596  float const * GetPoints () const { return m_points; }
5598  float * GetPoints () { return m_points; }
5599 
5602  void SetDPoints (int count, double const points[] = 0);
5604  double const * GetDPoints () const { return m_dpoints; }
5606  double * GetDPoints () { return m_dpoints; }
5607 
5609  int GetCount () const { return m_count; }
5610 
5611 };
5612 
5613 
5614 
5615 
5616 #define NC_HAS_WEIGHTS 0x01
5617 #define NC_HAS_KNOTS 0x02
5618 #define NC_HAS_START 0x04
5619 #define NC_HAS_END 0x08
5620 
5621 
5627 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
5628  protected:
5629  unsigned char m_optionals;
5630  unsigned char m_degree;
5635  float *m_weights;
5636  float *m_knots;
5637  float m_start;
5638  float m_end;
5640  void set_curve (int degree, int control_count, float const points[] = 0,
5642  float const weights[] = 0, float const knots[] = 0,
5643  float start = 0.0f, float end = 1.0f);
5644  public:
5645  TK_NURBS_Curve();
5646  ~TK_NURBS_Curve();
5647 
5650  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5651 
5652  TK_Status ReadAscii (BStreamFileToolkit & tk);
5653  TK_Status WriteAscii (BStreamFileToolkit & tk);
5654 
5655  void Reset ();
5656 
5658  void SetCurve (int degree, int control_count, float const points[] = 0,
5659  float const weights[] = 0, float const knots[] = 0,
5660  float start = 0.0f, float end = 1.0f) {
5661  set_curve (degree, control_count, points, weights, knots, start, end);
5662  }
5663  void SetDCurve (int degree, int control_count, double const points[] = 0,
5664  float const weights[] = 0, float const knots[] = 0,
5665  float start = 0.0f, float end = 1.0f);
5666 
5667  float const * GetPoints () const { return m_control_points; }
5668  float * GetPoints () { return m_control_points; }
5669  double const * GetDPoints () const { return m_dcontrol_points; }
5670  double * GetDPoints () { return m_dcontrol_points; }
5672  int GetDegree () const { return m_degree; }
5673  int GetCount () const { return m_control_point_count; }
5674  float const * GetWeights () const { return m_weights; }
5675  float * GetWeights () { return m_weights; }
5676  float const * GetKnots () const { return m_knots; }
5677  float * GetKnots () { return m_knots; }
5679  void SetStart (float s) { m_start = s; }
5680  float GetStart () const { return m_start; }
5681  void SetEnd (float e) { m_end = e; }
5682  float GetEnd () const { return m_end; }
5684  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5685  int GetOptions () const { return m_optionals; }
5687 };
5688 
5689 
5690 
5691 
5692 
5693 #define NS_HAS_WEIGHTS 0x01
5694 #define NS_HAS_KNOTS 0x02
5695 #define NS_HAS_TRIMS 0x04
5696 
5697 #define NS_TRIM_END 0
5698 #define NS_TRIM_POLY 1
5699 #define NS_TRIM_CURVE 2
5700 #define NS_TRIM_COLLECTION 3
5701 #define NS_TRIM_LAST_KNOWN_TYPE 3
5702 
5703 #define NS_TRIM_KEEP 0x01
5704 #define NS_TRIM_HAS_WEIGHTS 0x02
5705 #define NS_TRIM_HAS_KNOTS 0x04
5706 
5707 
5714 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
5715  friend class TK_NURBS_Surface;
5716  protected:
5717  //first 5 are relevant to polys and curves
5720  unsigned char m_type;
5721  int m_count;
5722  float * m_points;
5723  //next 6 are specific to curves
5724  unsigned char m_degree;
5725  unsigned char m_options;
5726  float * m_weights;
5727  float * m_knots;
5728  float m_start_u;
5729  float m_end_u;
5733  HT_NURBS_Trim();
5734  TK_Status read_collection(BStreamFileToolkit & tk);
5735  TK_Status write_collection(BStreamFileToolkit & tk);
5738  public:
5739  ~HT_NURBS_Trim();
5740  void SetPoly (int count, float const points[] = 0);
5741  void SetCurve (int degree, int control_count, float const points[] = 0,
5742  float const weights[] = 0, float const knots[] = 0, float start_u = 0, float end_u = 1);
5743  void SetCollection ();
5744  HT_NURBS_Trim * PrependCollection();
5745  void SetOptions (int o) { m_options = (unsigned char)o; }
5746  void SetList (HT_NURBS_Trim *node) { m_list = node; }
5747  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
5748  void SetStart(float start) { m_start_u = start; }
5749  void SetEnd(float end) { m_end_u = end; }
5750 
5753 
5756 
5757  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
5758  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
5759 
5761  HT_NURBS_Trim * GetNext (void) { return m_next; }
5762  HT_NURBS_Trim const * GetNext (void) const { return m_next; }
5764  int GetType () const { return m_type; }
5766  int GetCount () const { return m_count; }
5768  float const * GetPoints () const { return m_points; }
5770  float * GetPoints () { return m_points; }
5772  int GetDegree () const { return m_degree; }
5774  float GetStart() const { return m_start_u; }
5776  float GetEnd() const { return m_end_u; }
5778  int GetOptions () const { return m_options; }
5780  float const * GetWeights () const { return m_weights; }
5782  float * GetWeights () { return m_weights; }
5784  float const * GetKnots () const { return m_knots; }
5786  float * GetKnots () { return m_knots; }
5788  HT_NURBS_Trim const *GetList () const { return m_list; }
5790  HT_NURBS_Trim * GetList () { return m_list; }
5791 
5792 };
5793 
5795 
5800 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
5801  protected:
5802  unsigned char m_optionals;
5803  unsigned char m_degree[2];
5804  int m_size[2];
5807  float * m_weights;
5808  float * m_u_knots;
5809  float * m_v_knots;
5815  public:
5816  TK_NURBS_Surface();
5817  ~TK_NURBS_Surface();
5818 
5821  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5822 
5823  TK_Status ReadAscii (BStreamFileToolkit & tk);
5824  TK_Status WriteAscii (BStreamFileToolkit & tk);
5825 
5826  void Reset ();
5828  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
5829  float const points[] = 0, float const weights[] = 0,
5830  float const u_knots[] = 0, float const v_knots[] = 0);
5831  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
5832  double const points[] = 0, float const weights[] = 0,
5833  float const u_knots[] = 0, float const v_knots[] = 0);
5836  float const * GetPoints () const { return m_control_points; }
5838  float * GetPoints () { return m_control_points; }
5840  double const * GetDPoints () const { return m_dcontrol_points; }
5842  double * GetDPoints () { return m_dcontrol_points; }
5843 
5845  int GetUDegree () const { return m_degree[0]; }
5847  int GetVDegree () const { return m_degree[1]; }
5849  int GetUSize () const { return m_size[0]; }
5851  int GetVSize () const { return m_size[1]; }
5853  float const * GetWeights () const { return m_weights; }
5855  float * GetWeights () { return m_weights; }
5857  float const * GetUKnots () const { return m_u_knots; }
5859  float * GetUKnots () { return m_u_knots; }
5861  float const * GetVKnots () const { return m_v_knots; }
5863  float * GetVKnots () { return m_v_knots; }
5864 
5866  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5868  int GetOptions () const { return m_optionals; }
5869 
5871  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
5873  HT_NURBS_Trim * GetTrims () { return m_trims; }
5874 
5875 
5876 };
5877 
5879 
5884 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
5885  protected:
5886  int m_count;
5887  float * m_points;
5888  double * m_dpoints;
5889  char m_options;
5890 
5892  void set_points (int count, float const points[] = 0);
5893 
5894  public:
5897  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
5898  ~TK_Area_Light();
5899 
5902  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5903 
5904  TK_Status ReadAscii (BStreamFileToolkit & tk);
5905  TK_Status WriteAscii (BStreamFileToolkit & tk);
5906 
5907  void Reset ();
5908 
5913  void SetPoints (int count, float const points[] = 0) { set_points (count, points); }
5915  float const * GetPoints () const { return m_points; }
5917  float * GetPoints () { return m_points; }
5918 
5923  void SetDPoints (int count, double const points[] = 0) ;
5925  double const * GetDPoints () const { return m_dpoints; }
5927  double * GetDPoints () { return m_dpoints; }
5928 
5930  int GetCount () const { return m_count; }
5931 
5933  void SetOptions (int o) { m_options = (char)o; }
5935  int GetOptions () const { return (int)m_options; }
5936 };
5937 
5938 
5940 
5945 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
5946  protected:
5947  float m_position[3];
5948  float m_target[3];
5949  double m_dposition[3];
5950  double m_dtarget[3];
5951  float m_outer;
5952  float m_inner;
5954  char m_options;
5955 
5956  public:
5959  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
5960 
5963  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5964 
5965  TK_Status ReadAscii (BStreamFileToolkit & tk);
5966  TK_Status WriteAscii (BStreamFileToolkit & tk);
5967 
5969  void SetPosition (float x, float y, float z)
5970  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
5972  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
5974  float const * GetPosition () const { return m_position; }
5975 
5977  void SetDPosition (double x, double y, double z)
5978  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
5980  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
5982  double const * GetDPosition () const { return m_dposition; }
5983 
5985  void SetTarget (float x, float y, float z)
5986  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
5988  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5990  float const * GetTarget () const { return m_target; }
5991 
5993  void SetDTarget (double x, double y, double z)
5994  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
5996  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5998  double const * GetDTarget () const { return m_dtarget; }
5999 
6001  void SetOuter (float o) { m_outer = o; }
6003  float GetOuter () const { return m_outer; }
6004 
6006  void SetInner (float i) { m_inner = i; }
6008  float GetInner () const { return m_inner; }
6009 
6011  void SetConcentration (float c) { m_concentration = c; }
6013  float GetConcentration () const { return m_concentration; }
6014 
6016  void SetOptions (int o) { m_options = (char)o; }
6018  int GetOptions () const { return (int)m_options; }
6019 };
6020 
6021 
6023 
6028 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
6029  protected:
6030  float * m_planes;
6031  double * m_dplanes;
6032  int m_count;
6033 
6034  public:
6037  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
6038  ~TK_Cutting_Plane ();
6039 
6042  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6043 
6044  TK_Status ReadAscii (BStreamFileToolkit & tk);
6045  TK_Status WriteAscii (BStreamFileToolkit & tk);
6046 
6047  void Reset ();
6048 
6050  void SetPlanes (int count, float const p[]=0);
6052  void SetDPlanes (int count, double const p[]=0);
6053 
6055  void SetPlane (float a, float b, float c, float d)
6056  { SetPlanes(1);
6057  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
6059  void SetDPlane (double a, double b, double c, double d)
6060  { SetDPlanes(1);
6061  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
6062 
6064  void SetPlane (float const p[]) { SetPlanes (1, p); }
6066  void SetDPlane (double const p[]) { SetDPlanes (1, p); }
6067 
6069  float const * GetPlane () const { return m_planes; }
6071  double const * GetDPlane () const { return m_dplanes; }
6072 
6074  float const * GetPlanes () const { return m_planes; }
6076  double const * GetDPlanes () const { return m_dplanes; }
6077 
6079  int GetCount () const { return m_count; }
6080 };
6081 
6082 
6084 
6091 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
6092  protected:
6093  float m_points[9];
6094  float m_center[3];
6095  double m_dpoints[9];
6096  double m_dcenter[3];
6097  unsigned char m_flags;
6100  public:
6102  TK_Circle (unsigned char opcode)
6103  : BBaseOpcodeHandler (opcode), m_flags (0) {}
6104 
6107  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6108 
6109  TK_Status ReadAscii (BStreamFileToolkit & tk);
6110  TK_Status WriteAscii (BStreamFileToolkit & tk);
6111 
6112  void Reset ();
6113 
6115  void SetStart (float x, float y, float z) {
6116  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6117  }
6119  void SetStart (float const s[]) {
6120  SetStart (s[0], s[1], s[2]);
6121  }
6123  void SetMiddle (float x, float y, float z) {
6124  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6125  }
6127  void SetMiddle (float const m[]) {
6128  SetMiddle (m[0], m[1], m[2]);
6129  }
6131  void SetEnd (float x, float y, float z) {
6132  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6133  }
6135  void SetEnd (float const e[]) {
6136  SetEnd (e[0], e[1], e[2]);
6137  }
6139  void SetCenter (float x, float y, float z) {
6140  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6141  m_flags = TKO_Circular_Center;
6142  }
6144  void SetCenter (float const c[]) {
6145  if (c) SetCenter (c[0], c[1], c[2]);
6146  else m_flags = 0;
6147  }
6149  void SetPoints (float const s[], float const m[], float const e[],
6150  float const c[] = 0) {
6151  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
6152  }
6153 
6155  float const * GetStart () const { return &m_points[0]; }
6157  float const * GetMiddle () const { return &m_points[3]; }
6159  float const * GetEnd () const { return &m_points[6]; }
6161  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
6162 
6164  void SetDStart (double x, double y, double z) {
6165  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6166  }
6168  void SetDStart (double const s[]) {
6169  SetDStart (s[0], s[1], s[2]);
6170  }
6172  void SetDMiddle (double x, double y, double z) {
6173  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6174  }
6176  void SetDMiddle (double const m[]) {
6177  SetDMiddle (m[0], m[1], m[2]);
6178  }
6180  void SetDEnd (double x, double y, double z) {
6181  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6182  }
6184  void SetDEnd (double const e[]) {
6185  SetDEnd (e[0], e[1], e[2]);
6186  }
6188  void SetDCenter (double x, double y, double z) {
6189  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6190  m_flags = TKO_Circular_Center;
6191  }
6193  void SetDCenter (double const c[]) {
6194  if (c) SetDCenter (c[0], c[1], c[2]);
6195  else m_flags = 0;
6196  }
6198  void SetDPoints (double const s[], double const m[], double const e[],
6199  double const c[] = 0) {
6200  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
6201  }
6202 
6204  double const * GetDStart () const { return &m_dpoints[0]; }
6206  double const * GetDMiddle () const { return &m_dpoints[3]; }
6208  double const * GetDEnd () const { return &m_dpoints[6]; }
6210  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
6211 };
6212 
6213 
6215 
6222 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
6223  protected:
6224  float m_points[9];
6225  double m_dpoints[9];
6226  float m_limits[2];
6228  public:
6230  TK_Ellipse (unsigned char opcode)
6231  : BBaseOpcodeHandler (opcode) {}
6232 
6235  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6236 
6237  TK_Status ReadAscii (BStreamFileToolkit & tk);
6238  TK_Status WriteAscii (BStreamFileToolkit & tk);
6239 
6241  void SetCenter (float x, float y, float z) {
6242  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6243  }
6245  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6247  float const * GetCenter () const { return &m_points[0]; }
6248 
6250  void SetMajor (float x, float y, float z) {
6251  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6252  }
6254  void SetMajor (float const m[]) { SetMajor (m[0], m[1], m[2]); }
6256  float const * GetMajor () const { return &m_points[3]; }
6257 
6259  void SetMinor (float x, float y, float z) {
6260  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6261  }
6263  void SetMinor (float const m[]) { SetMinor (m[0], m[1], m[2]); }
6265  float const * GetMinor () const { return &m_points[6]; }
6266 
6267 
6269  void SetDCenter (double x, double y, double z) {
6270  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6271  }
6273  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6275  double const * GetDCenter () const { return &m_dpoints[0]; }
6276 
6278  void SetDMajor (double x, double y, double z) {
6279  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6280  }
6282  void SetDMajor (double const m[]) { SetDMajor (m[0], m[1], m[2]); }
6284  double const * GetDMajor () const { return &m_dpoints[3]; }
6285 
6287  void SetDMinor (double x, double y, double z) {
6288  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6289  }
6291  void SetDMinor (double const m[]) { SetDMinor (m[0], m[1], m[2]); }
6293  double const * GetDMinor () const { return &m_dpoints[6]; }
6294 
6296  void SetLimits (float s, float e) {
6297  m_limits[0] = s; m_limits[1] = e;
6298  }
6300  float const * GetLimits () const { return m_limits; }
6301 };
6302 
6303 
6305 
6312 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
6313  protected:
6314  unsigned char m_flags;
6315  float m_center[3];
6316  float m_radius;
6317  float m_axis[3];
6318  float m_ortho[3];
6319  double m_dcenter[3];
6320  double m_dradius;
6321  double m_daxis[3];
6322  double m_dortho[3];
6324  public:
6327  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
6328 
6331  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6332 
6333  TK_Status ReadAscii (BStreamFileToolkit & tk);
6334  TK_Status WriteAscii (BStreamFileToolkit & tk);
6335 
6336  void Reset ();
6337 
6339  void SetCenter (float x, float y, float z) {
6340  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6341  }
6343  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6345  float const * GetCenter () const { return m_center; }
6346 
6347 
6349  void SetRadius (float r) { m_radius = r; }
6351  float GetRadius () const { return m_radius; }
6352 
6354  void SetAxis (float x, float y, float z) {
6355  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
6356  if (x != 0.0f || y != 1.0f || z != 0.0f)
6357  m_flags &= ~TKSPH_NULL_AXIS;
6358  }
6360  void SetAxis (float const s[]) { SetAxis (s[0], s[1], s[2]); }
6362  float const * GetAxis () const { return m_axis; }
6363 
6365  void SetOrtho (float x, float y, float z) {
6366  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
6367  if (x != 1.0f || y != 0.0f || z != 0.0f)
6368  m_flags &= ~TKSPH_NULL_AXIS;
6369  }
6371  void SetOrtho (float const s[]) { SetOrtho (s[0], s[1], s[2]); }
6373  float const * GetOrtho () const { return m_ortho; }
6374 
6375 
6377  void SetDCenter (double x, double y, double z) {
6378  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6379  }
6381  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6383  double const * GetDCenter () const { return m_dcenter; }
6384 
6385 
6387  void SetDRadius (double r) { m_dradius = r; }
6389  double GetDRadius () const { return m_dradius; }
6390 
6392  void SetDAxis (double x, double y, double z) {
6393  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
6394  if (x != 0.0f || y != 1.0f || z != 0.0f)
6395  m_flags &= ~TKSPH_NULL_AXIS;
6396  }
6398  void SetDAxis (double const s[]) { SetDAxis (s[0], s[1], s[2]); }
6400  double const * GetDAxis () const { return m_daxis; }
6401 
6403  void SetDOrtho (double x, double y, double z) {
6404  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
6405  if (x != 1.0f || y != 0.0f || z != 0.0f)
6406  m_flags &= ~TKSPH_NULL_AXIS;
6407  }
6409  void SetDOrtho (double const s[]) { SetDOrtho (s[0], s[1], s[2]); }
6411  double const * GetDOrtho () const { return m_dortho; }
6412 
6413 
6417  enum Flags {
6418  TKSPH_NONE = 0x0,
6419  TKSPH_NULL_AXIS = 0x1
6420  };
6421 
6422 };
6423 
6424 
6426 
6433 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
6434  protected:
6435  float m_axis[6];
6436  float m_radius;
6437  double m_daxis[6];
6438  double m_dradius;
6439  unsigned char m_flags;
6441  public:
6444  : BBaseOpcodeHandler (TKE_Cylinder) {}
6445 
6448  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6449 
6450  TK_Status ReadAscii (BStreamFileToolkit & tk);
6451  TK_Status WriteAscii (BStreamFileToolkit & tk);
6452 
6454  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
6455  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
6456  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
6457  }
6459  void SetAxis (float const s[], float const e[]) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6461  void SetAxis (float const a[]) { SetAxis (&a[0], &a[3]); }
6463  float const * GetAxis () const { return m_axis; }
6465  float const * GetStart () const { return &m_axis[0]; }
6467  float const * GetEnd () const { return &m_axis[3]; }
6468 
6470  void SetRadius (float r) { m_radius = r; }
6472  float GetRadius () const { return m_radius; }
6473 
6474 
6476  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
6477  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
6478  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
6479  }
6481  void SetDAxis (double const s[], double const e[]) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6483  void SetDAxis (double const a[]) { SetDAxis (&a[0], &a[3]); }
6485  double const * GetDAxis () const { return m_daxis; }
6487  double const * GetDStart () const { return &m_daxis[0]; }
6489  double const * GetDEnd () const { return &m_daxis[3]; }
6490 
6492  void SetDRadius (double r) { m_dradius = r; }
6494  double GetDRadius () const { return m_dradius; }
6495 
6496 
6498  void SetCaps (int f) { m_flags = (unsigned char)f; }
6500  int GetCaps () const { return m_flags; }
6501 
6506  TKCYL_NONE = 0,
6507  TKCYL_FIRST = 1,
6508  TKCYL_SECOND = 2,
6509  TKCYL_BOTH = 3
6510  };
6511 
6512 };
6513 
6514 
6516 
6523 #include "BPolyhedron.h"
6524 
6525 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
6526  protected:
6527  int m_count;
6528  float * m_points;
6529  double * m_dpoints;
6531  float * m_radii;
6532  double * m_dradii;
6533  unsigned char m_flags;
6534  float m_normals[6];
6536  public:
6539  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
6540  m_radius_count (0), m_radii (0), m_dradii (0) {}
6541  ~TK_PolyCylinder();
6542 
6545  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6546 
6547  TK_Status ReadAscii (BStreamFileToolkit & tk);
6548  TK_Status WriteAscii (BStreamFileToolkit & tk);
6549 
6550  virtual void Reset ();
6551 
6556  TKCYL_NORMAL_FIRST = 0x04,
6557  TKCYL_NORMAL_SECOND = 0x08,
6558  TKCYL_OPTIONALS = 0x10
6559  };
6560 
6565  void SetPoints (int count, float const points[] = 0);
6567  float const * GetPoints () const { return m_points; }
6569  float * GetPoints () { return m_points; }
6570 
6575  void SetRadii (int count, float const radii[] = 0);
6577  void SetRadius (float radius) { SetRadii (1, &radius); }
6579  float const * GetRadii () const { return m_radii; }
6581  float * GetRadii () { return m_radii; }
6582 
6583 
6588  void SetDPoints (int count, double const points[] = 0);
6590  double const * GetDPoints () const { return m_dpoints; }
6592  double * GetDPoints () { return m_dpoints; }
6593 
6598  void SetDRadii (int count, double const radii[] = 0);
6600  void SetDRadius (double radius) { SetDRadii (1, &radius); }
6602  double const * GetDRadii () const { return m_dradii; }
6604  double * GetDRadii () { return m_dradii; }
6605 
6606 
6608  int GetCount () const { return m_count; }
6610  int GetRadiusCount () const { return m_radius_count; }
6611 
6612 
6613 
6614 
6616  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
6618  int GetCaps () const { return m_flags & 0x03; }
6619 
6621  void SetEndNormal (int index, float const normal[] = 0) {
6622  int mask = 0x40 << index;
6623  if (normal == 0)
6624  m_flags &= ~mask;
6625  else {
6626  m_flags |= mask;
6627  m_normals[3*index+0] = normal[0];
6628  m_normals[3*index+1] = normal[1];
6629  m_normals[3*index+2] = normal[2];
6630  }
6631  }
6633  float const * GetEndNormal (int index) const {
6634  int mask = 0x40 << index;
6635  if (m_flags & mask)
6636  return &m_normals[3*index];
6637  else
6638  return 0;
6639  }
6640 };
6641 
6642 
6644 
6650 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
6651  protected:
6652  char m_type;
6653  float m_points[9];
6654  double m_dpoints[9];
6655  int m_counts[2];
6657  public:
6660  : BBaseOpcodeHandler (TKE_Grid) {}
6661 
6664  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6665 
6666  TK_Status ReadAscii (BStreamFileToolkit & tk);
6667  TK_Status WriteAscii (BStreamFileToolkit & tk);
6668 
6670  void SetOrigin (float x, float y, float z) {
6671  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6672  }
6674  void SetOrigin (float const o[]) { SetOrigin (o[0], o[1], o[2]); }
6676  float const * GetOrigin () const { return &m_points[0]; }
6678  float * GetOrigin () { return &m_points[0]; }
6679 
6681  void SetRef1 (float x, float y, float z) {
6682  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6683  }
6685  void SetRef1 (float const r[]) { SetRef1 (r[0], r[1], r[2]); }
6687  float const * GetRef1 () const { return &m_points[3]; }
6689  float * GetRef1 () { return &m_points[3]; }
6690 
6692  void SetRef2 (float x, float y, float z) {
6693  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6694  }
6696  void SetRef2 (float const r[]) { SetRef2 (r[0], r[1], r[2]); }
6698  float const * GetRef2 () const { return &m_points[6]; }
6700  float * GetRef2 () { return &m_points[6]; }
6701 
6702 
6704  void SetDOrigin (double x, double y, double z) {
6705  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6706  }
6708  void SetDOrigin (double const o[]) { SetDOrigin (o[0], o[1], o[2]);}
6710  double const * GetDOrigin () const { return &m_dpoints[0]; }
6712  double * GetDOrigin () { return &m_dpoints[0]; }
6713 
6715  void SetDRef1 (double x, double y, double z) {
6716  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6717  }
6719  void SetDRef1 (double const r[]) { SetDRef1 (r[0], r[1], r[2]); }
6721  double const * GetDRef1 () const { return &m_dpoints[3]; }
6723  double * GetDRef1 () { return &m_dpoints[3]; }
6724 
6726  void SetDRef2 (double x, double y, double z) {
6727  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6728  }
6730  void SetDRef2 (double const r[]) { SetDRef2 (r[0], r[1], r[2]); }
6732  double const * GetDRef2 () const { return &m_dpoints[6]; }
6734  double * GetDRef2 () { return &m_dpoints[6]; }
6735 
6736 
6738  void SetCounts (int c1, int c2) {
6739  m_counts[0] = c1; m_counts[1] = c2;
6740  }
6742  int const * GetCounts () const { return m_counts; }
6744  int * GetCounts () { return m_counts; }
6745 
6747  void SetType (int t) { m_type = (char)t; }
6749  int GetType () const { return (int)m_type; }
6750 };
6751 
6753 
6756  char * name;
6757 
6758  float color[3];
6759  float size;
6762  float slant;
6763  float rotation;
6764  float width_scale;
6765 
6766  unsigned short mask;
6767  unsigned short value;
6768 
6769  unsigned char size_units;
6770  unsigned char vertical_offset_units;
6771  unsigned char horizontal_offset_units;
6772 };
6773 
6774 
6776 
6782 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
6783  protected:
6784  float m_position[3];
6785  double m_dposition[3];
6786  int m_length;
6788  char * m_string;
6789  unsigned char m_encoding;
6790  unsigned char m_options;
6791  unsigned char m_region_options;
6792  unsigned char m_region_fit;
6793  unsigned char m_region_count;
6794  float m_region[4*3];
6795  double m_dregion[4*3];
6797  int * m_cursors;
6799  float * m_leaders;
6800  unsigned char * m_leader_flags;
6802  double * m_dleaders;
6803  unsigned char * m_dleader_flags;
6804  int m_count;
6807  int m_tmp;
6809  void set_string (char const * string);
6810  void set_string (int length);
6811 
6812  public:
6814  TK_Text (unsigned char opcode);
6815  ~TK_Text();
6816 
6819  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6820 
6821  TK_Status ReadAscii (BStreamFileToolkit & tk);
6822  TK_Status WriteAscii (BStreamFileToolkit & tk);
6823 
6824  void Reset ();
6825 
6827  void SetString (char const * string) { set_string (string); }
6829  void SetString (unsigned short const * string);
6831  void SetString (unsigned int const * string);
6833  void SetString (int length) { set_string (length); }
6835  char const * GetString () const { return m_string; }
6837  char * GetString () { return m_string; }
6838 
6840  void SetPosition (float x, float y, float z)
6841  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6843  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6845  float const * GetPosition () const { return &m_position[0]; }
6846 
6848  void SetDPosition (double x, double y, double z)
6849  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6851  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6853  double const * GetDPosition () const { return &m_dposition[0]; }
6854 
6856  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
6858  int GetEncoding () const { return (int)m_encoding; }
6859 
6861  void SetTextRegion (int c, float const p[], int o=0, int f=0);
6863  void SetTextDRegion (int c, double const p[], int o=0, int f=0);
6865  int GetTextRegionCount () const { return (int)m_region_count; }
6867  float const * GetTextRegionPoints () const { return m_region; }
6869  double const * GetTextRegionDPoints () const { return m_dregion; }
6871  int GetTextRegionOptions () const { return (int)m_region_options; }
6873  int GetTextRegionFitting () const { return (int)m_region_fit; }
6874 
6875 
6877  void SetStringCursors (int length, int * locations = 0);
6879  int GetStringCursorCount () const { return m_cursor_count; }
6881  int const * GetStringCursors () const { return m_cursors; }
6883  int * GetStringCursors () { return m_cursors; }
6884 
6886  void SetTextLeaders (int length, float * locations = 0, unsigned char * flags = 0);
6888  int GetTextLeaderCount () const { return m_leader_count; }
6890  float const * GetTextLeaders () const { return m_leaders; }
6892  float * GetTextLeaders () { return m_leaders; }
6894  unsigned char const * GetTextLeaderFlags () const { return m_leader_flags; }
6896  unsigned char * GetTextLeaderFlags () { return m_leader_flags; }
6897 
6899  void SetDTextLeaders (int length, double * locations = 0, unsigned char * flags = 0);
6901  int GetDTextLeaderCount () const { return m_dleader_count; }
6903  double const * GetDTextLeaders () const { return m_dleaders; }
6905  double * GetDTextLeaders () { return m_dleaders; }
6907  unsigned char const * GetDTextLeaderFlags () const { return m_dleader_flags; }
6909  unsigned char * GetDTextLeaderFlags () { return m_dleader_flags; }
6910 };
6911 
6913 
6915 
6921 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
6922  protected:
6923  char * m_name;
6924  char * m_lookup;
6925  char * m_bytes;
6928  int m_length;
6929  unsigned char m_type;
6930  unsigned char m_encoding;
6932  void set_bytes (int size, char const * bytes = 0);
6935  void set_name (char const * string);
6937  void set_name (int length);
6939  void set_lookup (char const * string);
6941  void set_lookup (int length);
6942 
6943  public:
6945  TK_Font () : BBaseOpcodeHandler (TKE_Font),
6946  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
6947  m_type (0), m_encoding (0) {}
6948  ~TK_Font();
6949 
6952  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6953 
6954  TK_Status ReadAscii (BStreamFileToolkit & tk);
6955  TK_Status WriteAscii (BStreamFileToolkit & tk);
6956 
6957  void Reset ();
6958 
6959 
6961  void SetType (int t) { m_type = (unsigned char)t;}
6963  int GetType () const { return (int)m_type; }
6964 
6969  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
6971  int GetBytesCount () const { return m_length; }
6973  char const * GetBytes () const { return m_bytes; }
6975  char * GetBytes () { return m_bytes; }
6976 
6978  void SetName (char const * string) { set_name (string); }
6980  void SetName (int length) { set_name (length); }
6982  char const * GetName () const { return m_name; }
6984  char * GetName () { return m_name; }
6985 
6987  void SetLookup (char const * string) { set_lookup (string); }
6989  void SetLookup (int length) { set_lookup (length); }
6991  char const * GetLookup () const { return m_lookup; }
6993  char * GetLookup () { return m_lookup; }
6994 
6996  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
6998  int GetEncoding () const { return (int)m_encoding; }
6999 };
7000 
7002 
7003 
7005 extern const int TK_Image_Bytes_Per_Pixel[];
7006 
7007 #ifndef DOXYGEN_SHOULD_SKIP_THIS
7008 
7009 class BBINFILETK_API2 TK_Image_Data_Buffer {
7010  protected:
7011  unsigned char * m_buffer;
7012  unsigned int m_allocated;
7013  unsigned int m_used;
7014 
7015  public:
7017  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
7018  ~TK_Image_Data_Buffer();
7019 
7020  void Resize (unsigned int size);
7021  void Expand (unsigned int size) { Resize (Size() + size); }
7022  void Reset ();
7023 
7024  unsigned int const & Size () const { return m_allocated; }
7025  unsigned int const & Used () const { return m_used; }
7026  unsigned int & Used () { return m_used; }
7027  unsigned char const * Buffer () const { return m_buffer; }
7028  unsigned char * Buffer () { return m_buffer; }
7029 };
7030 
7031 
7032 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
7033 
7034 
7036 
7042 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
7043  protected:
7044  char * m_bytes;
7045  char * m_name;
7046  char * m_reference;
7047  float m_position[3];
7048  double m_dposition[3];
7049  int m_size[2];
7053  unsigned char m_format;
7054  unsigned int m_options;
7055  unsigned char m_compression;
7056  unsigned char m_bytes_format;
7057  float m_explicit_size[2];
7058  unsigned char m_explicit_units[2];
7059  TK_Image_Data_Buffer m_work_area[2];
7064  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
7067  void set_name (char const * string);
7069  void set_name (int length);
7070 
7072  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7074  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7076  TK_Status read_jpeg_header ();
7077 
7078  public:
7080  TK_Image ();
7081  ~TK_Image();
7082 
7085  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7086 
7087  TK_Status ReadAscii (BStreamFileToolkit & tk);
7088  TK_Status WriteAscii (BStreamFileToolkit & tk);
7089  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
7090 
7091 
7092  void Reset ();
7093 
7098  void SetBytes (int size, char const * bytes = 0,
7099  unsigned char data_format = TKO_Compression_None)
7100  { set_data (size, bytes, data_format); }
7102  char const * GetBytes () const { return m_bytes; }
7104  char * GetBytes () { return m_bytes; }
7105 
7107  void SetName (char const * string) { set_name (string); }
7109  void SetName (int length) { set_name (length); }
7111  char const * GetName () const { return m_name; }
7113  char * GetName () { return m_name; }
7114 
7116  void SetReference (char const * string);
7118  void SetReference (int length);
7120  char const * GetReference () const { return m_reference; }
7122  char * GetReference () { return m_reference; }
7123 
7125  void SetPosition (float x, float y, float z)
7126  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7128  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
7130  float const * GetPosition () const { return &m_position[0]; }
7131 
7133  void SetDPosition (double x, double y, double z)
7134  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7136  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
7138  double const * GetDPosition () const { return &m_dposition[0]; }
7139 
7141  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7143  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7145  int const * GetSize () const { return m_size; }
7146 
7148  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
7150  int GetFormat () const { return (int)m_format; }
7151 
7153  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
7155  int GetOptions () const { return (int)m_options; }
7156 
7158  void SetCompression (int c) { m_compression = (unsigned char)c; }
7160  int GetCompression () const { return (int)m_compression; }
7161 };
7162 
7163 
7165 
7167 
7173 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
7174  protected:
7175  char * m_name;
7177  char * m_image;
7178  char * m_camera;
7183  int m_flags;
7194  char m_layout;
7195  char m_tiling;
7196  float m_value_scale[2];
7197  int m_source_dimensions[3];
7198  char * m_transform;
7202  void set_name (int length);
7203  void set_name (char const * name);
7204  void set_image (int length);
7205  void set_image (char const * image);
7206  void set_transform (int length);
7207  void set_transform (char const * transform);
7208 
7209  public:
7211  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
7212  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
7213  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
7214  m_transform (0) {
7215  Reset();
7216  }
7217  ~TK_Texture();
7218 
7221  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7222 
7223  TK_Status ReadAscii (BStreamFileToolkit & tk);
7224  TK_Status WriteAscii (BStreamFileToolkit & tk);
7225 
7226  void Reset ();
7227 
7229  void SetName (char const * name) { set_name (name); }
7231  void SetName (int length) { set_name (length); }
7233  char const * GetName () const { return m_name; }
7235  char * GetName () { return m_name; }
7236 
7238  void SetShaderSource (char const * shader_source);
7240  void SetShaderSource (int length);
7242  char const * GetShaderSource () const { return m_shader_source; }
7244  char * GetShaderSource () { return m_shader_source; }
7245 
7247  void SetImage (char const * image) { set_image (image); }
7249  void SetImage (int length) { set_image (length); }
7251  char const * GetImage () const { return m_image; }
7253  char * GetImage () { return m_image; }
7254 
7256  void SetCamera (char const * camera);
7258  void SetCamera (int length);
7260  char const * GetCamera () const { return m_camera; }
7262  char * GetCamera () { return m_camera; }
7263 
7265  void SetFlags (int f) {
7266  m_flags = f;
7267  if ((f & TKO_Texture_Extended_Mask) != 0)
7268  m_flags |= TKO_Texture_Extended;
7269  }
7271  int GetFlags () const { return m_flags; }
7272 
7274  void SetParameterSource (int p) { m_param_source = (char)p; }
7276  int GetParameterSource () const { return (int)m_param_source; }
7277 
7279  void SetInterpolation (int p) { m_interpolation = (char)p; }
7281  int GetInterpolation () const { return (int)m_interpolation; }
7282 
7284  void SetDecimation (int p) { m_decimation = (char)p; }
7286  int GetDecimation () const { return (int)m_decimation; }
7287 
7289  void SetRedMapping (int p) { m_red_mapping = (char)p; }
7291  int GetRedMapping () const { return (int)m_red_mapping; }
7292 
7294  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
7296  int GetGreenMapping () const { return (int)m_green_mapping; }
7297 
7299  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
7301  int GetBlueMapping () const { return (int)m_blue_mapping; }
7302 
7304  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
7306  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
7307 
7309  void SetParameterFunction (int p) { m_param_function = (char)p; }
7311  int GetParameterFunction () const { return (int)m_param_function; }
7312 
7314  void SetLayout (int p) { m_layout = (char)p; }
7316  int GetLayout () const { return (int)m_layout; }
7317 
7319  void SetTiling (int p) { m_tiling = (char)p; }
7321  int GetTiling () const { return (int)m_tiling; }
7322 
7324  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
7326  float const * GetValueScale () const { return m_value_scale; }
7327 
7329  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
7331  int GetApplicationMode () const { return (int)m_apply_mode; }
7332 
7334  void SetParameterOffset (int p) { m_param_offset = (char)p; }
7336  int GetParameterOffset () const { return (int)m_param_offset; }
7337 
7342  void SetTransform (char const * transform) { set_transform (transform); }
7347  void SetTransform (int length) { set_transform (length); }
7349  char const * GetTransform () const { return m_transform; }
7351  char * GetTransform () { return m_transform; }
7352 };
7353 
7355 
7357 
7363 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
7364  protected:
7365  unsigned char * m_bytes;
7367  int m_size[2];
7368  unsigned char m_format;
7370  public:
7372  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
7373  ~TK_Thumbnail();
7374 
7377  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7378 
7379  TK_Status ReadAscii (BStreamFileToolkit & tk);
7380  TK_Status WriteAscii (BStreamFileToolkit & tk);
7381 
7383  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
7384  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
7385  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
7386  void Reset ();
7387 
7392  void SetBytes (int size, unsigned char const * bytes = 0);
7394  unsigned char const * GetBytes () const { return m_bytes; }
7396  unsigned char * GetBytes () { return m_bytes; }
7397 
7399  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7401  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7403  int const * GetSize () const { return m_size; }
7404 
7406  void SetFormat (int f) { m_format = (unsigned char)f; }
7408  int GetFormat () const { return (int)m_format; }
7409 };
7410 
7411 
7413 
7415 
7420 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
7421  protected:
7423  int m_size;
7424  char * m_name;
7425  char * m_data;
7427  public:
7429  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
7430  m_name_length (0), m_size (0),
7431  m_name (0), m_data (0) {}
7433 
7436  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7437 
7438  TK_Status ReadAscii (BStreamFileToolkit & tk);
7439  TK_Status WriteAscii (BStreamFileToolkit & tk);
7440 
7441  void Reset ();
7442 
7444  void SetName (char const * name);
7446  void SetName (int length);
7448  char const * GetName () const { return m_name; }
7450  char * GetName () { return m_name; }
7451 
7453  void SetDefinition (int size, char const * data = 0);
7455  int GetDefinitionSize () const { return m_size; }
7457  char const * GetDefinition () const { return m_data; }
7459  char * GetDefinition () { return m_data; }
7460 };
7461 
7462 
7464 
7469 class BBINFILETK_API2 TK_Shape_Definition : public BBaseOpcodeHandler {
7470  protected:
7472  int m_size;
7473  char * m_name;
7474  float * m_data;
7476  public:
7478  TK_Shape_Definition () : BBaseOpcodeHandler (TKE_Shape_Definition),
7479  m_name_length (0), m_size (0),
7480  m_name (0), m_data (0) {}
7482 
7485  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7486 
7487  TK_Status ReadAscii (BStreamFileToolkit & tk);
7488  TK_Status WriteAscii (BStreamFileToolkit & tk);
7489 
7490  void Reset ();
7491 
7493  void SetName (char const * name);
7495  void SetName (int length);
7497  char const * GetName () const { return m_name; }
7499  char * GetName () { return m_name; }
7500 
7502  void SetDefinition (int size, float const * data = 0);
7504  int GetDefinitionSize () const { return m_size; }
7506  float const * GetDefinition () const { return m_data; }
7508  float * GetDefinition () { return m_data; }
7509 };
7510 
7511 
7513 
7518 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
7519  protected:
7521  char * m_name;
7524  char * m_segment;
7528  char * m_condition;
7532  bool m_follow;
7533 
7534  public:
7537  m_name_length (0), m_name (0),
7538  m_segment_length (0), m_segment (0) ,
7539  m_cond_length (0), m_cond_allocated (0), m_condition (0),
7540  m_key(-1), m_referee(0), m_follow(true) {}
7541  ~TK_Named_Style_Def();
7542 
7545  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7546 
7547  TK_Status ReadAscii (BStreamFileToolkit & tk);
7548  TK_Status WriteAscii (BStreamFileToolkit & tk);
7549 
7550  void Reset ();
7551 
7553  void SetName (char const * name);
7555  void SetName (int length);
7557  char const * GetName () const { return m_name; }
7559  char * GetName () { return m_name; }
7560 
7565  void SetSegment (char const * segment);
7570  void SetSegment (int length);
7574  char const * GetSegment () const { return m_segment; }
7579  char * GetSegment () { return m_segment; }
7580 };
7581 
7583 
7588 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
7589  protected:
7592  char * m_name;
7593  char * m_definition;
7595  public:
7597  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
7598  m_name_length (0), m_definition_length (0),
7599  m_name (0), m_definition (0) {}
7600  ~TK_Line_Style();
7601 
7604  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7605 
7606  TK_Status ReadAscii (BStreamFileToolkit & tk);
7607  TK_Status WriteAscii (BStreamFileToolkit & tk);
7608 
7609  void Reset ();
7610 
7612  void SetName (char const * name);
7614  void SetName (int length);
7616  char const * GetName () const { return m_name; }
7618  char * GetName () { return m_name; }
7619 
7621  void SetDefinition (char const * def);
7623  void SetDefinition (int length);
7625  char const * GetDefinition () const { return m_definition; }
7627  char * GetDefinition () { return m_definition; }
7628 };
7629 
7631 
7633 
7638 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
7639  protected:
7640  char m_options;
7641  float m_rect[4];
7643  public:
7646  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
7647 
7650  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7651 
7652  TK_Status ReadAscii (BStreamFileToolkit & tk);
7653  TK_Status WriteAscii (BStreamFileToolkit & tk);
7654 
7655  void Reset ();
7656 
7658  void SetRectangle (float left, float right, float bottom, float top)
7659  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
7661  void SetRectangle (float const * rect)
7662  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
7664  float const * GetRectangle () const { return m_rect; }
7665 
7667  void SetOptions (int o) { m_options = (char)o; }
7669  int GetOptions () const { return (int)m_options; }
7670 };
7671 
7673 
7675 
7680 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
7681  protected:
7682  char m_options;
7683  int m_count;
7684  float * m_points;
7685  double * m_dpoints;
7689  public:
7692  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0), m_complex (0) {}
7693  ~TK_Clip_Region();
7694 
7697  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7698 
7699  TK_Status ReadAscii (BStreamFileToolkit & tk);
7700  TK_Status WriteAscii (BStreamFileToolkit & tk);
7701 
7702  void Reset ();
7703 
7708  void SetPoints (int count, float const points[] = 0);
7710  float const * GetPoints () const { return m_points; }
7712  float * GetPoints () { return m_points; }
7713 
7718  void SetDPoints (int count, double const points[] = 0);
7720  double const * GetDPoints () const { return m_dpoints; }
7722  double * GetDPoints () { return m_dpoints; }
7723 
7724 
7726  int GetCount () const { return m_count; }
7727 
7728 
7730  void SetOptions (int o) { m_options = (char)o; }
7732  int GetOptions () const { return (int)m_options; }
7733 };
7734 
7735 
7737 
7739 
7744 class BBINFILETK_API TK_Complex_Clip_Region : public BBaseOpcodeHandler {
7745  protected:
7746  char m_options;
7747  int m_loops;
7748  int m_total;
7749  int * m_lengths;
7750  float * m_points;
7751  double * m_dpoints;
7753  public:
7756  : BBaseOpcodeHandler (TKE_Complex_Clip_Region), m_options (0), m_loops (0), m_total (0),
7757  m_lengths (0), m_points (0), m_dpoints (0) {}
7759 
7762  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7763 
7764  TK_Status ReadAscii (BStreamFileToolkit & tk);
7765  TK_Status WriteAscii (BStreamFileToolkit & tk);
7766 
7767  void Reset ();
7768 
7773  void SetPoints (int count, float const points[] = 0);
7775  float const * GetPoints () const { return m_points; }
7777  float * GetPoints () { return m_points; }
7778 
7783  void SetDPoints (int count, double const points[] = 0);
7785  double const * GetDPoints () const { return m_dpoints; }
7787  double * GetDPoints () { return m_dpoints; }
7788 
7789 
7794  void SetLengths (int count, int const lengths[] = 0);
7796  int const * GetLengths () const { return m_lengths; }
7798  int * GetLengths () { return m_lengths; }
7799 
7800 
7802  int GetTotal () const { return m_total; }
7804  int GetLoops () const { return m_loops; }
7805 
7806 
7808  void SetOptions (int o) { m_options = (char)o; }
7810  int GetOptions () const { return (int)m_options; }
7811 };
7812 
7813 
7815 
7817 
7833 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
7834  protected:
7835  int m_size;
7836  unsigned char * m_data;
7839  void set_data (int size, unsigned char const * bytes = 0);
7841 
7842  public:
7845  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
7846  ~TK_User_Data();
7847 
7850  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7851 
7852  TK_Status ReadAscii (BStreamFileToolkit & tk);
7853  TK_Status WriteAscii (BStreamFileToolkit & tk);
7854 
7856  void Reset ();
7857 
7862  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
7864  unsigned char const * GetUserData () const { return m_data; }
7866  unsigned char * GetUserData () { return m_data; }
7868  int GetSize () const { return m_size; }
7869 
7871  void Resize (int size);
7872 
7874  void SetSize (int size);
7875 };
7876 
7877 
7879 
7881 
7893 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
7894  protected:
7896 
7899  struct vlist_s *m_data;
7900 
7901  public:
7903  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
7904  ~TK_Material();
7905 
7908  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7909  void Reset ();
7910 
7911  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
7912  TK_Status GetBlock (char const **ptr, int *buffer_size);
7913 };
7914 
7916 
7921 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
7922  protected:
7923  int m_size;
7924  char * m_data;
7926  public:
7928  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
7929  ~TK_XML();
7930 
7933  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7934 
7935  TK_Status ReadAscii (BStreamFileToolkit & tk);
7936  TK_Status WriteAscii (BStreamFileToolkit & tk);
7937 
7939  void Reset ();
7940 
7945  void SetXML (int size, char const * data = 0);
7949  void AppendXML (int size, char const * data = 0);
7951  char const * GetXML () const { return m_data; }
7953  char * GetXML () { return m_data; }
7955  int GetSize () const { return m_size; }
7956 };
7957 
7958 
7959 
7961 
7967 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
7968  protected:
7969  int m_length;
7971  char * m_string;
7973  public:
7976  m_length (0), m_allocated (0), m_string (0) {}
7977  ~TK_URL();
7978 
7981  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7982 
7983  TK_Status ReadAscii (BStreamFileToolkit & tk);
7984  TK_Status WriteAscii (BStreamFileToolkit & tk);
7985 
7986  void Reset ();
7987 
7989  void SetString (char const * string);
7991  void SetString (int length);
7993  char const * GetString () const { return m_string; }
7995  char * GetString () { return m_string; }
7996 };
7997 
7998 
8000 
8006 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
8007  protected:
8008  int m_length;
8010  char * m_string;
8012  public:
8013  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
8014  m_length (0), m_allocated (0), m_string (0) {}
8016 
8019  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8020 
8021  TK_Status ReadAscii (BStreamFileToolkit & tk);
8022  TK_Status WriteAscii (BStreamFileToolkit & tk);
8023 
8025  void Reset ();
8026 
8028  void SetString (char const * string);
8030  void SetString (int length);
8032  char const * GetString () const { return m_string; }
8034  char * GetString () { return m_string; }
8035 };
8036 
8037 
8039 
8045 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
8046  protected:
8047  int m_length;
8049  wchar_t * m_string;
8051  public:
8052  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
8053  m_length (0), m_allocated (0), m_string (0) {}
8055 
8058  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8059 
8061  void Reset ();
8062 
8064  void SetString (__wchar_t const * string);
8065 #ifdef _MSC_VER
8066  void SetString (unsigned short const * string);
8067 #endif
8068 
8069  void SetString (int length);
8071  wchar_t const * GetString () const { return m_string; }
8073  wchar_t * GetString () { return m_string; }
8074 };
8075 
8076 
8077 
8078 
8080 
8086 class BBINFILETK_API TK_Image_XRef : public BBaseOpcodeHandler {
8087  protected:
8088  char * m_name;
8090  int m_size[2];
8091  char m_bpp;
8092 
8094  void set_name (char const * string);
8096  void set_name (int length);
8097 
8098  public:
8099  TK_Image_XRef () : BBaseOpcodeHandler (TKE_Image_XRef), m_name (0), m_name_length (0), m_bpp(0)
8100  { m_size[0] = m_size[1] = 0; }
8101  ~TK_Image_XRef();
8102 
8105  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8107  void Reset (void);
8108 
8110  void SetName (char const * string) { set_name (string);}
8112  void SetName (int length) { set_name (length);}
8114  char const * GetName (void) const { return m_name;}
8116  char * GetName (void) { return m_name;}
8117 
8118  void SetSize (int x, int y ) { m_size[0] = x; m_size[1] = y;}
8119  int const* GetSize (void) const { return m_size;}
8120  int * GetSize (void) { return m_size;}
8121 
8122  void SetBitDepth( char bpp ) { m_bpp = bpp;}
8123  char GetBitDepth (void) const { return m_bpp;}
8124  char GetBitDepth (void) { return m_bpp;}
8125 };
8126 
8127 
8128 #endif //BOPCODE_HANDLER
8129 
int GetFlags() const
Definition: BOpcodeHandler.h:7271
void SetOptions(int o)
Definition: BOpcodeHandler.h:5745
void SetAxis(float const s[], float const e[])
Definition: BOpcodeHandler.h:6459
char ** m_isoline_patterns
for internal use only.
Definition: BOpcodeHandler.h:2471
char * GetString()
Definition: BOpcodeHandler.h:2180
void SetColorMarkerContrastLockMask(int m)
Definition: BOpcodeHandler.h:3024
void SetRoughnessMap(char const *name)
Definition: BOpcodeHandler.h:2282
float * m_control_points
Definition: BOpcodeHandler.h:5633
int m_nurbs_options_value
For internal use only.
Definition: BOpcodeHandler.h:2501
static TK_Status PutData(BStreamFileToolkit &tk, short const *s, int n)
Definition: BOpcodeHandler.h:352
shift corresponding to extended bit
Definition: BOpcodeEnums.h:280
char const * GetCondition() const
Definition: BOpcodeHandler.h:4694
int GetOptions() const
Definition: BOpcodeHandler.h:5868
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:4135
char const * GetCoordinateSystems() const
Definition: BOpcodeHandler.h:4235
char const * GetCondition() const
Definition: BOpcodeHandler.h:1356
unsigned char m_cut_geometry_usage
For internal use only.
Definition: BOpcodeHandler.h:2532
float const * GetPoints() const
Definition: BOpcodeHandler.h:5667
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2465
int const * GetRenderers() const
Definition: BOpcodeHandler.h:5329
int GetMaskTransform() const
Definition: BOpcodeHandler.h:3739
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:3640
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:4722
for further expansion
Definition: BOpcodeEnums.h:1185
void SetPoints(float const s[], float const e[])
Definition: BOpcodeHandler.h:5532
int value
For internal use only.
Definition: BOpcodeHandler.h:1058
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5925
char * m_coordinate_systems
internal use
Definition: BOpcodeHandler.h:4179
void SetType(int t)
Definition: BOpcodeHandler.h:6747
float const * GetPoints() const
Definition: BOpcodeHandler.h:5768
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:7645
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:3144
int m_name_length
Definition: BOpcodeHandler.h:7422
TK_Grid()
Definition: BOpcodeHandler.h:6659
int m_name_length
Definition: BOpcodeHandler.h:7051
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:3497
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:3989
char * GetName()
Definition: BOpcodeHandler.h:6984
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:3840
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:2676
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:4070
void SetDUpVector(double const u[])
Definition: BOpcodeHandler.h:5033
void SetVisibilityLockValue(int v)
Definition: BOpcodeHandler.h:2713
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:669
int GetPattern() const
Definition: BOpcodeHandler.h:4549
unsigned char const * GetDTextLeaderFlags() const
Definition: BOpcodeHandler.h:6907
float * m_v_knots
Definition: BOpcodeHandler.h:5809
void SetPattern(int p)
Definition: BOpcodeHandler.h:4547
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:3832
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3363
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6590
int color_value
For internal use only.
Definition: BOpcodeHandler.h:1060
channel m_bump
internal use
Definition: BOpcodeHandler.h:1740
short color_text_mask
For internal use only.
Definition: BOpcodeHandler.h:1069
unsigned short m_unsigned_short
temporary
Definition: BOpcodeHandler.h:81
char m_space
internal use
Definition: BOpcodeHandler.h:1961
int m_allocated
Definition: BOpcodeHandler.h:7366
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:1847
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5634
void SetCoordinateSystems(int count, char const cs[])
Definition: BOpcodeHandler.h:4226
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1409
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:5030
int GetCutGeometryLevel() const
Definition: BOpcodeHandler.h:3750
int GetColorWindowContrastLockValue() const
Definition: BOpcodeHandler.h:2925
void SetTransmission(float const rgb[])
Definition: BOpcodeHandler.h:1843
int GetNURBSCurveBudget() const
Definition: BOpcodeHandler.h:3562
void SetLodFallback(int v)
Definition: BOpcodeHandler.h:3610
double * m_dpoints
Definition: BOpcodeHandler.h:6529
char * GetCondition()
Definition: BOpcodeHandler.h:1429
static TK_Status GetData(BStreamFileToolkit &tk, short &s)
Definition: BOpcodeHandler.h:307
void SetComment(int length)
Definition: BOpcodeHandler.h:983
void SetColorMarkerContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3427
float * m_leaders
Definition: BOpcodeHandler.h:6799
void SetOptions(int o)
Definition: BOpcodeHandler.h:7667
char * m_name
Definition: BOpcodeHandler.h:8088
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char *b, int n)
Definition: BOpcodeHandler.h:295
void SetColorLockValue(int v)
Definition: BOpcodeHandler.h:2736
static TK_Status PutData(BStreamFileToolkit &tk, char const *b, int n)
Definition: BOpcodeHandler.h:349
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:7128
float const * GetUKnots() const
Definition: BOpcodeHandler.h:5857
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:4038
int m_count
internal use
Definition: BOpcodeHandler.h:5886
int m_lookup_length
Definition: BOpcodeHandler.h:6927
int m_shader_source_length
Definition: BOpcodeHandler.h:7180
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:1851
void SetDRef1(double const r[])
Definition: BOpcodeHandler.h:6719
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5977
void SetGeneralDisplacement(int d)
Definition: BOpcodeHandler.h:2671
unsigned short mask
specifies which settings are active (i.e. the attributes for which we have an opinion at this point) ...
Definition: BOpcodeHandler.h:6766
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4807
float const * GetOrigin() const
Definition: BOpcodeHandler.h:6676
unsigned int NextOpcodeSequence()
Definition: BStreamFileToolkit.h:1037
char const * GetCallback() const
Definition: BOpcodeHandler.h:2396
TK_Header()
Definition: BOpcodeHandler.h:878
int m_values_length
internal use
Definition: BOpcodeHandler.h:2121
float GetSize() const
Definition: BOpcodeHandler.h:4521
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:3884
float const * GetField() const
Definition: BOpcodeHandler.h:5044
unsigned char m_degree
Definition: BOpcodeHandler.h:5724
void SetAmbientUpVector(float const v[])
Definition: BOpcodeHandler.h:3924
Capping_Options
Definition: BOpcodeHandler.h:6555
int GetDTextLeaderCount() const
Definition: BOpcodeHandler.h:6901
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:2554
int m_shape_length
for internal use only
Definition: BOpcodeHandler.h:5171
int GetOrientationCount() const
Definition: BOpcodeHandler.h:4221
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:5179
bool GetStreaming() const
Definition: BOpcodeHandler.h:4618
unsigned char m_opcode
The opcode being handled by this particular object.
Definition: BOpcodeHandler.h:65
void SetEmissiveMap(char const *name)
Definition: BOpcodeHandler.h:2264
float * GetDefinition()
Definition: BOpcodeHandler.h:7508
float const * GetRectangle() const
Definition: BOpcodeHandler.h:7664
char m_char
temporary
Definition: BOpcodeHandler.h:83
TK_Status PutGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:490
static TK_Status GetData(BStreamFileToolkit &tk, short *s, int n)
Definition: BOpcodeHandler.h:263
void SetCutVisualizationColor(float const *c)
Definition: BOpcodeHandler.h:4250
int GetMask() const
Definition: BOpcodeHandler.h:5216
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:2666
int m_size
Definition: BOpcodeHandler.h:7835
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeEnums.h:1122
void SetFormat(int f)
Definition: BOpcodeHandler.h:7148
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:5059
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:2851
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:4532
double * m_dpoints
Definition: BOpcodeHandler.h:7685
channel m_specular
internal use
Definition: BOpcodeHandler.h:1735
float vertical_offset
offset, positive or negative, from the standard position. units are specified separately in vertical_...
Definition: BOpcodeHandler.h:6760
self-explanatory
Definition: BOpcodeEnums.h:267
char * m_shader_source
Definition: BOpcodeHandler.h:7176
int m_length
internal use
Definition: BOpcodeHandler.h:941
////
Definition: BOpcodeEnums.h:134
short color_face_value
For internal use only.
Definition: BOpcodeHandler.h:1062
void SetColorWindowForcedLockMask(int m)
Definition: BOpcodeHandler.h:3266
int GetDown() const
Definition: BOpcodeHandler.h:4376
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:3503
float * GetPoints()
Definition: BOpcodeHandler.h:5838
short m_type
Definition: BOpcodeHandler.h:4670
void SetOcclusionFactor(float f)
Definition: BOpcodeHandler.h:2330
void SetTechnology(int t)
Definition: BOpcodeHandler.h:2646
int m_surface_trim_budget
For internal use only.
Definition: BOpcodeHandler.h:2505
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5013
Handles the TKE_Reopen_Segment opcode.
Definition: BOpcodeHandler.h:1256
int m_current_level
the index of the level currently in progress.
Definition: BOpcodeHandler.h:1514
void SetScreenRange(float const l[], float const o[])
Definition: BOpcodeHandler.h:3908
char m_options
for internal use only
Definition: BOpcodeHandler.h:5954
void GetDField(double f[]) const
Definition: BOpcodeHandler.h:5055
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:5358
void increase_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:658
int GetOffset() const
Definition: BOpcodeHandler.h:1699
HT_NURBS_Trim * m_list
Definition: BOpcodeHandler.h:5730
void SetDPoints(double const p[])
Definition: BOpcodeHandler.h:5550
char const * GetSegment() const
Definition: BOpcodeHandler.h:1208
int GetBytesCount() const
Definition: BOpcodeHandler.h:6971
void SetTolerance(float t)
Definition: BOpcodeHandler.h:5261
int m_highest_level
keeps track of highest level lod that has been seen so far
Definition: BOpcodeHandler.h:1510
char * GetTransform()
Definition: BOpcodeHandler.h:7351
void SetSimpleShadowBlur(int m)
Definition: BOpcodeHandler.h:3802
float m_surface_max_facet_angle
For internal use only.
Definition: BOpcodeHandler.h:2507
int GetVSize() const
Definition: BOpcodeHandler.h:5851
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:4173
float m_radius
Definition: BOpcodeHandler.h:6436
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5003
void SetLodBounding(float const s[], float const e[])
Definition: BOpcodeHandler.h:3620
float m_hlr_weight
for internal use only.
Definition: BOpcodeHandler.h:2454
double * GetDTextLeaders()
Definition: BOpcodeHandler.h:6905
float GetIndex() const
Definition: BOpcodeHandler.h:1895
char * m_name
Definition: BOpcodeHandler.h:7521
void SetBufferOptionsMask(int v)
Definition: BOpcodeHandler.h:3495
int m_nurbs_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2500
float * m_control_points
Definition: BOpcodeHandler.h:5805
int m_loops
Definition: BOpcodeHandler.h:7747
void SetImage(int length)
Definition: BOpcodeHandler.h:7249
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1064
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6996
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1228
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4171
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4335
int m_debug_allocated
Definition: BOpcodeHandler.h:70
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3409
void SetDEnd(double const e[])
Definition: BOpcodeHandler.h:6184
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:857
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:4745
static TK_Status GetData(BStreamFileToolkit &tk, float *f, int n)
Definition: BOpcodeHandler.h:279
void SetColorFaceLockMask(int m)
Definition: BOpcodeHandler.h:2748
short color_window_mask
For internal use only.
Definition: BOpcodeHandler.h:1071
int m_allocated
Definition: BOpcodeHandler.h:8048
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1622
void SetSelectionCulling(int c)
Definition: BOpcodeHandler.h:4062
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:6354
float m_max_distance
internal use; max distance
Definition: BOpcodeHandler.h:3994
void SetDPoints(double const s[], double const m[], double const e[], double const c[]=0)
Definition: BOpcodeHandler.h:6198
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:3588
channel m_transmission
internal use
Definition: BOpcodeHandler.h:1737
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6433
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6245
float m_radius
Definition: BOpcodeHandler.h:6316
void Reset(void)
Definition: BOpcodeHandler.h:5469
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
unsigned char m_flags
Definition: BOpcodeHandler.h:6314
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:2628
int GetOptions() const
Definition: BOpcodeHandler.h:7732
char * m_string
internal use
Definition: BOpcodeHandler.h:2124
TK_Sphere()
Definition: BOpcodeHandler.h:6326
double * GetDRadii()
Definition: BOpcodeHandler.h:6604
float const * GetEnd() const
Definition: BOpcodeHandler.h:6467
////
Definition: BOpcodeEnums.h:50
double * m_dpoints
Definition: BOpcodeHandler.h:7751
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:3854
double * GetDOrigin()
Definition: BOpcodeHandler.h:6712
void SetInner(float i)
Definition: BOpcodeHandler.h:6006
unsigned char m_region_count
Definition: BOpcodeHandler.h:6793
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:226
TK_Conditional_Action()
Definition: BOpcodeHandler.h:4677
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:6059
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:665
int GetRedMapping() const
Definition: BOpcodeHandler.h:7291
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeEnums.h:1430
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3335
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7455
double GetDRadius() const
Definition: BOpcodeHandler.h:6389
Handles the TKE_Termination and TKE_Pause opcodes.
Definition: BOpcodeHandler.h:1005
unsigned short m_contour_options
for internal use only.
Definition: BOpcodeHandler.h:2460
char * m_condition
Definition: BOpcodeHandler.h:7528
float GetNormalFactor() const
Definition: BOpcodeHandler.h:2317
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:5888
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3236
TK_Thumbnail()
Definition: BOpcodeHandler.h:7372
void decrease_nesting(BStreamFileToolkit &tk, int amount=1)
for internal use only
Definition: BOpcodeHandler.h:660
int GetRoughnessMapChannel() const
Definition: BOpcodeHandler.h:2348
char m_options
relevant to TKE_Distant_Light and TKE_Local_Light only. See TKO_Light_Options.
Definition: BOpcodeHandler.h:5451
short color_vertex_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1087
unsigned char General_Flags() const
Definition: BOpcodeHandler.h:166
float const * GetStart() const
Definition: BOpcodeHandler.h:6155
void SetLookup(int length)
Definition: BOpcodeHandler.h:6989
void SetChannels(int c)
Definition: BOpcodeHandler.h:1787
near limit setting
Definition: BOpcodeEnums.h:1155
float m_end_u
Definition: BOpcodeHandler.h:5729
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:243
void SetName(int length)
Definition: BOpcodeHandler.h:6980
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:5972
short color_window_value
For internal use only.
Definition: BOpcodeHandler.h:1072
float m_cut_geometry_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2533
float * m_points
Definition: BOpcodeHandler.h:5722
type for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:668
void SetShadowMap(int m)
Definition: BOpcodeHandler.h:3849
void SetEnd(float x, float y, float z)
Definition: BOpcodeHandler.h:6131
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6851
double * GetDPoints()
Definition: BOpcodeHandler.h:5842
int m_cond_allocated
Definition: BOpcodeHandler.h:1385
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:4040
char * m_name
Definition: BOpcodeHandler.h:7175
char m_green_mapping
Definition: BOpcodeHandler.h:7190
char * GetSegment()
Definition: BOpcodeHandler.h:1340
char * GetString()
Definition: BOpcodeHandler.h:8034
unsigned char m_encoding
Definition: BOpcodeHandler.h:6930
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:938
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1197
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:7306
TK_Bounding(unsigned char opcode, double min[], double max[])
Definition: BOpcodeHandler.h:5416
Definition: BOpcodeHandler.h:4557
void SetBumpName(char const *name)
Definition: BOpcodeHandler.h:1880
float GetHlrFaceSortingAlgorithm() const
Definition: BOpcodeHandler.h:3544
void SetImageScale(float const s[])
Definition: BOpcodeHandler.h:3931
char * m_style
for internal use only
Definition: BOpcodeHandler.h:5174
void SetOrtho(float const s[])
Definition: BOpcodeHandler.h:6371
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1452
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7625
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:5155
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5988
virtual void Reset()
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4333
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:4100
float m_glyph_rotation
For internal use only.
Definition: BOpcodeHandler.h:2588
void SetGloss(float g)
Definition: BOpcodeHandler.h:1889
int GetTessellationMask() const
Definition: BOpcodeHandler.h:3690
char const * GetName() const
Definition: BOpcodeHandler.h:7233
TK_Delete_Object()
Definition: BOpcodeHandler.h:1483
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:6036
void SetCallback(int length)
Definition: BOpcodeHandler.h:2394
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:4080
int GetGeometry() const
Definition: BOpcodeHandler.h:4365
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:3990
static TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:449
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4393
void SetAxis(float const a[])
Definition: BOpcodeHandler.h:6461
void SetValue(float const triple[])
Definition: BOpcodeHandler.h:2005
int m_style_length
for internal use only
Definition: BOpcodeHandler.h:5172
wchar_t * m_string
Definition: BOpcodeHandler.h:8049
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:3980
int m_min_triangle_count
For internal use only.
Definition: BOpcodeHandler.h:2489
short color_line_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1084
Handles the TKE_Reference opcodes.
Definition: BOpcodeHandler.h:1381
double const * GetDOrigin() const
Definition: BOpcodeHandler.h:6710
short color_cut_face_value
For internal use only.
Definition: BOpcodeHandler.h:1094
float GetHlrDimFactor() const
Definition: BOpcodeHandler.h:3532
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
void SetDAxis(double const s[])
Definition: BOpcodeHandler.h:6398
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:6102
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:4128
int m_flags
Definition: BOpcodeHandler.h:7183
float const * GetTransmission() const
Definition: BOpcodeHandler.h:1849
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:4176
int const * GetLengths() const
Definition: BOpcodeHandler.h:7796
void SetCutVisualizationMask(int m)
Definition: BOpcodeHandler.h:4240
static TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:322
char m_layout
Definition: BOpcodeHandler.h:7194
static int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:509
float GetInner() const
Definition: BOpcodeHandler.h:6008
char const * GetName() const
Definition: BOpcodeHandler.h:7497
char * GetXML()
Definition: BOpcodeHandler.h:7953
int m_leader_count
Definition: BOpcodeHandler.h:6798
char const * GetEmissiveMap() const
Definition: BOpcodeHandler.h:2268
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4331
float * m_points
Definition: BOpcodeHandler.h:5570
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:2636
Definition: BOpcodeEnums.h:377
int const * GetSize() const
Definition: BOpcodeHandler.h:7403
char const * GetName() const
Definition: BOpcodeHandler.h:7448
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:3887
int GetCutGeometryUsage() const
Definition: BOpcodeHandler.h:3760
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:5339
int GetOptions() const
Definition: BOpcodeHandler.h:5685
unsigned char m_format
Definition: BOpcodeHandler.h:7368
int GetBufferOptionsValue() const
Definition: BOpcodeHandler.h:3501
static TK_Status PutData(BStreamFileToolkit &tk, int const *i, int n)
Definition: BOpcodeHandler.h:373
void SetRadius(float radius)
Definition: BOpcodeHandler.h:6577
int m_count
Definition: BOpcodeHandler.h:6804
int m_count
Definition: BOpcodeHandler.h:5721
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3282
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:4043
float GetRoughnessFactor() const
Definition: BOpcodeHandler.h:2327
float const * GetPosition() const
Definition: BOpcodeHandler.h:5974
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7420
static void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:534
int m_size
Definition: BOpcodeHandler.h:7923
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3461
float const * GetEmission() const
Definition: BOpcodeHandler.h:1864
void SetView(char const *name)
Definition: BOpcodeHandler.h:5087
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2577
int m_knot_count_implicit
Definition: BOpcodeHandler.h:5632
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:64
self-explanatory
Definition: BOpcodeEnums.h:1272
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:4983
float GetSimpleShadowOpacity() const
Definition: BOpcodeHandler.h:3845
short color_marker_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1086
int GetNURBSOptionsValue() const
Definition: BOpcodeHandler.h:3558
int m_allocated
Definition: BOpcodeHandler.h:6787
void SetIndex(float val)
Definition: BOpcodeHandler.h:2105
float const * GetPoints() const
Definition: BOpcodeHandler.h:7710
unsigned char mask
internal use
Definition: BOpcodeHandler.h:4182
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:7056
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:3692
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:6692
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1671
void SetEnd(float const e[])
Definition: BOpcodeHandler.h:6135
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:2520
char m_options
Definition: BOpcodeHandler.h:7746
Handles the TKE_Tag opcode.
Definition: BOpcodeHandler.h:1607
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int *i, int n)
Definition: BOpcodeHandler.h:301
Definition: BStreamFileToolkit.h:34
float m_dihedral
For internal use only.
Definition: BOpcodeHandler.h:2567
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6383
float * m_u_knots
Definition: BOpcodeHandler.h:5808
extra item for selectability; refer to ::HC_Set_Selectability for a description
Definition: BOpcodeEnums.h:224
int GetColorVertexContrastLockMask() const
Definition: BOpcodeHandler.h:3052
unsigned char * m_bytes
Definition: BOpcodeHandler.h:7365
char const * GetName() const
Definition: BOpcodeHandler.h:7111
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7720
int m_count
Definition: BOpcodeHandler.h:6527
void SetIndex(int i)
Definition: BOpcodeHandler.h:1272
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:4123
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:2663
unsigned int m_options
Definition: BOpcodeHandler.h:7054
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7457
int GetCutVisualizationMode() const
Definition: BOpcodeHandler.h:4247
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6275
unsigned char m_hlr_hsr_algorithm
for internal use only.
Definition: BOpcodeHandler.h:2458
void SetAntiAlias(int m)
Definition: BOpcodeHandler.h:3953
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:7136
float m_depth_peeling_min_area
For internal use only.
Definition: BOpcodeHandler.h:2572
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1657
void SetLockMask(int m)
Definition: BOpcodeHandler.h:2689
void SetParameterSource(int p)
Definition: BOpcodeHandler.h:7274
extended bit
Definition: BOpcodeEnums.h:1470
void SetValue(int v)
Definition: BOpcodeHandler.h:4028
char * m_image
Definition: BOpcodeHandler.h:7177
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:5183
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7588
char m_options
Definition: BOpcodeHandler.h:7640
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:2502
float * GetRef2()
Definition: BOpcodeHandler.h:6700
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6400
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:5398
void SetAlphaFactor(float f)
Definition: BOpcodeHandler.h:2335
int m_name_length
Definition: BOpcodeHandler.h:7520
int GetLength()
Definition: BOpcodeHandler.h:4792
float m_value
for internal use only.
Definition: BOpcodeHandler.h:4500
float const * GetOrtho() const
Definition: BOpcodeHandler.h:6373
char * m_name
internal use: name
Definition: BOpcodeHandler.h:4560
void SetCaps(int f)
Definition: BOpcodeHandler.h:6616
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:3578
int GetIndex() const
Definition: BOpcodeHandler.h:2058
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:5353
void SetNames(int length)
Definition: BOpcodeHandler.h:5226
void SetNURBSSurfaceBudget(int b)
Definition: BOpcodeHandler.h:3568
TK_Tag(unsigned char opcode=TKE_Tag)
Definition: BOpcodeHandler.h:1612
int m_count
for internal use only
Definition: BOpcodeHandler.h:4804
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:3086
char * m_transform
Definition: BOpcodeHandler.h:7198
char * m_name
Definition: BOpcodeHandler.h:4952
int GetVersion() const
Definition: BStreamFileToolkit.h:973
void SetOblique(float const o[])
Definition: BOpcodeHandler.h:5065
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7143
short color_marker_value
For internal use only.
Definition: BOpcodeHandler.h:1068
float const * GetAmbientUpVector() const
Definition: BOpcodeHandler.h:3926
void SetColorFaceLockValue(int v)
Definition: BOpcodeHandler.h:2759
unsigned char m_renumbered_scope
for internal use only
Definition: BOpcodeHandler.h:1298
int m_int
temporary
Definition: BOpcodeHandler.h:82
void SetMetalnessMap(int length)
Definition: BOpcodeHandler.h:2275
short color_line_value
For internal use only.
Definition: BOpcodeHandler.h:1066
int visibility_value
For internal use only.
Definition: BOpcodeHandler.h:1098
float * m_isoline_positions
for internal use only.
Definition: BOpcodeHandler.h:2467
int m_to_index
internal use
Definition: BOpcodeHandler.h:1453
int GetNURBSOptionsMask() const
Definition: BOpcodeHandler.h:3554
int GetShadowMapSamples() const
Definition: BOpcodeHandler.h:3861
int GetColorLineLockMask() const
Definition: BOpcodeHandler.h:2799
int m_override_internal_color_types
For internal use only.
Definition: BOpcodeHandler.h:2590
void SetDPoints(double const s[], double const e[])
Definition: BOpcodeHandler.h:5546
int GetSimpleReflectionVisibilityValue() const
Definition: BOpcodeHandler.h:3889
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int &i)
Definition: BOpcodeHandler.h:319
char m_red_mapping
Definition: BOpcodeHandler.h:7189
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7125
int m_segment_length
Definition: BOpcodeHandler.h:7523
static TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:467
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7173
BBaseOpcodeHandler * Opcode_Handler(BStreamFileToolkit &tk, unsigned char op) const
Definition: BOpcodeHandler.h:670
int m_allocated
Definition: BOpcodeHandler.h:1172
float const * GetPoints() const
Definition: BOpcodeHandler.h:7775
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
unsigned char m_options
Definition: BOpcodeHandler.h:5725
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1287
TK_Clip_Region()
Definition: BOpcodeHandler.h:7691
int GetValue() const
Definition: BOpcodeHandler.h:4319
void SetNURBSOptionsValue(int v)
Definition: BOpcodeHandler.h:3556
void SetColorWindowContrastLockMask(int m)
Definition: BOpcodeHandler.h:2909
void SetMirror(float r, float g, float b)
Definition: BOpcodeHandler.h:1826
int m_length
Definition: BOpcodeHandler.h:4951
void SetFogLimits(float const l[])
Definition: BOpcodeHandler.h:2683
int GetOptions() const
Definition: BOpcodeHandler.h:7810
void SetValue(int v0, int v1=0, int v2=0)
Definition: BOpcodeHandler.h:2626
int GetVisibilityLockValue() const
Definition: BOpcodeHandler.h:2718
int m_cut_geometry_edge_pattern_length
for internal use only.
Definition: BOpcodeHandler.h:2537
int const * GetIndices() const
Definition: BOpcodeHandler.h:4886
int GetLockValue() const
Definition: BOpcodeHandler.h:2696
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:6681
TK_Close_Segment()
Definition: BOpcodeHandler.h:1231
char * GetCutGeometryEdgePattern()
Definition: BOpcodeHandler.h:3784
TK_Unicode_Options()
Definition: BOpcodeHandler.h:4771
self-explanatory
Definition: BOpcodeEnums.h:1439
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:2891
void SetSelectionBias(int c)
Definition: BOpcodeHandler.h:4066
float const * GetAxis() const
Definition: BOpcodeHandler.h:6463
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1063
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4356
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:5761
int GetUp() const
Definition: BOpcodeHandler.h:4387
float * GetLodThresholds()
Definition: BOpcodeHandler.h:3666
void SetColorLineContrastLockValue(int v)
Definition: BOpcodeHandler.h:3012
int m_index
internal use: simple value for recognised old forms
Definition: BOpcodeHandler.h:4561
void Set_General_Flags(int f)
Definition: BOpcodeHandler.h:169
color by index
Definition: BOpcodeEnums.h:272
void SetNormalMap(int length)
Definition: BOpcodeHandler.h:2257
int m_mask
internal use
Definition: BOpcodeHandler.h:1907
void SetDAxis(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:6476
float m_gloss
internal use
Definition: BOpcodeHandler.h:1741
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1506
void ** GetValues() const
Definition: BOpcodeHandler.h:4892
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:2886
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:5186
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1082
float * GetPoints()
Definition: BOpcodeHandler.h:7712
void SetString(char const *string)
Definition: BOpcodeHandler.h:6827
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6848
TK_Bounding(unsigned char opcode, float min[], float max[])
Definition: BOpcodeHandler.h:5404
void SetOptions(int o)
Definition: BOpcodeHandler.h:6016
void SetWindow(int n, float const w[])
Definition: BOpcodeHandler.h:5130
int m_max_degree
For internal use only.
Definition: BOpcodeHandler.h:2492
void SetLodRatios(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3631
TK_Font()
Definition: BOpcodeHandler.h:6945
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:2556
void GetDPosition(double p[]) const
Definition: BOpcodeHandler.h:4997
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:1877
float * GetPoints()
Definition: BOpcodeHandler.h:5598
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5714
void SetColorLineLockMask(int m)
Definition: BOpcodeHandler.h:2794
int GetColorVertexLockMask() const
Definition: BOpcodeHandler.h:2960
void SetValue(float a, float b, float c)
Definition: BOpcodeHandler.h:2001
void SetLayout(int l)
Definition: BOpcodeHandler.h:5363
float * GetPoints()
Definition: BOpcodeHandler.h:5917
TK_Conditions()
Definition: BOpcodeHandler.h:4636
unsigned char m_tessellations
For internal use only.
Definition: BOpcodeHandler.h:2517
int GetColorFaceContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3294
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5010
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:3548
int GetGreenMapping() const
Definition: BOpcodeHandler.h:7296
channel m_mirror
internal use
Definition: BOpcodeHandler.h:1736
void SetColorLineContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3415
float m_curve_max_angle
For internal use only.
Definition: BOpcodeHandler.h:2510
void SetMajor(float const m[])
Definition: BOpcodeHandler.h:6254
int GetDebug() const
Definition: BOpcodeHandler.h:2658
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5840
float * m_knots
Definition: BOpcodeHandler.h:5727
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:2564
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5806
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:6365
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5996
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:7864
int GetParameterSource() const
Definition: BOpcodeHandler.h:7276
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:3574
TK_Color_By_Value()
Definition: BOpcodeHandler.h:1965
void SetEnd(float e)
Definition: BOpcodeHandler.h:5681
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1388
double const * GetTextRegionDPoints() const
Definition: BOpcodeHandler.h:6869
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2367
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:6600
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3397
void SetMiddle(float const m[])
Definition: BOpcodeHandler.h:6127
char const * GetSegment() const
Definition: BOpcodeHandler.h:7574
char * GetName()
Definition: BOpcodeHandler.h:7618
void SetCulling(int c)
Definition: BOpcodeHandler.h:4058
float * m_data
Definition: BOpcodeHandler.h:7474
TK_File_Info()
Definition: BOpcodeHandler.h:907
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:5180
char * m_name
Definition: BOpcodeHandler.h:7424
void SetOcclusionMap(char const *name)
Definition: BOpcodeHandler.h:2291
void SetTransmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1841
HT_NURBS_Trim * m_trims
Definition: BOpcodeHandler.h:5811
unsigned char m_region_options
Definition: BOpcodeHandler.h:6791
self-explanatory
Definition: BOpcodeEnums.h:271
HLONG GetValue() const
Definition: BOpcodeHandler.h:4930
void SetVisibilityLockMask(int m)
Definition: BOpcodeHandler.h:2702
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1169
unsigned char m_antialias
For internal use only.
Definition: BOpcodeHandler.h:2580
int GetColorLineContrastLockMask() const
Definition: BOpcodeHandler.h:3006
float GetVertexDecimation() const
Definition: BOpcodeHandler.h:3960
void SetWindow(float l, float r, float b, float t, float lo=0, float ro=0, float bo=0, float to=0)
Definition: BOpcodeHandler.h:5120
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:2514
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:4559
double m_dradius
Definition: BOpcodeHandler.h:6320
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2435
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:5164
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:6987
double * GetDPoints()
Definition: BOpcodeHandler.h:5606
void SetIndices(int count)
Definition: BOpcodeHandler.h:4880
void SetOptions(int o)
Definition: BOpcodeHandler.h:7808
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:6259
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:186
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:5313
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:3737
void SetCutGeometryUsage(int u)
Definition: BOpcodeHandler.h:3758
void SetOptions(int o)
Definition: BOpcodeHandler.h:5684
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3466
float * GetWeights()
Definition: BOpcodeHandler.h:5675
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const &b)
Definition: BOpcodeHandler.h:458
int GetFlags()
Definition: BOpcodeHandler.h:925
float GetConcentration() const
Definition: BOpcodeHandler.h:6013
double const * GetDPlane() const
Definition: BOpcodeHandler.h:6071
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:1866
char * GetDiffuseName()
Definition: BOpcodeHandler.h:1808
void SetStart(float s)
Definition: BOpcodeHandler.h:5679
int GetSpace() const
Definition: BOpcodeHandler.h:1998
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:6805
bump map
Definition: BOpcodeEnums.h:275
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1262
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:4082
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:7304
short color_marker_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1085
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:914
TK_Area_Light()
Definition: BOpcodeHandler.h:5896
int const * GetStringCursors() const
Definition: BOpcodeHandler.h:6881
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:2557
TK_Cylinder()
Definition: BOpcodeHandler.h:6443
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1552
int m_length
Definition: BOpcodeHandler.h:8047
unsigned char m_optionals
Definition: BOpcodeHandler.h:5629
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:2526
format mask
Definition: BOpcodeEnums.h:1422
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6312
channel m_emission
internal use
Definition: BOpcodeHandler.h:1738
static TK_Status GetData(BStreamFileToolkit &tk, double &d)
Definition: BOpcodeHandler.h:325
int GetIndex() const
Definition: BOpcodeHandler.h:1274
float m_curve_max_deviation
For internal use only.
Definition: BOpcodeHandler.h:2511
int GetChannels() const
Definition: BOpcodeHandler.h:1793
int m_name_length
Definition: BOpcodeHandler.h:7179
void SetRef2(float const r[])
Definition: BOpcodeHandler.h:6696
void SetOptions(int o)
Definition: BOpcodeHandler.h:7730
TK_User_Index()
Definition: BOpcodeHandler.h:4813
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:5355
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5184
int GetCaps() const
Definition: BOpcodeHandler.h:6500
short m_options
Definition: BOpcodeHandler.h:4671
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4802
short color_simple_reflection_value
For internal use only.
Definition: BOpcodeHandler.h:1092
void SetCutGeometryEdgeWeight(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:3768
short color_window_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1075
unsigned char m_num_levels
For internal use only.
Definition: BOpcodeHandler.h:2491
TK_Renumber(unsigned char opcode, ID_Key key=0)
Definition: BOpcodeHandler.h:1586
void Remember_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:684
double * GetDPoints()
Definition: BOpcodeHandler.h:5670
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:5291
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7133
int m_mask
internal use
Definition: BOpcodeHandler.h:2069
int GetLodMaxDegree() const
Definition: BOpcodeHandler.h:3604
float m_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2493
Definition: BStream.h:303
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:5316
mask of bits requiring extended
Definition: BOpcodeEnums.h:834
int GetLodNumLevels() const
Definition: BOpcodeHandler.h:3596
int GetForcedLockValue() const
Definition: BOpcodeHandler.h:3099
int GetSelectionCulling() const
Definition: BOpcodeHandler.h:4064
//// Default reader provided for "W3D Image XRef"
Definition: BOpcodeEnums.h:156
int m_data_size
Definition: BOpcodeHandler.h:7050
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6770
int m_name_length
Definition: BOpcodeHandler.h:8089
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3225
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:3035
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:6865
int GetTransparentStyle() const
Definition: BOpcodeHandler.h:2643
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short *s, int n)
Definition: BOpcodeHandler.h:298
void SetDMatrix(double const m[])
Definition: BOpcodeHandler.h:4452
unsigned char m_options
Definition: BOpcodeHandler.h:6790
Definition: BOpcodeHandler.h:829
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:8071
char * m_condition
Definition: BOpcodeHandler.h:1294
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7042
int GetCoordinateSystemCount() const
Definition: BOpcodeHandler.h:4233
void SetPlane(float const p[])
Definition: BOpcodeHandler.h:6064
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:4048
float * GetPoints()
Definition: BOpcodeHandler.h:7777
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6921
int GetAntiAlias() const
Definition: BOpcodeHandler.h:3955
virtual TK_Status Read(BStreamFileToolkit &tk)=0
int GetRenderer() const
Definition: BOpcodeHandler.h:5324
void SetName(char const *string)
Definition: BOpcodeHandler.h:8110
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:2983
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4764
int * GetIndices()
Definition: BOpcodeHandler.h:4836
void SetView(int length)
Definition: BOpcodeHandler.h:5089
Internal_Translator::Index_Key_Pair * m_item
internal use; cache lookup in Pending cases
Definition: BOpcodeHandler.h:1643
int GetColorEdgeContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3386
unsigned char * GetTextLeaderFlags()
Definition: BOpcodeHandler.h:6896
float m_inner
for internal use only
Definition: BOpcodeHandler.h:5952
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1102
float * m_weights
Definition: BOpcodeHandler.h:5635
void SetCenter(float const c[])
Definition: BOpcodeHandler.h:6144
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:3753
void SetPoints(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5913
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6381
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5993
float const * GetCenter() const
Definition: BOpcodeHandler.h:6161
void SetProjection(int p)
Definition: BOpcodeHandler.h:5081
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:900
float const * GetRef2() const
Definition: BOpcodeHandler.h:6698
TK_Status PutOpcode(BStreamFileToolkit &tk, int adjust=1)
Definition: BOpcodeHandler.h:473
BBaseOpcodeHandler * m_current_object
internal use
Definition: BOpcodeHandler.h:874
float m_end
Definition: BOpcodeHandler.h:5638
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3374
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1712
double * GetDPoints()
Definition: BOpcodeHandler.h:5927
void SetColorWindowLockValue(int v)
Definition: BOpcodeHandler.h:2874
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:3973
int m_value
specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:5156
double const * GetDField() const
Definition: BOpcodeHandler.h:5053
Definition: BOpcodeHandler.h:1055
void SetSimpleShadowLight(float x, float y, float z)
Definition: BOpcodeHandler.h:3812
unsigned char m_simple_shadow_blur
For internal use only.
Definition: BOpcodeHandler.h:2540
char m_decimation
Definition: BOpcodeHandler.h:7188
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:3688
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:3790
void SetFormat(int f)
Definition: BOpcodeHandler.h:7406
char m_threshold_type
For internal use only.
Definition: BOpcodeHandler.h:2488
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6091
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:3584
double GetDRadius() const
Definition: BOpcodeHandler.h:6494
int * GetIndices()
Definition: BOpcodeHandler.h:4889
void SetHlrLinePattern(int p)
Definition: BOpcodeHandler.h:3538
short color_window_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1076
void SetSlant(float s)
Definition: BOpcodeHandler.h:5276
void SetViewVolume(float const v[])
Definition: BOpcodeHandler.h:4120
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:4102
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:3105
char * GetName()
Definition: BOpcodeHandler.h:7113
char const * GetSegment() const
Definition: BOpcodeHandler.h:1335
char * GetMetalnessMap()
Definition: BOpcodeHandler.h:2279
void SetSimpleShadowLight(float const l[])
Definition: BOpcodeHandler.h:3818
void set_points(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5574
double * m_dleaders
Definition: BOpcodeHandler.h:6802
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:5980
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1073
Definition: BStream.h:277
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:5334
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:3705
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4460
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:6633
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:5401
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:3156
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3443
float GetRotation() const
Definition: BOpcodeHandler.h:5273
float const * GetPosition() const
Definition: BOpcodeHandler.h:4985
void SetBaseColorFactor(float const rgba[])
Definition: BOpcodeHandler.h:2309
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:3867
int GetSize() const
Definition: BOpcodeHandler.h:7868
TK_Compression(char opcode)
Definition: BOpcodeHandler.h:1037
int GetColorTextContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3478
void SetColorFaceContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3289
Definition: BOpcodeHandler.h:4530
float * GetPoints()
Definition: BOpcodeHandler.h:5770
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:5161
char * GetNames()
Definition: BOpcodeHandler.h:5230
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:5181
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:3626
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:4505
float const * GetImageScale() const
Definition: BOpcodeHandler.h:3933
int GetLodFallback() const
Definition: BOpcodeHandler.h:3612
void SetIndices(int count, int const indices[], void const *values[], int const sizes[])
Definition: BOpcodeHandler.h:4875
TK_XML()
Definition: BOpcodeHandler.h:7928
void SetLodClamp(int v)
Definition: BOpcodeHandler.h:3598
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const &i)
Definition: BOpcodeHandler.h:464
void SetFogLimits(float n, float f)
Definition: BOpcodeHandler.h:2681
void SetQuantization(int q)
Definition: BOpcodeHandler.h:2651
int GetValue() const
Definition: BOpcodeHandler.h:5221
char m_lod_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2483
void SetMirrorName(char const *name)
Definition: BOpcodeHandler.h:1830
char * m_cut_geometry_edge_pattern
for internal use only.
Definition: BOpcodeHandler.h:2536
int GetFormat() const
Definition: BOpcodeHandler.h:2148
float GetIndex() const
Definition: BOpcodeHandler.h:2107
Handles the TKE_URL opcodes.
Definition: BOpcodeHandler.h:7967
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5884
void SetOrigin(float const o[])
Definition: BOpcodeHandler.h:6674
void SetSimpleReflectionOpacity(float o)
Definition: BOpcodeHandler.h:3882
void SetMetalnessMap(char const *name)
Definition: BOpcodeHandler.h:2273
int GetIndex()
Definition: BOpcodeHandler.h:1495
char * GetShaderSource()
Definition: BOpcodeHandler.h:7244
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:3572
unsigned char * GetDTextLeaderFlags()
Definition: BOpcodeHandler.h:6909
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6028
char const * GetComment() const
Definition: BOpcodeHandler.h:987
int GetCount() const
Definition: BOpcodeHandler.h:4832
float * GetUKnots()
Definition: BOpcodeHandler.h:5859
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:4140
int GetColorLineForcedLockMask() const
Definition: BOpcodeHandler.h:3202
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
int GetOptions() const
Definition: BOpcodeHandler.h:6018
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:3167
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:4993
float GetHardEdgeAngle() const
Definition: BOpcodeHandler.h:3734
void SetLodThresholdType(int v)
Definition: BOpcodeHandler.h:3647
char * GetBaseColorMap()
Definition: BOpcodeHandler.h:2252
self-explanatory
Definition: BOpcodeEnums.h:270
void SetName(int length)
Definition: BOpcodeHandler.h:7231
TK_Callback()
Definition: BOpcodeHandler.h:2379
TK_Complex_Clip_Region()
Definition: BOpcodeHandler.h:7755
void GetTarget(float t[]) const
Definition: BOpcodeHandler.h:5007
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:7299
char const * GetNames() const
Definition: BOpcodeHandler.h:5228
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7518
double * GetDRef1()
Definition: BOpcodeHandler.h:6723
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5982
float m_surface_max_facet_deviation
For internal use only.
Definition: BOpcodeHandler.h:2508
int m_allocated
internal use
Definition: BOpcodeHandler.h:943
int GetTextRegionOptions() const
Definition: BOpcodeHandler.h:6871
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:5166
//– would like this to be obsolete, but...
Definition: BOpcodeEnums.h:152
int GetColorEdgeForcedLockValue() const
Definition: BOpcodeHandler.h:3190
void SetField(float const f[])
Definition: BOpcodeHandler.h:5042
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:7098
void SetIndex(float i)
Definition: BOpcodeHandler.h:1893
char * GetConditions()
Definition: BOpcodeHandler.h:4655
void SetMatrix(float const m[])
Definition: BOpcodeHandler.h:4448
self-explanatory
Definition: BOpcodeEnums.h:1153
float GetEnd() const
Definition: BOpcodeHandler.h:5682
Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes.
Definition: BOpcodeHandler.h:1578
float slant
the angle (in degrees) that text is slanted (e.g. for italic). Positive numbers correspond to clockwi...
Definition: BOpcodeHandler.h:6762
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7744
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:3859
void SetOptions(int o)
Definition: BOpcodeHandler.h:5493
char * m_string
Definition: BOpcodeHandler.h:8010
short color_back_value
For internal use only.
Definition: BOpcodeHandler.h:1078
unsigned char m_present
internal use
Definition: BOpcodeHandler.h:1640
void SetRoughnessMapChannel(int c)
Definition: BOpcodeHandler.h:2346
void SetDecimation(int p)
Definition: BOpcodeHandler.h:7284
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:3804
void SetName(int length)
Definition: BOpcodeHandler.h:7109
int GetCount() const
Definition: BOpcodeHandler.h:5930
void SetName(char const *string)
Definition: BOpcodeHandler.h:6978
void SetCutVisualizationAlpha(float a)
Definition: BOpcodeHandler.h:4259
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5185
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:2856
TK_User_Options()
Definition: BOpcodeHandler.h:4731
unsigned char m_region_fit
Definition: BOpcodeHandler.h:6792
double * m_dpoints
Definition: BOpcodeHandler.h:5571
int m_selection_culling
internal use; selection culling options
Definition: BOpcodeHandler.h:3984
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:5165
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2074
char * GetName()
Definition: BOpcodeHandler.h:7559
int m_coordinate_system_count
internal use
Definition: BOpcodeHandler.h:4178
int GetHardExtent() const
Definition: BOpcodeHandler.h:4088
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:6763
void SetField(float w, float h)
Definition: BOpcodeHandler.h:5040
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4334
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:4790
char * GetCallback()
Definition: BOpcodeHandler.h:2398
int GetOptions() const
Definition: BOpcodeHandler.h:7669
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6840
float GetStart() const
Definition: BOpcodeHandler.h:5680
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:4086
static void fix_in(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:559
float m_rgb[3]
The RGB value of the color for this channel.
Definition: BOpcodeHandler.h:1722
TK_Spot_Light()
Definition: BOpcodeHandler.h:5958
void SetImageTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3940
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3271
void SetOuter(float o)
Definition: BOpcodeHandler.h:6001
void SetSize(int size)
Definition: BOpcodeHandler.h:1693
float GetLineSpacing() const
Definition: BOpcodeHandler.h:5298
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4092
float m_compression_quality
Definition: BOpcodeHandler.h:7060
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6843
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1061
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:7309
BBaseOpcodeHandler *** m_primitives
for each level, an array of opcode handler pointers that store the primitives
Definition: BOpcodeHandler.h:1509
void SetUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:5020
int m_camera_length
Definition: BOpcodeHandler.h:7182
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1454
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:7921
ID_Key remove_segment(BStreamFileToolkit &tk)
for internal use only
Definition: BOpcodeHandler.h:645
TK_Terminator(char opcode, bool is_file_terminator=true)
Definition: BOpcodeHandler.h:1008
extended bit
Definition: BOpcodeEnums.h:273
short color_line_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1083
char * m_bytes
Definition: BOpcodeHandler.h:7044
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:8006
Definition: BOpcodeHandler.h:4471
TK_Material()
Definition: BOpcodeHandler.h:7903
int m_allocated
Definition: BOpcodeHandler.h:5569
TK_Bounding(unsigned char opcode, float center[], float radius)
Definition: BOpcodeHandler.h:5410
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:2539
void SetFlags(int f)
Definition: BOpcodeHandler.h:7265
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:3075
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1925
char * GetName()
Definition: BOpcodeHandler.h:7235
float const * GetOrientation() const
Definition: BOpcodeHandler.h:4223
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:3139
float GetRadius() const
Definition: BOpcodeHandler.h:6351
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1449
double const * GetDPoint() const
Definition: BOpcodeHandler.h:5490
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:3763
void SetHSR(int h)
Definition: BOpcodeHandler.h:2631
int GetLength()
Definition: BOpcodeHandler.h:4657
void SetName(char const *string)
Definition: BOpcodeHandler.h:7107
unsigned char m_cut_geometry_edge_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2535
char * m_string
Definition: BOpcodeHandler.h:2370
int GetUSize() const
Definition: BOpcodeHandler.h:5849
void SetLodCutoffs(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3671
int m_count
Definition: BOpcodeHandler.h:5568
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:3724
float GetStart() const
Definition: BOpcodeHandler.h:5774
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:5747
for further expansion
Definition: BOpcodeEnums.h:1184
char m_num_cutoffs
For internal use only.
Definition: BOpcodeHandler.h:2495
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1978
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:5627
void SetDiffuseTextureTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3945
int GetColorFaceLockValue() const
Definition: BOpcodeHandler.h:2764
void SetScreenRange(float l, float r, float b, float t, float lo=0, float ro=0, float bo=0, float to=0)
Definition: BOpcodeHandler.h:3901
int GetLodNumCutoffs() const
Definition: BOpcodeHandler.h:3680
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4629
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:2509
char m_blue_mapping
Definition: BOpcodeHandler.h:7191
float * m_points
Definition: BOpcodeHandler.h:6528
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:3669
unsigned char m_optionals
Definition: BOpcodeHandler.h:5802
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:5293
unsigned char m_shadow_map_samples
For internal use only.
Definition: BOpcodeHandler.h:2549
int GetSimpleShadow() const
Definition: BOpcodeHandler.h:3799
int m_value
internal use; specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:4279
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:7862
void SetNames(char const *names)
Definition: BOpcodeHandler.h:5224
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:5541
char * m_names
for internal use only
Definition: BOpcodeHandler.h:5158
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:5746
char const * GetImage() const
Definition: BOpcodeHandler.h:7251
void SetLodNumLevels(int v)
Definition: BOpcodeHandler.h:3594
TK_Dictionary_Locater()
Definition: BOpcodeHandler.h:1678
env map
Definition: BOpcodeEnums.h:274
int GetMask() const
Definition: BOpcodeHandler.h:4210
int GetCutGeometryColorMatch() const
Definition: BOpcodeHandler.h:3755
static TK_Status GetData(BStreamFileToolkit &tk, int &i)
Definition: BOpcodeHandler.h:310
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7504
float GetLodTolerance() const
Definition: BOpcodeHandler.h:3608
int const * GetCounts() const
Definition: BOpcodeHandler.h:6742
////
Definition: BOpcodeEnums.h:149
int GetDegree() const
Definition: BOpcodeHandler.h:5672
int m_index
Definition: BOpcodeHandler.h:1383
int m_dleader_count
Definition: BOpcodeHandler.h:6801
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:6759
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:3530
float GetOuter() const
Definition: BOpcodeHandler.h:6003
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:4477
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2445
int * GetCounts()
Definition: BOpcodeHandler.h:6744
float m_hlr_threshold
for internal use only.
Definition: BOpcodeHandler.h:2456
float * GetRadii()
Definition: BOpcodeHandler.h:6581
float const * GetDiffuseTextureTintColor() const
Definition: BOpcodeHandler.h:3950
int m_offset
internal use
Definition: BOpcodeHandler.h:1674
void SetStart(float const s[])
Definition: BOpcodeHandler.h:6119
double const * GetDStart() const
Definition: BOpcodeHandler.h:6204
char m_alpha_mapping
Definition: BOpcodeHandler.h:7192
float const * GetCutVisualizationColor() const
Definition: BOpcodeHandler.h:4256
void SetNormalMap(char const *name)
Definition: BOpcodeHandler.h:2255
unsigned char m_buffer_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2444
void SetBufferOptionsValue(int v)
Definition: BOpcodeHandler.h:3499
int GetSelectionBias() const
Definition: BOpcodeHandler.h:4068
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:443
int GetMoveUp() const
Definition: BOpcodeHandler.h:4409
float const * GetTextLeaders() const
Definition: BOpcodeHandler.h:6890
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:5167
int GetCaps() const
Definition: BOpcodeHandler.h:6618
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:5788
char * GetStyle()
Definition: BOpcodeHandler.h:5248
bool Find_Item(BStreamFileToolkit &tk, ID_Key key) const
Definition: BOpcodeHandler.h:686
int m_mask
internal use; specifies which visibility settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4278
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3208
char * m_comment
internal use
Definition: BOpcodeHandler.h:945
float * m_points
Definition: BOpcodeHandler.h:7684
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:6031
float const * GetMiddle() const
Definition: BOpcodeHandler.h:6157
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:3017
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:5182
void GetDTarget(double t[]) const
Definition: BOpcodeHandler.h:5017
static short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:505
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:5579
void SetDepthRange(float const l[])
Definition: BOpcodeHandler.h:3895
void SetSpecularName(int length)
Definition: BOpcodeHandler.h:1817
char * GetEmissiveMap()
Definition: BOpcodeHandler.h:2270
float m_simple_reflection_opacity
For internal use only.
Definition: BOpcodeHandler.h:2553
channel m_environment
internal use; note: environment & bump are never a simple RGB type color
Definition: BOpcodeHandler.h:1739
void SetRadius(float r)
Definition: BOpcodeHandler.h:6470
int GetVDegree() const
Definition: BOpcodeHandler.h:5847
char const * GetBytes() const
Definition: BOpcodeHandler.h:6973
short color_text_value
For internal use only.
Definition: BOpcodeHandler.h:1070
void SetOffset(int offset)
Definition: BOpcodeHandler.h:1697
void SetPreference(int r)
Definition: BOpcodeHandler.h:5343
int GetOptions() const
Definition: BOpcodeHandler.h:5140
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:3987
unsigned char m_clamp
For internal use only.
Definition: BOpcodeHandler.h:2490
char const * GetBumpName() const
Definition: BOpcodeHandler.h:1884
bool GetFollow()
Definition: BOpcodeHandler.h:1435
void SetColorWindowContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3323
float * GetKnots()
Definition: BOpcodeHandler.h:5677
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:3029
float const * GetPosition() const
Definition: BOpcodeHandler.h:7130
void SetVisibilityForcedLockValue(int v)
Definition: BOpcodeHandler.h:3116
char * GetTransmissionName()
Definition: BOpcodeHandler.h:1853
void SetColorTextContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3484
TK_User_Value()
Definition: BOpcodeHandler.h:4917
int m_cond_length
Definition: BOpcodeHandler.h:7526
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:2955
char * GetCondition()
Definition: BOpcodeHandler.h:4696
int * GetSizes()
Definition: BOpcodeHandler.h:4901
void SetLodBounding(float const p[])
Definition: BOpcodeHandler.h:3624
//// pseudo-handler (non-zero value)
Definition: BOpcodeEnums.h:158
char const * GetString() const
Definition: BOpcodeHandler.h:2175
void SetValue(HLONG v)
Definition: BOpcodeHandler.h:4928
char * GetLookup()
Definition: BOpcodeHandler.h:6993
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:3174
int m_count
Definition: BOpcodeHandler.h:7683
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:6296
void SetIndices(int count, int const indices[], POINTER_SIZED_INT const values[])
Definition: BOpcodeHandler.h:4827
unsigned char m_flags
Definition: BOpcodeHandler.h:6533
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3340
void GetUpVector(float u[]) const
Definition: BOpcodeHandler.h:5027
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:6172
int GetMetalnessMapChannel() const
Definition: BOpcodeHandler.h:2343
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:4033
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1557
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7638
void SetLockValue(int v)
Definition: BOpcodeHandler.h:2694
void Record_Instance(BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
Definition: BOpcodeHandler.h:674
char const * GetName() const
Definition: BOpcodeHandler.h:7616
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:4074
char const * GetShape() const
Definition: BOpcodeHandler.h:5237
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:2498
unsigned char m_compression
Definition: BOpcodeHandler.h:7055
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5153
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:1513
int m_flags
internal use
Definition: BOpcodeHandler.h:903
void SetDiffuse(float r, float g, float b)
Definition: BOpcodeHandler.h:1796
bool m_needs_tag
Indicate if this object explicitly needs tagging.
Definition: BOpcodeHandler.h:67
int GetCount() const
Definition: BOpcodeHandler.h:7726
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:5035
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:6250
int Pass(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:175
static TK_Status GetData(BStreamFileToolkit &tk, double *d, int n)
Definition: BOpcodeHandler.h:287
int GetOptions() const
Definition: BOpcodeHandler.h:2241
HLONG * m_values
for internal use only
Definition: BOpcodeHandler.h:4806
static TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:470
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4850
int m_size
Definition: BOpcodeHandler.h:7423
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:2474
int GetCount() const
Definition: BOpcodeHandler.h:5673
double const * GetDTextLeaders() const
Definition: BOpcodeHandler.h:6903
int GetGeometry() const
Definition: BOpcodeHandler.h:4308
void SetCollectionPart(bool n)
Definition: BOpcodeHandler.h:203
float const * GetAxis() const
Definition: BOpcodeHandler.h:6362
int GetOptions() const
Definition: BOpcodeHandler.h:5935
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:6969
float * GetVKnots()
Definition: BOpcodeHandler.h:5863
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:91
Definition: BOpcodeHandler.h:4498
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3420
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:3897
void GetPosition(float p[]) const
Definition: BOpcodeHandler.h:4987
int m_name_length
Definition: BOpcodeHandler.h:7471
char * GetOcclusionMap()
Definition: BOpcodeHandler.h:2297
unsigned char * m_leader_flags
Definition: BOpcodeHandler.h:6800
Handles the TKE_Dictionary opcode.
Definition: BOpcodeHandler.h:1636
float * GetLodRatios()
Definition: BOpcodeHandler.h:3644
char const * GetCutGeometryEdgePattern() const
Definition: BOpcodeHandler.h:3782
int GetColorLockValue() const
Definition: BOpcodeHandler.h:2741
void SetValue(int v)
Definition: BOpcodeHandler.h:5219
int GetStringCursorCount() const
Definition: BOpcodeHandler.h:6879
float const * GetWindow() const
Definition: BOpcodeHandler.h:5135
void SetOrientation(int count, float const o[])
Definition: BOpcodeHandler.h:4213
void reset_string(char *&s)
internal use
Definition: BOpcodeHandler.h:2213
char * GetRoughnessMap()
Definition: BOpcodeHandler.h:2288
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:7242
void SetLayout(int p)
Definition: BOpcodeHandler.h:7314
char m_param_function
Definition: BOpcodeHandler.h:7193
char * m_definition
Definition: BOpcodeHandler.h:7593
int m_string_length
internal use
Definition: BOpcodeHandler.h:2123
int GetCount() const
Definition: BOpcodeHandler.h:5609
int GetColorLineLockValue() const
Definition: BOpcodeHandler.h:2810
char m_num_cylinder
For internal use only.
Definition: BOpcodeHandler.h:2518
int m_surface_budget
For internal use only.
Definition: BOpcodeHandler.h:2504
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1580
float const * GetWeights() const
Definition: BOpcodeHandler.h:5674
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4420
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:5873
internal use, indicates bits which require TKO_Geo_Extended
Definition: BOpcodeEnums.h:178
float * m_isoline_weights_value
for internal use only.
Definition: BOpcodeHandler.h:2473
short color_cut_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1095
Definition: BStream.h:276
void SetRotation(float r)
Definition: BOpcodeHandler.h:5271
//
Definition: BOpcodeEnums.h:143
float * m_weights
Definition: BOpcodeHandler.h:5807
int GetTextLeaderCount() const
Definition: BOpcodeHandler.h:6888
void SetColorBackLockMask(int m)
Definition: BOpcodeHandler.h:2932
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5447
int GetSize() const
Definition: BOpcodeHandler.h:7955
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:2902
TK_PolyCylinder()
Definition: BOpcodeHandler.h:6538
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:7658
void SetUpVector(float const u[])
Definition: BOpcodeHandler.h:5023
unsigned char m_tq
internal use; low half technology, high half quantization. For internal use only. ...
Definition: BOpcodeHandler.h:2434
unsigned char m_general_flags
Basic flags common to many handlers.
Definition: BOpcodeHandler.h:66
char * m_name
Definition: BOpcodeHandler.h:7592
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:4913
char * GetCondition()
Definition: BOpcodeHandler.h:1361
double const * GetDRef1() const
Definition: BOpcodeHandler.h:6721
float const * GetVKnots() const
Definition: BOpcodeHandler.h:5861
float const * GetPoints() const
Definition: BOpcodeHandler.h:5596
unsigned char m_type
Definition: BOpcodeHandler.h:6929
void SetDMajor(double const m[])
Definition: BOpcodeHandler.h:6282
void SetScreenRange(float const l[])
Definition: BOpcodeHandler.h:3906
char * GetName()
Definition: BOpcodeHandler.h:4585
char * GetShape()
Definition: BOpcodeHandler.h:5239
int GetDecimation() const
Definition: BOpcodeHandler.h:7286
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:3929
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:4616
void SetSpace(int s)
Definition: BOpcodeHandler.h:1996
float GetCutVisualizationScale() const
Definition: BOpcodeHandler.h:4266
int GetCutGeometryEdgeWeightUnits() const
Definition: BOpcodeHandler.h:3775
void SetEnvironmentName(int length)
Definition: BOpcodeHandler.h:1873
int m_index
internal use
Definition: BOpcodeHandler.h:2021
void SetRadius(float r)
Definition: BOpcodeHandler.h:6349
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:3133
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:5719
TK_Open_Segment()
Definition: BOpcodeHandler.h:1182
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:2994
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5552
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:3582
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:2822
int GetTransforms() const
Definition: BOpcodeHandler.h:5303
void SetVector(float const v[])
Definition: BOpcodeHandler.h:4098
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:2638
extended bits for common/shared items
Definition: BOpcodeEnums.h:177
BBaseOpcodeHandler * m_complex
Definition: BOpcodeHandler.h:7686
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:5360
Definition: BOpcodeHandler.h:1720
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:6123
short m_channels
internal use
Definition: BOpcodeHandler.h:1715
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7141
self-explanatory
Definition: BOpcodeEnums.h:1273
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2451
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:5168
void SetLodMinimumTriangleCount(int v)
Definition: BOpcodeHandler.h:3590
int GetQuantization() const
Definition: BOpcodeHandler.h:2653
char * m_condition
Definition: BOpcodeHandler.h:1386
void SetMetalnessMapChannel(int c)
Definition: BOpcodeHandler.h:2341
float const * GetLimits() const
Definition: BOpcodeHandler.h:6300
char const * GetCamera() const
Definition: BOpcodeHandler.h:7260
float m_start
Definition: BOpcodeHandler.h:5637
void SetDOrigin(double const o[])
Definition: BOpcodeHandler.h:6708
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:6230
TK_Heuristics()
Definition: BOpcodeHandler.h:4006
void SetHlrFaceDisplacement(float d)
Definition: BOpcodeHandler.h:3534
void SetPoints(float const s[], float const m[], float const e[], float const c[]=0)
Definition: BOpcodeHandler.h:6149
char * GetString()
Definition: BOpcodeHandler.h:7995
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:6164
void SetDiffuseTextureTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3948
void SetEmissiveMap(int length)
Definition: BOpcodeHandler.h:2266
void ** GetValues()
Definition: BOpcodeHandler.h:4895
void SetEmission(float const rgb[])
Definition: BOpcodeHandler.h:1858
void SetOptions(int f)
Definition: BOpcodeHandler.h:7153
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:7396
int GetFormat() const
Definition: BOpcodeHandler.h:7150
int GetMoveDown() const
Definition: BOpcodeHandler.h:4398
void SetMask(int m)
Definition: BOpcodeHandler.h:4019
void SetConcentration(float c)
Definition: BOpcodeHandler.h:6011
char m_param_source
Definition: BOpcodeHandler.h:7186
float const * GetKnots() const
Definition: BOpcodeHandler.h:5784
float GetCutGeometryEdgeWeight() const
Definition: BOpcodeHandler.h:3773
int GetEncoding() const
Definition: BOpcodeHandler.h:6858
int GetSizeUnits() const
Definition: BOpcodeHandler.h:5258
float * GetWeights()
Definition: BOpcodeHandler.h:5782
int m_buffer_size
Definition: BOpcodeHandler.h:7837
static void fix_out(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:608
void SetColorBackForcedLockValue(int v)
Definition: BOpcodeHandler.h:3346
unsigned short m_simple_shadow_resolution
For internal use only.
Definition: BOpcodeHandler.h:2541
float GetWidthScale() const
Definition: BOpcodeHandler.h:5283
int GetParameterFunction() const
Definition: BOpcodeHandler.h:7311
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:6055
char const * GetName() const
Definition: BOpcodeHandler.h:6982
void add_segment(BStreamFileToolkit &tk, ID_Key key)
for internal use only
Definition: BOpcodeHandler.h:643
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:7531
Lock_Masks m_filter
for internal use only
Definition: BOpcodeHandler.h:1301
float GetStereoDistance() const
Definition: BOpcodeHandler.h:3515
int GetVisibilityLockMask() const
Definition: BOpcodeHandler.h:2707
void SetColorTextForcedLockMask(int m)
Definition: BOpcodeHandler.h:3243
char * GetName(void)
Definition: BOpcodeHandler.h:8116
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:4150
void SetColorLockMask(int m)
Definition: BOpcodeHandler.h:2725
ID_Key m_renumbered_key
for internal use only
Definition: BOpcodeHandler.h:1297
Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.
Definition: BOpcodeHandler.h:4430
void SetWindow(float const w[], float const o[])
Definition: BOpcodeHandler.h:5127
void SetIndex(int i)
Definition: BOpcodeHandler.h:4487
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:3958
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:3110
double const * GetDMinor() const
Definition: BOpcodeHandler.h:6293
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:1802
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:4838
void Reset()
internal use
Definition: BOpcodeHandler.h:1727
int m_number_of_items
internal use
Definition: BOpcodeHandler.h:1641
int GetColorWindowContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3328
int GetColorTextForcedLockMask() const
Definition: BOpcodeHandler.h:3248
char * GetCylinderTessellations()
Definition: BOpcodeHandler.h:3707
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5985
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:3709
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:2943
void SetAction(int at)
Definition: BOpcodeHandler.h:4701
int GetType() const
Definition: BOpcodeHandler.h:6963
float m_index
internal use
Definition: BOpcodeHandler.h:2070
char const * GetBytes() const
Definition: BOpcodeHandler.h:7102
void SetDAxis(double const s[], double const e[])
Definition: BOpcodeHandler.h:6481
char * GetSegment()
Definition: BOpcodeHandler.h:1213
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7401
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5998
void SetColorVertexContrastLockValue(int v)
Definition: BOpcodeHandler.h:3058
int m_general_displacement
For internal use only.
Definition: BOpcodeHandler.h:2575
Handles the TKE_Color_RGB opcode.
Definition: BOpcodeHandler.h:1905
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1299
float const * GetPosition() const
Definition: BOpcodeHandler.h:6845
int m_definition_length
Definition: BOpcodeHandler.h:7591
static TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:271
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:5516
int m_stage
The writing stage.
Definition: BOpcodeHandler.h:63
void SetColorLineContrastLockMask(int m)
Definition: BOpcodeHandler.h:3001
void SetColorVertexForcedLockValue(int v)
Definition: BOpcodeHandler.h:3369
float * m_planes
internal use
Definition: BOpcodeHandler.h:6030
Handles the TKE_Image_XRef opcodes.
Definition: BOpcodeHandler.h:8086
void SetTiling(int p)
Definition: BOpcodeHandler.h:7319
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1081
void SetDMinor(double const m[])
Definition: BOpcodeHandler.h:6291
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6525
int * GetLengths()
Definition: BOpcodeHandler.h:7798
char m_type
internal use
Definition: BOpcodeHandler.h:5397
all
Definition: BOpcodeEnums.h:359
mask of bits in second byte
Definition: BOpcodeEnums.h:786
unsigned short m_shadow_map
For internal use only.
Definition: BOpcodeHandler.h:2547
int GetColorTextLockMask() const
Definition: BOpcodeHandler.h:2845
float m_stereo_distance
For internal use only.
Definition: BOpcodeHandler.h:2515
double const * GetDPlanes() const
Definition: BOpcodeHandler.h:6076
int m_length
Definition: BOpcodeHandler.h:4720
int GetBlueMapping() const
Definition: BOpcodeHandler.h:7301
static TK_Status LookatData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:343
int m_length
Definition: BOpcodeHandler.h:2369
int visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:1097
int GetTextRegionFitting() const
Definition: BOpcodeHandler.h:6873
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3473
double const * GetDRef2() const
Definition: BOpcodeHandler.h:6732
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4415
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:674
void SetKey(ID_Key k)
Definition: BOpcodeHandler.h:1595
int m_placeholder
internal use
Definition: BOpcodeHandler.h:1639
int GetProjection() const
Definition: BOpcodeHandler.h:5083
unsigned char * m_dleader_flags
Definition: BOpcodeHandler.h:6803
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:2578
char * GetName()
Definition: BOpcodeHandler.h:7499
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3220
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:7279
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6377
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:6287
float * GetMatrix()
Definition: BOpcodeHandler.h:4458
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:6670
int m_length
Definition: BOpcodeHandler.h:4631
int GetLayout() const
Definition: BOpcodeHandler.h:7316
char m_marker_drawing_preference
For internal use only.
Definition: BOpcodeHandler.h:2587
int m_allocated
Definition: BOpcodeHandler.h:1290
unsigned char size_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6769
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:8045
float m_outer
for internal use only
Definition: BOpcodeHandler.h:5951
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5566
char m_apply_mode
Definition: BOpcodeHandler.h:7199
int * m_cursors
Definition: BOpcodeHandler.h:6797
HLONG * GetValues()
Definition: BOpcodeHandler.h:4840
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:3986
double const * GetDStart() const
Definition: BOpcodeHandler.h:6487
int m_count
internal use
Definition: BOpcodeHandler.h:6032
int mask
For internal use only.
Definition: BOpcodeHandler.h:1057
int GetSize() const
Definition: BOpcodeHandler.h:1695
void SetMetalnessFactor(float f)
Definition: BOpcodeHandler.h:2320
int m_internal_shell
internal use
Definition: BOpcodeHandler.h:3979
void SetRef1(float const r[])
Definition: BOpcodeHandler.h:6685
unsigned char m_type
Definition: BOpcodeHandler.h:5720
void SetColorFaceContrastLockValue(int v)
Definition: BOpcodeHandler.h:2897
char const * GetRoughnessMap() const
Definition: BOpcodeHandler.h:2286
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5393
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:4950
char m_tint_effect
For internal use only.
Definition: BOpcodeHandler.h:2479
void SetColorFaceForcedLockValue(int v)
Definition: BOpcodeHandler.h:3162
TK_User_Data()
Definition: BOpcodeHandler.h:7844
float const * GetViewVolume() const
Definition: BOpcodeHandler.h:4109
void SetRGB(float const rgb[])
Definition: BOpcodeHandler.h:1945
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:5803
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:3991
int m_index
Definition: BOpcodeHandler.h:1258
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:5479
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:4045
void SetSelectionSorting(int s)
Definition: BOpcodeHandler.h:4145
////
Definition: BOpcodeEnums.h:96
const int TK_Image_Bytes_Per_Pixel[]
Specifies the number of bytes per pixel for each format.
TK_Glyph_Definition()
Definition: BOpcodeHandler.h:7429
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7469
float * GetTextLeaders()
Definition: BOpcodeHandler.h:6892
double m_dradius
Definition: BOpcodeHandler.h:6438
void GetField(float f[]) const
Definition: BOpcodeHandler.h:5046
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:3047
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:5306
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:3586
char * GetEmissionName()
Definition: BOpcodeHandler.h:1868
int GetApplicationMode() const
Definition: BOpcodeHandler.h:7331
void SetBaseColorMap(int length)
Definition: BOpcodeHandler.h:2248
void GetDUpVector(double u[]) const
Definition: BOpcodeHandler.h:5037
unsigned short m_tint_options
For internal use only.
Definition: BOpcodeHandler.h:2476
int m_maximum_extent_mode
internal use; maximum extent mode – int! argh...
Definition: BOpcodeHandler.h:3988
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1103
void SetWindow(float const w[])
Definition: BOpcodeHandler.h:5125
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:1734
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2087
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:6411
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:5332
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:6867
float * GetValues()
Definition: BOpcodeHandler.h:2158
float * m_radii
Definition: BOpcodeHandler.h:6531
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4940
int m_mask
internal use
Definition: BOpcodeHandler.h:2020
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:4035
float GetRadius() const
Definition: BOpcodeHandler.h:6472
int GetIndex() const
Definition: BOpcodeHandler.h:4489
float m_index
internal use
Definition: BOpcodeHandler.h:1742
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:4788
int GetLodNumThresholds() const
Definition: BOpcodeHandler.h:3662
bool validate_count(int count, int limit=1<< 24) const
Definition: BOpcodeHandler.h:689
void SetLodThreshold(float r)
Definition: BOpcodeHandler.h:3651
int GetNumSphereTessellations() const
Definition: BOpcodeHandler.h:3720
float m_start_u
Definition: BOpcodeHandler.h:5728
void SetName(int length)
Definition: BOpcodeHandler.h:8112
int GetType() const
Definition: BOpcodeHandler.h:5764
unsigned short m_transparency_options
internal use; low nibble style, next peeling flags, then zsort
Definition: BOpcodeHandler.h:2527
int m_total_size
the total size of the blind material data
Definition: BOpcodeHandler.h:7895
int m_mask
internal use
Definition: BOpcodeHandler.h:1714
char m_interpolation
Definition: BOpcodeHandler.h:7187
void SetNURBSCurveContinuedBudget(int b)
Definition: BOpcodeHandler.h:3564
void SetHlrOptions(int o)
Definition: BOpcodeHandler.h:3519
void SetStereoDistance(float d)
Definition: BOpcodeHandler.h:3513
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:6782
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:5178
short color_back_mask
For internal use only.
Definition: BOpcodeHandler.h:1077
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:647
int m_length
Definition: BOpcodeHandler.h:8008
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:6764
char m_param_offset
Definition: BOpcodeHandler.h:7200
int m_substage
Definition: BOpcodeHandler.h:5718
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:2971
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5669
double * GetDRef2()
Definition: BOpcodeHandler.h:6734
void SetOcclusionMapChannel(int c)
Definition: BOpcodeHandler.h:2351
char const * GetString() const
Definition: BOpcodeHandler.h:6835
float * m_weights
Definition: BOpcodeHandler.h:5726
void SetFlags(int f)
Definition: BOpcodeHandler.h:923
char * GetLoggingString()
Definition: BOpcodeHandler.h:248
void SetDebug(int d)
Definition: BOpcodeHandler.h:2656
int m_lod_options_value
For internal use only.
Definition: BOpcodeHandler.h:2482
float const * GetLodThresholds() const
Definition: BOpcodeHandler.h:3664
char * GetDefinition()
Definition: BOpcodeHandler.h:7627
float GetNearLimit() const
Definition: BOpcodeHandler.h:5077
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:4133
float * m_points
Definition: BOpcodeHandler.h:7750
unsigned char m_format
Definition: BOpcodeHandler.h:7053
bool m_collection_part
Indicates if this object is part of a LOD collection.
Definition: BOpcodeHandler.h:68
int color_mask
For internal use only.
Definition: BOpcodeHandler.h:1059
float const * GetPoints() const
Definition: BOpcodeHandler.h:5836
int m_length
Definition: BOpcodeHandler.h:6928
oblique y setting
Definition: BOpcodeEnums.h:1151
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2428
bool NeedsTag() const
Definition: BOpcodeHandler.h:198
ID_Key GetKey() const
Definition: BOpcodeHandler.h:1597
void SetScreenRange(int n, float const l[])
Definition: BOpcodeHandler.h:3911
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7785
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:4084
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:216
secondary extended bits
Definition: BOpcodeEnums.h:206
char const * GetString() const
Definition: BOpcodeHandler.h:7993
void SetViewVolume(float ax, float ay, float az, float bx, float by, float bz)
Definition: BOpcodeHandler.h:4111
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:4501
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:1821
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6241
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:978
unsigned char m_flags
Definition: BOpcodeHandler.h:6097
int GetEncoding() const
Definition: BOpcodeHandler.h:6998
int GetColorBackLockMask() const
Definition: BOpcodeHandler.h:2937
bool m_terminate_file
internal use for hsx read-write only. This indicates if the TKE_Terminate is
Definition: BOpcodeHandler.h:1022
float const * GetMatrix() const
Definition: BOpcodeHandler.h:4456
float const * GetRef1() const
Definition: BOpcodeHandler.h:6687
int GetOcclusionMapChannel() const
Definition: BOpcodeHandler.h:2353
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3231
self-explanatory
Definition: BOpcodeEnums.h:1588
void SetDAxis(double const a[])
Definition: BOpcodeHandler.h:6483
Definition: BOpcodeHandler.h:854
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1067
char * GetSegment()
Definition: BOpcodeHandler.h:7579
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:2472
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:7334
Contains enum types which are used by BBaseOpcodeHandler.
char * m_string
Definition: BOpcodeHandler.h:7971
int m_buffer_size_limit
For internal use only.
Definition: BOpcodeHandler.h:2446
The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical piec...
Definition: BOpcodeHandler.h:55
int GetColorTextForcedLockValue() const
Definition: BOpcodeHandler.h:3259
char * GetString()
Definition: BOpcodeHandler.h:6837
int GetCount() const
Definition: BOpcodeHandler.h:4883
int GetNURBSSurfaceBudget() const
Definition: BOpcodeHandler.h:3570
unsigned char m_hsr
internal use; low half hsr, high half thsr. For internal use only.
Definition: BOpcodeHandler.h:2433
void SetDiffuseName(char const *name)
Definition: BOpcodeHandler.h:1800
float const * GetCenter() const
Definition: BOpcodeHandler.h:6247
int GetMask() const
Definition: BOpcodeHandler.h:4025
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2452
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:7893
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:3509
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2392
int GetCompression() const
Definition: BOpcodeHandler.h:7160
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short &s)
Definition: BOpcodeHandler.h:316
TK_Status
Codes which can be either passed to various toolkit functions, or indicate the result of a toolkit fu...
Definition: BStream.h:275
void SetCaps(int f)
Definition: BOpcodeHandler.h:6498
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5102
int GetLength() const
Definition: BOpcodeHandler.h:2160
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:4724
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:5455
int m_length
Definition: BOpcodeHandler.h:6786
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:4723
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:7394
unsigned char m_encoding
Definition: BOpcodeHandler.h:6789
TK_LOD()
Definition: BOpcodeHandler.h:1520
char const * GetName(void) const
Definition: BOpcodeHandler.h:8114
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3450
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:4516
void SetAxis(float const s[])
Definition: BOpcodeHandler.h:6360
void SetValue(int m)
Definition: BOpcodeHandler.h:4314
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4276
unsigned short m_selection_bias
internal use; selection bias options
Definition: BOpcodeHandler.h:3985
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:3649
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:3121
void SetPoint(float const p[])
Definition: BOpcodeHandler.h:5481
void SetExtras(int e)
Definition: BOpcodeHandler.h:4053
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1433
char const * GetName() const
Definition: BOpcodeHandler.h:4583
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2455
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:7536
void SetCutVisualizationMode(int m)
Definition: BOpcodeHandler.h:4245
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:7384
unsigned char m_cut_geometry_match
For internal use only.
Definition: BOpcodeHandler.h:2531
char * m_string
Definition: BOpcodeHandler.h:1291
int const * GetSize() const
Definition: BOpcodeHandler.h:7145
void SetPoints(float const p[])
Definition: BOpcodeHandler.h:5536
double * GetDPoints()
Definition: BOpcodeHandler.h:7787
void SetTransparentStyle(int s)
Definition: BOpcodeHandler.h:2641
int GetHlrLinePattern() const
Definition: BOpcodeHandler.h:3540
float const * GetSimpleReflectionPlane() const
Definition: BOpcodeHandler.h:3879
int m_length
Definition: BOpcodeHandler.h:1289
internal use, indicates bits which require TKO_Geo_Extended2
Definition: BOpcodeEnums.h:207
void bytes_to_floats(unsigned char const *in, float *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:636
float m_contour_value_scale
for internal use only.
Definition: BOpcodeHandler.h:2463
short color_text_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1089
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6485
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:6767
TK_Color_RGB()
Definition: BOpcodeHandler.h:1912
int GetGeometry() const
Definition: BOpcodeHandler.h:2102
unsigned char m_cut_geometry
For internal use only.
Definition: BOpcodeHandler.h:2529
char m_type
Definition: BOpcodeHandler.h:6652
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:5268
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:193
char * m_shape
for internal use only
Definition: BOpcodeHandler.h:5173
char const * GetBaseColorMap() const
Definition: BOpcodeHandler.h:2250
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4857
int m_ascii_progress
Tracks the amount of data that has been read/written so far by GetAscii functions.
Definition: BOpcodeHandler.h:78
void SetColorLineForcedLockMask(int m)
Definition: BOpcodeHandler.h:3197
char * GetView()
Definition: BOpcodeHandler.h:5093
void SetRoughnessFactor(float f)
Definition: BOpcodeHandler.h:2325
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:5281
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:2771
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3300
unsigned char m_degree
Definition: BOpcodeHandler.h:5630
int GetNumCylinderTessellations() const
Definition: BOpcodeHandler.h:3703
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1365
int GetLodMinimumTriangleCount() const
Definition: BOpcodeHandler.h:3592
char * GetSpecularName()
Definition: BOpcodeHandler.h:1823
int m_name_length
Definition: BOpcodeHandler.h:7590
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:2668
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5800
int m_reference_length
Definition: BOpcodeHandler.h:7052
void SetCutVisualizationSCale(float s)
Definition: BOpcodeHandler.h:4264
char * m_data
Definition: BOpcodeHandler.h:7924
float * m_points
internal use
Definition: BOpcodeHandler.h:5887
float const * GetVector() const
Definition: BOpcodeHandler.h:4090
float const * GetCenter() const
Definition: BOpcodeHandler.h:6345
void SetOptions(int o)
Definition: BOpcodeHandler.h:5933
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:5157
int GetOptions() const
Definition: BOpcodeHandler.h:5778
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1389
void SetDField(double const f[])
Definition: BOpcodeHandler.h:5051
struct vlist_s * m_data
Definition: BOpcodeHandler.h:7899
unsigned char m_geometry_options
For internal use only.
Definition: BOpcodeHandler.h:2566
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2018
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2038
void SetNormalFactor(float f)
Definition: BOpcodeHandler.h:2315
TK_Shape_Definition()
Definition: BOpcodeHandler.h:7478
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:2805
void SetIndices(int count)
Definition: BOpcodeHandler.h:4830
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:2753
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:3993
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:4050
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2576
char const * GetXML() const
Definition: BOpcodeHandler.h:7951
int GetCount() const
Definition: BOpcodeHandler.h:6079
float GetMetalnessFactor() const
Definition: BOpcodeHandler.h:2322
int m_levels_allocated
the number of entries allocated in m_num_primitives and m_primitives
Definition: BOpcodeHandler.h:1511
unsigned char horizontal_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6771
int GetColorWindowLockMask() const
Definition: BOpcodeHandler.h:2868
void SetCylinderTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3694
char const * GetCondition() const
Definition: BOpcodeHandler.h:1424
void SetNearLimit(float l)
Definition: BOpcodeHandler.h:5072
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2462
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:5286
#define ID_Key
Definition: BStream.h:251
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:4174
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5000
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:2613
int m_cond_allocated
Definition: BOpcodeHandler.h:7527
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:5308
unsigned char m_flags
Definition: BOpcodeHandler.h:6439
char * name
the font name
Definition: BOpcodeHandler.h:6756
double * GetDPoints()
Definition: BOpcodeHandler.h:7722
wchar_t * GetString()
Definition: BOpcodeHandler.h:8073
char const * GetOcclusionMap() const
Definition: BOpcodeHandler.h:2295
void SetTransmissionName(char const *name)
Definition: BOpcodeHandler.h:1845
void SetBaseColorFactor(float r, float g, float b, float a)
Definition: BOpcodeHandler.h:2301
int GetRadiusCount() const
Definition: BOpcodeHandler.h:6610
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant)
Definition: BOpcodeHandler.h:966
#define TKO_Rendo_Extended
Definition: BOpcodeEnums.h:450
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6188
double * m_dradii
Definition: BOpcodeHandler.h:6532
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:871
char const * GetConditions() const
Definition: BOpcodeHandler.h:4653
float GetCutGeometryTolerance() const
Definition: BOpcodeHandler.h:3765
int GetCutGeometry() const
Definition: BOpcodeHandler.h:3745
unsigned short m_isoline_options
for internal use only.
Definition: BOpcodeHandler.h:2461
internal use, indicates bits which require TKO_Geo_Extended_Colors
Definition: BOpcodeEnums.h:193
void SetPoints(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:5527
int m_index
internal use
Definition: BOpcodeHandler.h:1479
float * GetPoints()
Definition: BOpcodeHandler.h:6569
int m_simple_reflection_visibility_value
For internal use only.
Definition: BOpcodeHandler.h:2558
int GetJoinCutoffAngle() const
Definition: BOpcodeHandler.h:2678
int GetGeometry() const
Definition: BOpcodeHandler.h:1993
void SetSimpleReflectionPlane(float const p[])
Definition: BOpcodeHandler.h:3877
float m_concentration
for internal use only
Definition: BOpcodeHandler.h:5953
void SetString(int length)
Definition: BOpcodeHandler.h:6833
float * GetWeights()
Definition: BOpcodeHandler.h:5855
void SetTransform(int length)
Definition: BOpcodeHandler.h:7347
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:5266
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:2787
double const * GetDRadii() const
Definition: BOpcodeHandler.h:6602
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:3722
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3277
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:7342
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:7363
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4718
int m_margin_count
for internal use only
Definition: BOpcodeHandler.h:5175
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5812
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:3097
int GetValue() const
Definition: BOpcodeHandler.h:4030
int m_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2436
TK_Dictionary()
Definition: BOpcodeHandler.h:1647
unsigned char m_byte
temporary
Definition: BOpcodeHandler.h:80
TK_Status Tag(BStreamFileToolkit &tk, int variant=-1) const
Definition: BOpcodeHandler.h:181
float const * GetPoints() const
Definition: BOpcodeHandler.h:5538
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7680
void SetSegment(int length)
Definition: BOpcodeHandler.h:1331
float const * GetStart() const
Definition: BOpcodeHandler.h:6465
unsigned char m_display_list_level
For internal use only.
Definition: BOpcodeHandler.h:2579
float const * GetRGB() const
Definition: BOpcodeHandler.h:1947
int GetInterpolation() const
Definition: BOpcodeHandler.h:7281
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:5697
char * GetImage()
Definition: BOpcodeHandler.h:7253
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3489
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:1804
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:4137
float GetGloss() const
Definition: BOpcodeHandler.h:1891
float GetSize() const
Definition: BOpcodeHandler.h:5253
float const * GetTarget() const
Definition: BOpcodeHandler.h:5990
TK_Color_Map()
Definition: BOpcodeHandler.h:2132
float GetSlant() const
Definition: BOpcodeHandler.h:5278
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:934
int m_size
Definition: BOpcodeHandler.h:7472
char * m_string
Definition: BOpcodeHandler.h:4632
void SetDiffuse(float const rgb[])
Definition: BOpcodeHandler.h:1798
static void fix_in(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:576
void SetDepthRange(float n, float f)
Definition: BOpcodeHandler.h:3893
short color_vertex_mask
For internal use only.
Definition: BOpcodeHandler.h:1079
short color_face_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1074
TK_Streaming()
Definition: BOpcodeHandler.h:4607
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:2914
int GetType() const
Definition: BOpcodeHandler.h:6749
static void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:546
int const * GetSizes() const
Definition: BOpcodeHandler.h:4898
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4404
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:5337
void SetCutGeometry(int m)
Definition: BOpcodeHandler.h:3743
void SetBaseColorMap(char const *name)
Definition: BOpcodeHandler.h:2246
void SetEndNormal(int index, float const normal[]=0)
Definition: BOpcodeHandler.h:6621
TK_Bounding(unsigned char opcode, double center[], double radius)
Definition: BOpcodeHandler.h:5423
void GetOblique(float o[]) const
Definition: BOpcodeHandler.h:5069
char * m_debug_string
Definition: BOpcodeHandler.h:71
char m_tiling
Definition: BOpcodeHandler.h:7195
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3358
int m_cursor_count
Definition: BOpcodeHandler.h:6796
float const * GetUpVector() const
Definition: BOpcodeHandler.h:5025
void SetSimpleReflection(int m)
Definition: BOpcodeHandler.h:3865
Handles the TKE_Color_Map opcode.
Definition: BOpcodeHandler.h:2118
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:313
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const *i, int n)
Definition: BOpcodeHandler.h:446
char * GetBumpName()
Definition: BOpcodeHandler.h:1886
char m_num_thresholds
For internal use only.
Definition: BOpcodeHandler.h:2486
float m_contour_value_translate
for internal use only.
Definition: BOpcodeHandler.h:2464
int m_mask
internal use
Definition: BOpcodeHandler.h:1959
TK_Named(unsigned char opcode)
Definition: BOpcodeHandler.h:4565
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1300
void SetAxis(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:6454
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:1862
char * m_name
Definition: BOpcodeHandler.h:6923
int GetIndex() const
Definition: BOpcodeHandler.h:4590
int GetOptions() const
Definition: BOpcodeHandler.h:4707
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4805
float const * GetMinor() const
Definition: BOpcodeHandler.h:6265
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:3820
void SetDStart(double const s[])
Definition: BOpcodeHandler.h:6168
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3392
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:5163
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:5658
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:7530
char * m_name
Definition: BOpcodeHandler.h:7045
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1391
int GetUDegree() const
Definition: BOpcodeHandler.h:5845
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4337
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4437
void SetDMiddle(double const m[])
Definition: BOpcodeHandler.h:6176
unsigned short m_simple_reflection
For internal use only.
Definition: BOpcodeHandler.h:2551
static float read_float(char const *cp, char **newcpp)
for internal use only
Definition: BOpcodeHandler.h:696
int GetColorWindowLockValue() const
Definition: BOpcodeHandler.h:2879
static TK_Status GetData(BStreamFileToolkit &tk, char *b, int n)
Definition: BOpcodeHandler.h:260
int * m_num_primitives
an array of ints to indicate the length of each row in m_primitives
Definition: BOpcodeHandler.h:1508
bool m_flag
for internal use only
Definition: BOpcodeHandler.h:4603
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2441
unsigned char * m_data
Definition: BOpcodeHandler.h:7836
int GetGeometry() const
Definition: BOpcodeHandler.h:1785
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3213
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:7294
void SetLodThresholds(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3653
float const * GetLodRatios() const
Definition: BOpcodeHandler.h:3642
void SetRectangle(float const *rect)
Definition: BOpcodeHandler.h:7661
TK_Status SetDPoints(int count, double const points[]=0)
void SetOptions(int at)
Definition: BOpcodeHandler.h:4705
Base class for shell and mesh.
Definition: BPolyhedron.h:22
int GetHSR() const
Definition: BOpcodeHandler.h:2633
char m_options
Definition: BOpcodeHandler.h:7682
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:4854
int GetGreekingMode() const
Definition: BOpcodeHandler.h:5318
char * m_string
Definition: BOpcodeHandler.h:1173
int m_hlr_options
For internal use only.
Definition: BOpcodeHandler.h:2448
TK_User_Index_Data()
Definition: BOpcodeHandler.h:4864
int GetExtras() const
Definition: BOpcodeHandler.h:4055
void SetDCenter(double const c[])
Definition: BOpcodeHandler.h:6193
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:4076
void SetCompression(int c)
Definition: BOpcodeHandler.h:7158
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2025
char * m_reference
Definition: BOpcodeHandler.h:7046
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3870
extends font options to a second byte
Definition: BOpcodeEnums.h:1174
int GetHlrOptions() const
Definition: BOpcodeHandler.h:3528
void SetRenderer(int r)
Definition: BOpcodeHandler.h:5322
int m_name_length
Definition: BOpcodeHandler.h:6926
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4668
TK_Geometry_Options()
Definition: BOpcodeHandler.h:4191
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:1860
char * m_bytes
Definition: BOpcodeHandler.h:6925
int m_vertex_displacement
For internal use only.
Definition: BOpcodeHandler.h:2437
void SetHardEdgeAngle(int m)
Definition: BOpcodeHandler.h:3732
char const * GetNormalMap() const
Definition: BOpcodeHandler.h:2259
float m_surface_max_trim_curve_deviation
For internal use only.
Definition: BOpcodeHandler.h:2506
void SetColorEdgeContrastLockValue(int v)
Definition: BOpcodeHandler.h:2989
int GetMask(int index=0) const
Definition: BOpcodeHandler.h:2623
float const * GetLodCutoffs() const
Definition: BOpcodeHandler.h:3682
float GetStereoSeparation() const
Definition: BOpcodeHandler.h:3511
Handles the TKE_Start_User_Data opcode.
Definition: BOpcodeHandler.h:7833
float m_size
for internal use only
Definition: BOpcodeHandler.h:5159
float * GetKnots()
Definition: BOpcodeHandler.h:5786
int m_length
internal use
Definition: BOpcodeHandler.h:2120
float GetCutVisualizationAlpha() const
Definition: BOpcodeHandler.h:4261
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:2125
float const * GetSpecular() const
Definition: BOpcodeHandler.h:1819
void SetName(char const *name)
Definition: BOpcodeHandler.h:7229
TK_Status SetPoints(int count, float const points[]=0)
void set_channel_rgb(channel &c, float r, float g, float b, int which_channel=-1)
internal use
Definition: BOpcodeHandler.h:1746
char * m_lookup
Definition: BOpcodeHandler.h:6924
int GetShadowMap() const
Definition: BOpcodeHandler.h:3851
int GetLoops() const
Definition: BOpcodeHandler.h:7804
TK_Window()
Definition: BOpcodeHandler.h:5109
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:3081
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:4536
int GetCulling() const
Definition: BOpcodeHandler.h:4060
float const * GetWeights() const
Definition: BOpcodeHandler.h:5780
int m_radius_count
Definition: BOpcodeHandler.h:6530
void SetSimpleShadowResolution(int m)
Definition: BOpcodeHandler.h:3807
void SetIndex(int index)
Definition: BOpcodeHandler.h:1407
int GetTargetVersion() const
Definition: BStreamFileToolkit.h:987
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6273
void SetDRef2(double const r[])
Definition: BOpcodeHandler.h:6730
TK_Line_Style()
Definition: BOpcodeHandler.h:7597
Definition: BOpcodeHandler.h:4601
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:6403
float * GetRef1()
Definition: BOpcodeHandler.h:6689
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:2484
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:5311
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:3982
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:5296
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6856
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1034
int GetPreference() const
Definition: BOpcodeHandler.h:5345
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6210
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5015
unsigned short * m_string
Definition: BOpcodeHandler.h:4767
static void fix_out(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:591
void SetColorWindowContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3312
void SetPreferences(int r1, int r2)
Definition: BOpcodeHandler.h:5348
TK_Texture()
Definition: BOpcodeHandler.h:7211
char * m_gooch_color_map_segment
For internal use only.
Definition: BOpcodeHandler.h:2525
void SetColorEdgeContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3381
int GetColorVertexContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3455
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1047
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6492
int m_allocated
Definition: BOpcodeHandler.h:8009
static TK_Status PutData(BStreamFileToolkit &tk, double const *d, int n)
Definition: BOpcodeHandler.h:417
int GetColorMarkerContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3432
float m_gooch_diffuse_weight
For internal use only.
Definition: BOpcodeHandler.h:2524
void SetColorEdgeContrastLockMask(int m)
Definition: BOpcodeHandler.h:2978
int GetSimpleShadowResolution() const
Definition: BOpcodeHandler.h:3809
void SetAmbientUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:3921
float const * GetPlanes() const
Definition: BOpcodeHandler.h:6074
int GetGeometry() const
Definition: BOpcodeHandler.h:1940
static TK_Status PutData(BStreamFileToolkit &tk, int const &i)
Definition: BOpcodeHandler.h:455
unsigned char * GetUserData()
Definition: BOpcodeHandler.h:7866
int GetColorEdgeLockMask() const
Definition: BOpcodeHandler.h:2776
extended bits for color
Definition: BOpcodeEnums.h:192
void SetColorWindowLockMask(int m)
Definition: BOpcodeHandler.h:2863
int m_total
Definition: BOpcodeHandler.h:7748
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:5790
void SetIndex(int i)
Definition: BOpcodeHandler.h:1493
static TK_Status PutData(BStreamFileToolkit &tk, float const *f, int n)
Definition: BOpcodeHandler.h:394
void SetSimpleShadowOpacity(float o)
Definition: BOpcodeHandler.h:3843
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5604
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:2920
char * GetName()
Definition: BOpcodeHandler.h:7450
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:6115
char const * GetLookup() const
Definition: BOpcodeHandler.h:6991
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:3942
void SetIndex(int i)
Definition: BOpcodeHandler.h:2056
int m_substage
Definition: BOpcodeHandler.h:6806
int m_options
internal use
Definition: BOpcodeHandler.h:1455
int GetUnits() const
Definition: BOpcodeHandler.h:4523
char * GetComment()
Definition: BOpcodeHandler.h:992
short color_line_mask
For internal use only.
Definition: BOpcodeHandler.h:1065
int GetGeometryOptionsMask() const
Definition: BOpcodeHandler.h:3729
extra item for color; refer to ::HC_Set_Color for a description
Definition: BOpcodeEnums.h:215
int GetLayout() const
Definition: BOpcodeHandler.h:5365
void SetSimpleShadowPlane(float const p[])
Definition: BOpcodeHandler.h:3830
float const * GetPoints() const
Definition: BOpcodeHandler.h:6567
int GetGeometry() const
Definition: BOpcodeHandler.h:2053
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:6180
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:6206
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:3128
self-explanatory
Definition: BOpcodeEnums.h:1312
int m_lod_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2481
float * m_isoline_colors
for internal use only.
Definition: BOpcodeHandler.h:2469
void SetColorEdgeLockValue(int v)
Definition: BOpcodeHandler.h:2782
void SetDisplayListLevel(int m)
Definition: BOpcodeHandler.h:3788
TK_URL()
Definition: BOpcodeHandler.h:7975
float const * GetDefinition() const
Definition: BOpcodeHandler.h:7506
unsigned char Opcode() const
Definition: BOpcodeHandler.h:163
int m_allocated
Definition: BOpcodeHandler.h:7970
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3711
void SetImage(char const *image)
Definition: BOpcodeHandler.h:7247
int GetLength()
Definition: BOpcodeHandler.h:4698
float const * GetPoints() const
Definition: BOpcodeHandler.h:5915
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:7289
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1477
void SetMinor(float const m[])
Definition: BOpcodeHandler.h:6263
double * GetDPoints()
Definition: BOpcodeHandler.h:6592
char const * GetOptions() const
Definition: BOpcodeHandler.h:4749
float * GetOrigin()
Definition: BOpcodeHandler.h:6678
void SetColorMarkerContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3438
TK_Default()
Definition: BOpcodeHandler.h:837
int GetBufferSizeLimit() const
Definition: BOpcodeHandler.h:3505
int GetOptions() const
Definition: BOpcodeHandler.h:7155
char const * GetReference() const
Definition: BOpcodeHandler.h:7120
float const * GetRadii() const
Definition: BOpcodeHandler.h:6579
short m_fbe_mask
For internal use only.
Definition: BOpcodeHandler.h:2582
void SetColorFaceForcedLockMask(int m)
Definition: BOpcodeHandler.h:3151
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1326
short color_cut_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1093
void SetOptions(int m)
Definition: BOpcodeHandler.h:2237
unsigned char m_heuristic
For internal use only.
Definition: BOpcodeHandler.h:2497
int * GetStringCursors()
Definition: BOpcodeHandler.h:6883
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1296
char * GetDefinition()
Definition: BOpcodeHandler.h:7459
int m_count
for internal use only
Definition: BOpcodeHandler.h:4852
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:7329
void SetEnvironmentName(char const *name)
Definition: BOpcodeHandler.h:1871
bool IsCollectionPart() const
Definition: BOpcodeHandler.h:208
Handles the TKE_Spot_Light opcode.
Definition: BOpcodeHandler.h:5945
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:4961
char const * GetStyle() const
Definition: BOpcodeHandler.h:5246
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:5327
void SetMirror(float const rgb[])
Definition: BOpcodeHandler.h:1828
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:1815
int GetParameterOffset() const
Definition: BOpcodeHandler.h:7336
int m_length
Definition: BOpcodeHandler.h:1171
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:970
short color_text_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1090
float const * GetEnd() const
Definition: BOpcodeHandler.h:6159
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:1832
bool GetFollow()
Definition: BOpcodeHandler.h:1367
char * m_string
Definition: BOpcodeHandler.h:6788
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:3856
TK_Text_Font()
Definition: BOpcodeHandler.h:5193
int GetFormat() const
Definition: BOpcodeHandler.h:7408
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:3063
char const * GetTransform() const
Definition: BOpcodeHandler.h:7349
int m_length
Definition: BOpcodeHandler.h:4766
float * m_values
internal use
Definition: BOpcodeHandler.h:2122
void SetSize(float s)
Definition: BOpcodeHandler.h:5251
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4336
void SetOptions(int length)
Definition: BOpcodeHandler.h:4747
int m_cond_length
Definition: BOpcodeHandler.h:1384
char * m_name
Definition: BOpcodeHandler.h:7473
char const * GetName() const
Definition: BOpcodeHandler.h:7557
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:4142
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:4125
int const * GetIndices() const
Definition: BOpcodeHandler.h:4834
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:3040
float GetExtraSpace() const
Definition: BOpcodeHandler.h:5288
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:6715
void SetLodMaxDegree(int v)
Definition: BOpcodeHandler.h:3602
void SetSegment(int length)
Definition: BOpcodeHandler.h:1203
float m_simple_reflection_hither
For internal use only.
Definition: BOpcodeHandler.h:2555
float const * GetMirror() const
Definition: BOpcodeHandler.h:1834
void SetSimpleShadow(int m)
Definition: BOpcodeHandler.h:3793
void SetNURBSCurveBudget(int b)
Definition: BOpcodeHandler.h:3560
int GetLockMask() const
Definition: BOpcodeHandler.h:2691
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1773
float const * GetValues() const
Definition: BOpcodeHandler.h:2156
int GetAction() const
Definition: BOpcodeHandler.h:4703
float const * GetScreenRange() const
Definition: BOpcodeHandler.h:3916
extra item for visibility; refer to ::HC_Set_Visibility for a description
Definition: BOpcodeEnums.h:257
void SetCutGeometryLevel(int m)
Definition: BOpcodeHandler.h:3748
virtual TK_Status Error(char const *msg=0) const
unsigned char m_depth_peeling_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2573
char * GetNormalMap()
Definition: BOpcodeHandler.h:2261
float const * GetPoint() const
Definition: BOpcodeHandler.h:5483
void SetIndex(int i)
Definition: BOpcodeHandler.h:4588
int m_value
internal use
Definition: BOpcodeHandler.h:3976
int GetOptions() const
Definition: BOpcodeHandler.h:5495
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:2817
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:4990
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5507
float m_slant
for internal use only
Definition: BOpcodeHandler.h:5162
int GetTechnology() const
Definition: BOpcodeHandler.h:2648
void SetRoughnessMap(int length)
Definition: BOpcodeHandler.h:2284
virtual TK_Status Execute(BStreamFileToolkit &tk)
void floats_to_bytes(float const *in, unsigned char *out, int count) const
for internal use only
Definition: BOpcodeHandler.h:631
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5731
void SetDown(int m)
Definition: BOpcodeHandler.h:4371
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7399
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6387
float const * GetTarget() const
Definition: BOpcodeHandler.h:5005
int GetCutVisualizationMask() const
Definition: BOpcodeHandler.h:4242
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:2948
char * m_string
Definition: BOpcodeHandler.h:4673
int m_substage
Definition: BOpcodeHandler.h:7184
void SetColorTextForcedLockValue(int v)
Definition: BOpcodeHandler.h:3254
int m_substage
internal use; To track the subcases
Definition: BOpcodeHandler.h:1743
void SetSpecular(float const rgb[])
Definition: BOpcodeHandler.h:1813
self-explanatory
Definition: BOpcodeEnums.h:266
void SetSizeUnits(int u)
Definition: BOpcodeHandler.h:5256
void SetEmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1856
void SetLodRatio(float r)
Definition: BOpcodeHandler.h:3629
void SetDPoint(double const p[])
Definition: BOpcodeHandler.h:5488
TK_Visibility(void)
Definition: BOpcodeHandler.h:4283
int m_control_point_count
Definition: BOpcodeHandler.h:5631
char m_index
internal use
Definition: BOpcodeHandler.h:4473
int GetColorLockMask() const
Definition: BOpcodeHandler.h:2730
int GetTotal() const
Definition: BOpcodeHandler.h:7802
char * GetReference()
Definition: BOpcodeHandler.h:7122
self-explanatory
Definition: BOpcodeEnums.h:269
void SetSimpleShadowColor(float const rgb[])
Definition: BOpcodeHandler.h:3838
void SetColorLineContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3404
int m_related
internal use
Definition: BOpcodeHandler.h:3978
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:3566
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4853
void SetUp(int m)
Definition: BOpcodeHandler.h:4382
void SetMask(int m)
Definition: BOpcodeHandler.h:5208
int GetStaticOptions() const
Definition: BOpcodeHandler.h:4157
void SetGeometryOptionsMask(int m)
Definition: BOpcodeHandler.h:3727
int GetColorMarkerLockValue() const
Definition: BOpcodeHandler.h:2833
float GetAlphaFactor() const
Definition: BOpcodeHandler.h:2337
Lock_Masks m_forced
For internal use only.
Definition: BOpcodeHandler.h:2442
int GetLength()
Definition: BOpcodeHandler.h:4753
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:7324
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6139
int GetCount() const
Definition: BOpcodeHandler.h:6608
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7138
float const * GetKnots() const
Definition: BOpcodeHandler.h:5676
char * m_camera
Definition: BOpcodeHandler.h:7178
int m_image_length
Definition: BOpcodeHandler.h:7181
unsigned char const * GetTextLeaderFlags() const
Definition: BOpcodeHandler.h:6894
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:1875
TK_Selectability(void)
Definition: BOpcodeHandler.h:4342
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:3185
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6489
int m_length
Definition: BOpcodeHandler.h:7969
char const * GetMetalnessMap() const
Definition: BOpcodeHandler.h:2277
unsigned char m_format
internal use
Definition: BOpcodeHandler.h:1638
unsigned short m_shadow_map_resolution
For internal use only.
Definition: BOpcodeHandler.h:2548
float m_hlr_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2450
int m_tmp
Definition: BOpcodeHandler.h:6807
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6222
short m_fbe_value
For internal use only.
Definition: BOpcodeHandler.h:2583
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:6726
float const * GetWeights() const
Definition: BOpcodeHandler.h:5853
double const * GetDPosition() const
Definition: BOpcodeHandler.h:4995
int GetLodOptionsMask() const
Definition: BOpcodeHandler.h:3580
float horizontal_offset
offset, positive or negative, from the standard position. units are specified separately in horizonta...
Definition: BOpcodeHandler.h:6761
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:1723
self-explanatory
Definition: BOpcodeEnums.h:268
Definition: BOpcodeHandler.h:6755
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:6392
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1688
void SetDMajor(double x, double y, double z)
Definition: BOpcodeHandler.h:6278
void SetForcedLockMask(int m)
Definition: BOpcodeHandler.h:3092
void SetSpecular(float r, float g, float b)
Definition: BOpcodeHandler.h:1811
void SetColorMarkerLockValue(int v)
Definition: BOpcodeHandler.h:2828
int GetGeneralDisplacement() const
Definition: BOpcodeHandler.h:2673
float const * GetPlane() const
Definition: BOpcodeHandler.h:6069
int * m_lengths
Definition: BOpcodeHandler.h:7749
int m_cond_allocated
Definition: BOpcodeHandler.h:1293
int const * GetPreferences() const
Definition: BOpcodeHandler.h:5350
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3305
void SetTransforms(int t)
Definition: BOpcodeHandler.h:5301
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:3094
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6650
char * GetCamera()
Definition: BOpcodeHandler.h:7262
void SetBumpName(int length)
Definition: BOpcodeHandler.h:1882
static TK_Status PutData(BStreamFileToolkit &tk, short const &s)
Definition: BOpcodeHandler.h:452
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6208
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:440
refer to ::HC_Set_Heuristics
Definition: BOpcodeEnums.h:914
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3351
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:6758
void adjust_written(BStreamFileToolkit &tk, int count)
for internal use only
Definition: BOpcodeHandler.h:656
int m_size
internal use
Definition: BOpcodeHandler.h:1673
float GetTolerance() const
Definition: BOpcodeHandler.h:5263
BBaseOpcodeHandler * m_referee
for internal use only
Definition: BOpcodeHandler.h:1390
char const * GetDiffuseName() const
Definition: BOpcodeHandler.h:1806
int m_from_index
internal use
Definition: BOpcodeHandler.h:1451
float m_hlr_dim_factor
For internal use only.
Definition: BOpcodeHandler.h:2449
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:7532
float GetMaxDistance() const
Definition: BOpcodeHandler.h:4106
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:2503
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:6738
int m_length
Definition: BOpcodeHandler.h:4672
indicates that the 2nd byte should be written
Definition: BOpcodeEnums.h:785
char * m_segment
Definition: BOpcodeHandler.h:7524
ID_Key last_key(BStreamFileToolkit &tk) const
obsolete
Definition: BOpcodeHandler.h:649
unsigned char m_depth_peeling_layers
For internal use only.
Definition: BOpcodeHandler.h:2571
float m_cut_geometry_edge_weight
for internal use only.
Definition: BOpcodeHandler.h:2534
int GetColorWindowContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3317
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6343
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:1836
virtual TK_Status Write(BStreamFileToolkit &tk)=0
void SetOptions(int opt)
Definition: BOpcodeHandler.h:5138
TK_Status GetGeneral(BStreamFileToolkit &tk)
Definition: BOpcodeHandler.h:329
void SetLodBounding(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:3615
int m_isoline_position_count
for internal use only.
Definition: BOpcodeHandler.h:2466
void SetDField(double w, double h)
Definition: BOpcodeHandler.h:5049
float * GetPoints()
Definition: BOpcodeHandler.h:5668
Flags
Definition: BOpcodeHandler.h:6417
short color_simple_reflection_mask
For internal use only.
Definition: BOpcodeHandler.h:1091
void SetColorTextLockMask(int m)
Definition: BOpcodeHandler.h:2840
extended bit
Definition: BOpcodeEnums.h:833
void SetLodTolerance(float v)
Definition: BOpcodeHandler.h:3606
int GetTiling() const
Definition: BOpcodeHandler.h:7321
bool GetLogging() const
Definition: BStreamFileToolkit.h:1006
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5969
void SetOptions(int o)
Definition: BOpcodeHandler.h:5866
float GetHlrFaceDisplacement() const
Definition: BOpcodeHandler.h:3536
int m_cond_length
Definition: BOpcodeHandler.h:1292
float m_curve_max_length
For internal use only.
Definition: BOpcodeHandler.h:2512
int m_isoline_pattern_count
for internal use only.
Definition: BOpcodeHandler.h:2470
char * GetBytes()
Definition: BOpcodeHandler.h:7104
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:4078
bool Find_Instance(BStreamFileToolkit &tk, int val1, int val2, int val3)
Definition: BOpcodeHandler.h:679
int m_substage
tracks progress of reading individual opcode handler arrays.
Definition: BOpcodeHandler.h:1512
float const * GetValueScale() const
Definition: BOpcodeHandler.h:7326
float const * GetMajor() const
Definition: BOpcodeHandler.h:6256
void SetDPlane(double const p[])
Definition: BOpcodeHandler.h:6066
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:3983
Handles the TKE_PBR opcode.
Definition: BOpcodeHandler.h:2191
int GetDegree() const
Definition: BOpcodeHandler.h:5772
float * m_knots
Definition: BOpcodeHandler.h:5636
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:4072
char m_options
internal use
Definition: BOpcodeHandler.h:5889
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:4980
static TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:304
void SetStaticOptions(int o)
Definition: BOpcodeHandler.h:4155
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:2661
char * GetBytes()
Definition: BOpcodeHandler.h:6975
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:4911
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:3542
int GetForceDefer() const
Definition: BOpcodeHandler.h:4152
short color_cut_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1096
void SetValues(int count, float const values[]=0)
Definition: BOpcodeHandler.h:2154
int GetCount() const
Definition: BOpcodeHandler.h:5766
extended bit for HLR suboptions; refer to ::HC_Set_Rendering_Options for description ...
Definition: BOpcodeEnums.h:673
char * m_string
Definition: BOpcodeHandler.h:4721
void SetColorTextContrastLockMask(int m)
Definition: BOpcodeHandler.h:3070
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2067
int m_mask
internal use
Definition: BOpcodeHandler.h:3975
void SetImageTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3937
unsigned char m_cut_geometry_level
For internal use only.
Definition: BOpcodeHandler.h:2530
short color_vertex_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1088
char * m_data
Definition: BOpcodeHandler.h:7425
double const * GetDMajor() const
Definition: BOpcodeHandler.h:6284
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1080
int GetSelectionSorting() const
Definition: BOpcodeHandler.h:4147
unsigned char m_hlr_threshold_units
for internal use only.
Definition: BOpcodeHandler.h:2457
void SetType(int t)
Definition: BOpcodeHandler.h:6961
char const * GetView() const
Definition: BOpcodeHandler.h:5091
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:5160
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:6704
void SetSimpleShadowPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3823
void SetFormat(int f)
Definition: BOpcodeHandler.h:2146
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6339
int m_isoline_color_count
for internal use only.
Definition: BOpcodeHandler.h:2468
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const &s)
Definition: BOpcodeHandler.h:461
void SetDPoint(double x, double y, double z)
Definition: BOpcodeHandler.h:5486
Capping_Options
Definition: BOpcodeHandler.h:6505
char * GetOptions()
Definition: BOpcodeHandler.h:4751
char * GetMirrorName()
Definition: BOpcodeHandler.h:1838
char const * GetString() const
Definition: BOpcodeHandler.h:8032
float const * GetOblique() const
Definition: BOpcodeHandler.h:5067
entity is double precision
Definition: BStream.h:354
void SetOcclusionMap(int length)
Definition: BOpcodeHandler.h:2293
double * GetDMatrix()
Definition: BOpcodeHandler.h:4462
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:3179
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:3684
bool m_jpeg_native
Definition: BOpcodeHandler.h:7062
float const * GetValue() const
Definition: BOpcodeHandler.h:2007
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:2685
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4296
float const * GetBaseColorFactor() const
Definition: BOpcodeHandler.h:2312
void SetColorVertexLockValue(int v)
Definition: BOpcodeHandler.h:2966
float GetOcclusionFactor() const
Definition: BOpcodeHandler.h:2332
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6853
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4338
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3835
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6269
void SetMask(int m)
Definition: BOpcodeHandler.h:4208
int GetLodClamp() const
Definition: BOpcodeHandler.h:3600
void SetRGB(float r, float g, float b)
Definition: BOpcodeHandler.h:1943
void SetDOrtho(double const s[])
Definition: BOpcodeHandler.h:6409