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;
2537 
2538  unsigned short m_simple_shadow;
2539  unsigned char m_simple_shadow_blur;
2541  float m_simple_shadow_plane[4];
2542  float m_simple_shadow_light[3];
2543  float m_simple_shadow_color[3];
2544  float m_simple_shadow_opacity;
2545 
2546  unsigned short m_shadow_map;
2547  unsigned short m_shadow_map_resolution;
2548  unsigned char m_shadow_map_samples;
2549 
2550  unsigned short m_simple_reflection;
2551  float m_simple_reflection_plane[4];
2558 
2559  float m_depth_range[2];
2560  float m_screen_range[8];
2561  float m_ambient_up_vector[3];
2562  float m_image_scale[2];
2563  unsigned short m_mask_transform;
2564 
2565  unsigned char m_geometry_options;
2566  float m_dihedral;
2567 
2568  float m_image_tint_color[3];
2569  float m_texture_tint_color[3];
2570  unsigned char m_depth_peeling_layers;
2573 
2578  unsigned char m_display_list_level;
2579  unsigned char m_antialias;
2580 
2581  short m_fbe_mask;
2582  short m_fbe_value;
2583 
2584  float m_eye_dome_lighting_back_color[3];
2585 
2588 
2590 
2591  int m_extra;
2592 
2593 #if 0
2594  TK_Radiosity_RayTrace_Options *m_rrt;
2595 #endif
2596 
2597  public:
2601 
2604  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2605 
2606  TK_Status ReadAscii (BStreamFileToolkit & tk);
2607  TK_Status WriteAscii (BStreamFileToolkit & tk);
2608 
2609  void Reset ();
2610 
2612  void SetMask (int m0, int m1=0, int m2=0) {
2613  m_mask[0] = m0;
2614  m_mask[1] = m1;
2615  m_mask[2] = m2;
2616  if (m2 != 0)
2617  m_mask[1] |= TKO_Rendo_Extended;
2618  if (m1 != 0)
2619  m_mask[0] |= TKO_Rendo_Extended;
2620  }
2622  int GetMask (int index=0) const { return m_mask[index]; }
2623 
2625  void SetValue (int v0, int v1=0, int v2=0) { m_value[0] = v0; m_value[1] = v1; m_value[2] = v2; }
2627  int GetValue (int index=0) const { return m_value[index]; }
2628 
2630  void SetHSR (int h) { m_hsr &= 0xF0; m_hsr |= (unsigned char)h & 0x0F; }
2632  int GetHSR () const { return (int)(m_hsr & 0x0F); }
2633 
2635  void SetTransparentHSR (int t) { m_hsr &= 0x0F; m_hsr |= (unsigned char)t << 4; }
2637  int GetTransparentHSR () const { return (int)(m_hsr >> 4); }
2638 
2640  void SetTransparentStyle (int s) { m_transparency_options = (unsigned short)s; }
2642  int GetTransparentStyle () const { return (int)m_transparency_options; }
2643 
2645  void SetTechnology (int t) { m_tq &= 0xF0; m_tq |= (unsigned char)t & 0x0F; }
2647  int GetTechnology () const { return (int)(m_tq & 0x0F); }
2648 
2650  void SetQuantization (int q) { m_tq &= 0x0F; m_tq |= (unsigned char)q << 4; }
2652  int GetQuantization () const { return (int)(m_tq >> 4); }
2653 
2655  void SetDebug (int d) { m_debug = d; }
2657  int GetDebug () const { return m_debug; }
2658 
2660  void SetFaceDisplacement (int d) { m_face_displacement = d; }
2662  int GetFaceDisplacement () const { return m_face_displacement; }
2663 
2665  void SetVertexDisplacement (int d) { m_vertex_displacement = d; }
2667  int GetVertexDisplacement () const { return m_vertex_displacement; }
2668 
2670  void SetGeneralDisplacement (int d) { m_general_displacement = d; }
2672  int GetGeneralDisplacement () const { return m_general_displacement; }
2673 
2675  void SetJoinCutoffAngle (int d) { m_join_cutoff_angle = d; }
2677  int GetJoinCutoffAngle () const { return m_join_cutoff_angle; }
2678 
2680  void SetFogLimits (float n, float f) { m_fog_limits[0] = n; m_fog_limits[1] = f; }
2682  void SetFogLimits (float const l[]) { SetFogLimits (l[0], l[1]); }
2684  float const * GetFogLimits () const { return m_fog_limits; }
2685 
2686 
2688  void SetLockMask (int m) { m_lock.mask = m; }
2690  int GetLockMask () const { return m_lock.mask; }
2691 
2693  void SetLockValue (int v) { m_lock.value = v; }
2695  int GetLockValue () const { return m_lock.value; }
2696 
2701  void SetVisibilityLockMask (int m) { m_lock.visibility_mask = m; }
2706  int GetVisibilityLockMask () const { return m_lock.visibility_mask; }
2707 
2712  void SetVisibilityLockValue (int v) { m_lock.visibility_value = v; }
2717  int GetVisibilityLockValue () const { return m_lock.visibility_value; }
2718 
2719 
2724  void SetColorLockMask (int m) { m_lock.color_mask = m; }
2729  int GetColorLockMask () const { return m_lock.color_mask; }
2730 
2735  void SetColorLockValue (int v) { m_lock.color_value = v; }
2740  int GetColorLockValue () const { return m_lock.color_value; }
2741 
2742 
2747  void SetColorFaceLockMask (int m) { m_lock.color_face_mask = (short)m; }
2752  int GetColorFaceLockMask () const { return m_lock.color_face_mask; }
2753 
2758  void SetColorFaceLockValue (int v) { m_lock.color_face_value = (short)v; }
2763  int GetColorFaceLockValue () const { return m_lock.color_face_value; }
2764 
2765 
2770  void SetColorEdgeLockMask (int m) { m_lock.color_edge_mask = (short)m; }
2775  int GetColorEdgeLockMask () const { return m_lock.color_edge_mask; }
2776 
2781  void SetColorEdgeLockValue (int v) { m_lock.color_edge_value = (short)v; }
2786  int GetColorEdgeLockValue () const { return m_lock.color_edge_value; }
2787 
2788 
2793  void SetColorLineLockMask (int m) { m_lock.color_line_mask = (short)m; }
2798  int GetColorLineLockMask () const { return m_lock.color_line_mask; }
2799 
2804  void SetColorLineLockValue (int v) { m_lock.color_line_value = (short)v; }
2809  int GetColorLineLockValue () const { return m_lock.color_line_value; }
2810 
2811 
2816  void SetColorMarkerLockMask (int m) { m_lock.color_marker_mask = (short)m; }
2821  int GetColorMarkerLockMask () const { return m_lock.color_marker_mask; }
2822 
2827  void SetColorMarkerLockValue (int v) { m_lock.color_marker_value = (short)v; }
2832  int GetColorMarkerLockValue () const { return m_lock.color_marker_value; }
2833 
2834 
2839  void SetColorTextLockMask (int m) { m_lock.color_text_mask = (short)m; }
2844  int GetColorTextLockMask () const { return m_lock.color_text_mask; }
2845 
2850  void SetColorTextLockValue (int v) { m_lock.color_text_value = (short)v; }
2855  int GetColorTextLockValue () const { return m_lock.color_text_value; }
2856 
2857 
2862  void SetColorWindowLockMask (int m) { m_lock.color_window_mask = (short)m; }
2867  int GetColorWindowLockMask () const { return m_lock.color_window_mask; }
2868 
2873  void SetColorWindowLockValue (int v) { m_lock.color_window_value = (short)v; }
2878  int GetColorWindowLockValue () const { return m_lock.color_window_value; }
2879 
2880 
2885  void SetColorFaceContrastLockMask (int m) { m_lock.color_face_contrast_mask = (short)m; }
2891 
2896  void SetColorFaceContrastLockValue (int v) { m_lock.color_face_contrast_value = (short)v; }
2902 
2903 
2914 
2925 
2926 
2931  void SetColorBackLockMask (int m) { m_lock.color_back_mask = (short)m; }
2936  int GetColorBackLockMask () const { return m_lock.color_back_mask; }
2937 
2942  void SetColorBackLockValue (int v) { m_lock.color_back_value = (short)v; }
2947  int GetColorBackLockValue () const { return m_lock.color_back_value; }
2948 
2949 
2954  void SetColorVertexLockMask (int m) { m_lock.color_vertex_mask = (short)m; }
2959  int GetColorVertexLockMask () const { return m_lock.color_vertex_mask; }
2960 
2965  void SetColorVertexLockValue (int v) { m_lock.color_vertex_value = (short)v; }
2970  int GetColorVertexLockValue () const { return m_lock.color_vertex_value; }
2971 
2972 
2977  void SetColorEdgeContrastLockMask (int m) { m_lock.color_edge_contrast_mask = (short)m; }
2983 
2988  void SetColorEdgeContrastLockValue (int v) { m_lock.color_edge_contrast_value = (short)v; }
2994 
2995 
3000  void SetColorLineContrastLockMask (int m) { m_lock.color_line_contrast_mask = (short)m; }
3006 
3011  void SetColorLineContrastLockValue (int v) { m_lock.color_line_contrast_value = (short)v; }
3017 
3018 
3029 
3040 
3041 
3052 
3063 
3064 
3069  void SetColorTextContrastLockMask (int m) { m_lock.color_text_contrast_mask = (short)m; }
3075 
3080  void SetColorTextContrastLockValue (int v) { m_lock.color_text_contrast_value = (short)v; }
3086 
3087 
3088 
3089 
3091  void SetForcedLockMask (int m) { m_forced.mask = m; }
3093  int GetForcedLockMask () const { return m_forced.mask; }
3094 
3096  void SetForcedLockValue (int v) { m_forced.value = v; }
3098  int GetForcedLockValue () const { return m_forced.value; }
3099 
3104  void SetVisibilityForcedLockMask (int m) { m_forced.visibility_mask = m; }
3109  int GetVisibilityForcedLockMask () const { return m_forced.visibility_mask; }
3110 
3115  void SetVisibilityForcedLockValue (int v) { m_forced.visibility_value = v; }
3120  int GetVisibilityForcedLockValue () const { return m_forced.visibility_value; }
3121 
3122 
3127  void SetColorForcedLockMask (int m) { m_forced.color_mask = m; }
3132  int GetColorForcedLockMask () const { return m_forced.color_mask; }
3133 
3138  void SetColorForcedLockValue (int v) { m_forced.color_value = v; }
3143  int GetColorForcedLockValue () const { return m_forced.color_value; }
3144 
3145 
3150  void SetColorFaceForcedLockMask (int m) { m_forced.color_face_mask = (short)m; }
3155  int GetColorFaceForcedLockMask () const { return m_forced.color_face_mask; }
3156 
3161  void SetColorFaceForcedLockValue (int v) { m_forced.color_face_value = (short)v; }
3166  int GetColorFaceForcedLockValue () const { return m_forced.color_face_value; }
3167 
3168 
3173  void SetColorEdgeForcedLockMask (int m) { m_forced.color_edge_mask = (short)m; }
3178  int GetColorEdgeForcedLockMask () const { return m_forced.color_edge_mask; }
3179 
3184  void SetColorEdgeForcedLockValue (int v) { m_forced.color_edge_value = (short)v; }
3189  int GetColorEdgeForcedLockValue () const { return m_forced.color_edge_value; }
3190 
3191 
3196  void SetColorLineForcedLockMask (int m) { m_forced.color_line_mask = (short)m; }
3201  int GetColorLineForcedLockMask () const { return m_forced.color_line_mask; }
3202 
3207  void SetColorLineForcedLockValue (int v) { m_forced.color_line_value = (short)v; }
3212  int GetColorLineForcedLockValue () const { return m_forced.color_line_value; }
3213 
3214 
3219  void SetColorMarkerForcedLockMask (int m) { m_forced.color_marker_mask = (short)m; }
3224  int GetColorMarkerForcedLockMask () const { return m_forced.color_marker_mask; }
3225 
3230  void SetColorMarkerForcedLockValue (int v) { m_forced.color_marker_value = (short)v; }
3235  int GetColorMarkerForcedLockValue () const { return m_forced.color_marker_value; }
3236 
3237 
3242  void SetColorTextForcedLockMask (int m) { m_forced.color_text_mask = (short)m; }
3247  int GetColorTextForcedLockMask () const { return m_forced.color_text_mask; }
3248 
3253  void SetColorTextForcedLockValue (int v) { m_forced.color_text_value = (short)v; }
3258  int GetColorTextForcedLockValue () const { return m_forced.color_text_value; }
3259 
3260 
3265  void SetColorWindowForcedLockMask (int m) { m_forced.color_window_mask = (short)m; }
3270  int GetColorWindowForcedLockMask () const { return m_forced.color_window_mask; }
3271 
3276  void SetColorWindowForcedLockValue (int v) { m_forced.color_window_value = (short)v; }
3281  int GetColorWindowForcedLockValue () const { return m_forced.color_window_value; }
3282 
3283 
3288  void SetColorFaceContrastForcedLockMask (int m) { m_forced.color_face_contrast_mask = (short)m; }
3294 
3305 
3306 
3317 
3328 
3329 
3334  void SetColorBackForcedLockMask (int m) { m_forced.color_back_mask = (short)m; }
3339  int GetColorBackForcedLockMask () const { return m_forced.color_back_mask; }
3340 
3345  void SetColorBackForcedLockValue (int v) { m_forced.color_back_value = (short)v; }
3350  int GetColorBackForcedLockValue () const { return m_forced.color_back_value; }
3351 
3352 
3357  void SetColorVertexForcedLockMask (int m) { m_forced.color_vertex_mask = (short)m; }
3362  int GetColorVertexForcedLockMask () const { return m_forced.color_vertex_mask; }
3363 
3368  void SetColorVertexForcedLockValue (int v) { m_forced.color_vertex_value = (short)v; }
3373  int GetColorVertexForcedLockValue () const { return m_forced.color_vertex_value; }
3374 
3375 
3380  void SetColorEdgeContrastForcedLockMask (int m) { m_forced.color_edge_contrast_mask = (short)m; }
3386 
3397 
3398 
3403  void SetColorLineContrastForcedLockMask (int m) { m_forced.color_line_contrast_mask = (short)m; }
3409 
3420 
3421 
3432 
3443 
3444 
3455 
3466 
3467 
3472  void SetColorTextContrastForcedLockMask (int m) { m_forced.color_text_contrast_mask = (short)m; }
3478 
3489 
3490 
3491 
3492 
3494  void SetBufferOptionsMask (int v) { m_buffer_options_mask = (unsigned char)v; }
3496  int GetBufferOptionsMask () const { return m_buffer_options_mask; }
3498  void SetBufferOptionsValue (int v) { m_buffer_options_value = (unsigned char) v; }
3500  int GetBufferOptionsValue () const { return m_buffer_options_value; }
3502  void SetBufferSizeLimit (int l) { m_buffer_size_limit = l; }
3504  int GetBufferSizeLimit () const { return m_buffer_size_limit; }
3505 
3506 
3508  void SetStereoSeparation (float s) { m_stereo_separation = s; }
3510  float GetStereoSeparation () const { return m_stereo_separation; }
3512  void SetStereoDistance (float d) { m_stereo_distance = d; }
3514  float GetStereoDistance () const { return m_stereo_distance; }
3515 
3516 
3518  void SetHlrOptions (int o) {
3519  m_hlr_options = o;
3520  if ((o & TKO_Hidden_Line_Extended_Mask) != 0) {
3521  m_hlr_options |= TKO_Hidden_Line_Extended;
3522  if ((o & TKO_Hidden_Line_Extended2_Mask) != 0)
3523  m_hlr_options |= TKO_Hidden_Line_Extended2;
3524  }
3525  }
3527  int GetHlrOptions () const { return m_hlr_options; }
3529  void SetHlrDimFactor (float d) { m_hlr_dim_factor = d; }
3531  float GetHlrDimFactor () const { return m_hlr_dim_factor; }
3533  void SetHlrFaceDisplacement (float d) { m_hlr_face_displacement = d; }
3535  float GetHlrFaceDisplacement () const { return m_hlr_face_displacement; }
3537  void SetHlrLinePattern (int p) { m_hlr_line_pattern = p; }
3539  int GetHlrLinePattern () const { return m_hlr_line_pattern; }
3541  void SetHlrFaceSortingAlgorithm (int a) { m_hlr_hsr_algorithm = (unsigned char)a; }
3543  float GetHlrFaceSortingAlgorithm () const { return m_hlr_hsr_algorithm; }
3544 
3545 
3547  void SetNURBSOptionsMask (int m) {
3548  m_nurbs_options_mask = m;
3549  if ((m & TKO_NURBS_Extended_Mask) != 0)
3550  m_nurbs_options_mask |= TKO_NURBS_Extended;
3551  }
3553  int GetNURBSOptionsMask () const { return m_nurbs_options_mask; }
3555  void SetNURBSOptionsValue (int v) { m_nurbs_options_value = v; }
3557  int GetNURBSOptionsValue () const { return m_nurbs_options_value; }
3559  void SetNURBSCurveBudget (int b) { m_curve_budget = b; }
3561  int GetNURBSCurveBudget () const { return m_curve_budget; }
3563  void SetNURBSCurveContinuedBudget (int b) { m_curve_continued_budget = b; }
3565  int GetNURBSCurveContinuedBudget () const { return m_curve_continued_budget; }
3567  void SetNURBSSurfaceBudget (int b) { m_surface_budget = b; }
3569  int GetNURBSSurfaceBudget () const { return m_surface_budget; }
3571  void SetNURBSSurfaceTrimBudget (int b) { m_surface_trim_budget = b; }
3573  int GetNURBSSurfaceTrimBudget () const { return m_surface_trim_budget; }
3574 
3575 
3577  void SetLodOptionsMask (int v) { m_lod_options_mask = v; }
3579  int GetLodOptionsMask () const { return m_lod_options_mask; }
3581  void SetLodOptionsValue (int v) { m_lod_options_value = v; }
3583  int GetLodOptionsValue () const { return m_lod_options_value; }
3585  void SetLodAlgorithm (int v) { m_lod_algorithm = (char)v; }
3587  int GetLodAlgorithm () const { return m_lod_algorithm; }
3589  void SetLodMinimumTriangleCount (int v) { m_min_triangle_count = v; }
3591  int GetLodMinimumTriangleCount () const { return m_min_triangle_count; }
3593  void SetLodNumLevels (int v) { m_num_levels = (unsigned char)v; }
3595  int GetLodNumLevels () const { return m_num_levels; }
3597  void SetLodClamp (int v) { m_clamp = (unsigned char)v; }
3599  int GetLodClamp () const { return m_clamp; }
3601  void SetLodMaxDegree (int v) { m_max_degree = v; }
3603  int GetLodMaxDegree () const { return m_max_degree; }
3605  void SetLodTolerance (float v) { m_tolerance = v; }
3607  float GetLodTolerance () const { return m_tolerance; }
3609  void SetLodFallback (int v) { m_fallback = (char)v; }
3611  int GetLodFallback () const { return m_fallback; }
3612 
3614  void SetLodBounding (float x1, float y1, float z1, float x2, float y2, float z2) {
3615  m_bounding[0] = x1; m_bounding[1] = y1; m_bounding[2] = z1;
3616  m_bounding[3] = x2; m_bounding[4] = y2; m_bounding[5] = z2;
3617  }
3619  void SetLodBounding (float const s[], float const e[]) {
3620  SetLodBounding (s[0], s[1], s[2], e[0], e[1], e[2]);
3621  }
3623  void SetLodBounding (float const p[]) { SetLodBounding (&p[0], &p[3]); }
3625  float const * GetLodBounding () const { return m_bounding; }
3626 
3628  void SetLodRatio (float r) { m_num_ratios = 1; m_ratio[0] = r; }
3630  void SetLodRatios (int c, float const r[] = 0) {
3631  m_num_ratios = (char)c;
3632  if (r != 0) {
3633  int i;
3634  for (i=0; i<c; ++i)
3635  m_ratio[i] = r[i];
3636  }
3637  }
3639  int GetLodNumRatios () const { return m_num_ratios; }
3641  float const * GetLodRatios () const { return m_ratio; }
3643  float * GetLodRatios () { return m_ratio; }
3644 
3646  void SetLodThresholdType (int v) { m_threshold_type = (char)v; }
3648  int GetLodThresholdType () const { return m_threshold_type; }
3650  void SetLodThreshold (float r) { m_num_thresholds = 1; m_threshold[0] = r; }
3652  void SetLodThresholds (int c, float const r[] = 0) {
3653  m_num_thresholds = (char)c;
3654  if (r != 0) {
3655  int i;
3656  for (i=0; i<c; ++i)
3657  m_threshold[i] = r[i];
3658  }
3659  }
3661  int GetLodNumThresholds () const { return m_num_thresholds; }
3663  float const * GetLodThresholds () const { return m_threshold; }
3665  float * GetLodThresholds () { return m_threshold; }
3666 
3668  void SetLodCutoff (float r) { m_num_cutoffs = 1; m_cutoff[0] = r; }
3670  void SetLodCutoffs (int c, float const r[] = 0) {
3671  m_num_cutoffs = (char)c;
3672  if (r != 0) {
3673  int i;
3674  for (i=0; i<c; ++i)
3675  m_cutoff[i] = r[i];
3676  }
3677  }
3679  int GetLodNumCutoffs () const { return m_num_cutoffs; }
3681  float const * GetLodCutoffs () const { return m_cutoff; }
3683  float * GetLodCutoffs () { return m_cutoff; }
3684 
3685 
3687  void SetTessellationMask (int m) { m_tessellations = (unsigned char)m; }
3689  int GetTessellationMask () const { return m_tessellations; }
3691  void SetCylinderTessellation (int n) { m_num_cylinder = (char)1; m_cylinder[0] = (char)n; }
3693  void SetCylinderTessellations (int c, char const * n = 0) {
3694  m_num_cylinder = (char)c;
3695  if (n != 0) {
3696  int i;
3697  for (i=0; i<c; ++i)
3698  m_cylinder[i] = n[i];
3699  }
3700  }
3702  int GetNumCylinderTessellations () const { return m_num_cylinder; }
3704  char const * GetCylinderTessellations () const { return m_cylinder; }
3706  char * GetCylinderTessellations () { return m_cylinder; }
3708  void SetSphereTessellation (int n) { m_num_sphere = (char)1; m_sphere[0] = (char)n; }
3710  void SetSphereTessellations (int c, char const * n = 0) {
3711  m_num_sphere = (char)c;
3712  if (n != 0) {
3713  int i;
3714  for (i=0; i<c; ++i)
3715  m_sphere[i] = n[i];
3716  }
3717  }
3719  int GetNumSphereTessellations () const { return m_num_sphere; }
3721  char const * GetSphereTessellations () const { return m_sphere; }
3723  char * GetSphereTessellations () { return m_sphere; }
3724 
3726  void SetGeometryOptionsMask (int m) { m_geometry_options = (unsigned char)m; }
3728  int GetGeometryOptionsMask () const { return m_geometry_options; }
3729 
3731  void SetHardEdgeAngle (int m) { m_dihedral = (unsigned char)m; }
3733  float GetHardEdgeAngle () const { return m_dihedral; }
3734 
3736  void SetMaskTransform (int m) { m_mask_transform = (unsigned short)m; }
3738  int GetMaskTransform () const { return (int)m_mask_transform; }
3739 
3740 
3742  void SetCutGeometry (int m) { m_cut_geometry = (unsigned char)m; }
3744  int GetCutGeometry () const { return (int)m_cut_geometry; }
3745 
3747  void SetCutGeometryLevel (int m) { m_cut_geometry_level = (unsigned char)m; }
3749  int GetCutGeometryLevel () const { return (int)m_cut_geometry_level; }
3750 
3752  void SetCutGeometryColorMatch (int m) { m_cut_geometry_match = (unsigned char)m; }
3754  int GetCutGeometryColorMatch () const { return (int)m_cut_geometry_match; }
3755 
3757  void SetCutGeometryTolerance (float m) { m_cut_geometry_tolerance = m; }
3759  float GetCutGeometryTolerance () const { return m_cut_geometry_tolerance; }
3760 
3762  void SetCutGeometryEdgeWeight (float value, int units = TKO_Generic_Size_Unspecified) {
3763  m_cut_geometry_edge_weight = (value > 0.0f) ? value : -1.0f;
3764  m_cut_geometry_edge_weight_units = (value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
3765  }
3767  float GetCutGeometryEdgeWeight () const { return m_cut_geometry_edge_weight; }
3769  int GetCutGeometryEdgeWeightUnits () const { return m_cut_geometry_edge_weight_units; }
3770 
3772  void SetCutGeometryEdgePattern (char const * pattern);
3774  void SetCutGeometryEdgePattern (int length);
3776  char const * GetCutGeometryEdgePattern () const { return m_cut_geometry_edge_pattern; }
3778  char * GetCutGeometryEdgePattern () { return m_cut_geometry_edge_pattern; }
3779 
3780 
3782  void SetDisplayListLevel (int m) { m_display_list_level = (unsigned char)m; }
3784  int GetDisplayListLevel () const { return (int)m_display_list_level; }
3785 
3787  void SetSimpleShadow (int m) {
3788  m_simple_shadow = (unsigned short)m;
3789  if ((m & TKO_Simple_Shadow_Extended_Mask) != 0)
3790  m_simple_shadow |= TKO_Simple_Shadow_Extended;
3791  }
3793  int GetSimpleShadow () const { return (int)m_simple_shadow; }
3794 
3796  void SetSimpleShadowBlur (int m) { m_simple_shadow_blur = (unsigned char)m; }
3798  int GetSimpleShadowBlur () const { return (int)m_simple_shadow_blur; }
3799 
3801  void SetSimpleShadowResolution (int m) { m_simple_shadow_resolution = (unsigned short)m; }
3803  int GetSimpleShadowResolution () const { return (int)m_simple_shadow_resolution; }
3804 
3806  void SetSimpleShadowLight (float x, float y, float z) {
3807  m_simple_shadow_light[0] = x;
3808  m_simple_shadow_light[1] = y;
3809  m_simple_shadow_light[2] = z;
3810  }
3812  void SetSimpleShadowLight (float const l[]) { SetSimpleShadowLight (l[0], l[1], l[2]); }
3814  float const * getSimpleShadowLight () const { return m_simple_shadow_light; }
3815 
3817  void SetSimpleShadowPlane (float a, float b, float c, float d) {
3818  m_simple_shadow_plane[0] = a;
3819  m_simple_shadow_plane[1] = b;
3820  m_simple_shadow_plane[2] = c;
3821  m_simple_shadow_plane[3] = d;
3822  }
3824  void SetSimpleShadowPlane (float const p[]) { SetSimpleShadowPlane (p[0], p[1], p[2], p[3]); }
3826  float const * GetSimpleShadowPlane () const { return m_simple_shadow_plane; }
3827 
3829  void SetSimpleShadowColor (float r, float g, float b)
3830  { m_simple_shadow_color[0] = r; m_simple_shadow_color[1] = g; m_simple_shadow_color[2] = b; }
3832  void SetSimpleShadowColor (float const rgb[]) { SetSimpleShadowColor (rgb[0], rgb[1], rgb[2]); }
3834  float const * GetSimpleShadowColor () const { return m_simple_shadow_color; }
3835 
3837  void SetSimpleShadowOpacity (float o) { m_simple_shadow_opacity = o; }
3839  float GetSimpleShadowOpacity () const { return m_simple_shadow_opacity; }
3840 
3841 
3843  void SetShadowMap (int m) { m_shadow_map = (unsigned char)m; }
3845  int GetShadowMap () const { return (int)m_shadow_map; }
3846 
3848  void SetShadowMapResolution (int m) { m_shadow_map_resolution = (unsigned short)m; }
3850  int GetShadowMapResolution () const { return (int)m_shadow_map_resolution; }
3851 
3853  void SetShadowMapSamples (int m) { m_shadow_map_samples = (unsigned char)m; }
3855  int GetShadowMapSamples () const { return (int)m_shadow_map_samples; }
3856 
3857 
3859  void SetSimpleReflection (int m) { m_simple_reflection = (unsigned short)m; }
3861  int GetSimpleReflection () const { return (int)m_simple_reflection; }
3862 
3864  void SetSimpleReflectionPlane (float a, float b, float c, float d) {
3865  m_simple_reflection_plane[0] = a;
3866  m_simple_reflection_plane[1] = b;
3867  m_simple_reflection_plane[2] = c;
3868  m_simple_reflection_plane[3] = d;
3869  }
3871  void SetSimpleReflectionPlane (float const p[]) { SetSimpleReflectionPlane (p[0], p[1], p[2], p[3]); }
3873  float const * GetSimpleReflectionPlane () const { return m_simple_reflection_plane; }
3874 
3876  void SetSimpleReflectionOpacity (float o) { m_simple_reflection_opacity = o; }
3878  float GetSimpleReflectionOpacity () const { return m_simple_reflection_opacity; }
3879 
3881  void SetSimpleReflectionVisibilityMask (int m) { m_simple_reflection_visibility_mask = m; }
3883  int GetSimpleReflectionVisibilityValue () const { return m_simple_reflection_visibility_value; }
3884 
3885 
3887  void SetDepthRange (float n, float f) { m_depth_range[0] = n; m_depth_range[1] = f; }
3889  void SetDepthRange (float const l[]) { SetDepthRange (l[0], l[1]); }
3891  float const * GetDepthRange () const { return m_depth_range; }
3892 
3893 
3895  void SetScreenRange (float l, float r, float b, float t,
3896  float lo = 0, float ro = 0, float bo = 0, float to = 0)
3897  { m_screen_range[0] = l; m_screen_range[1] = r; m_screen_range[2] = b; m_screen_range[3] = t;
3898  m_screen_range[4] = lo; m_screen_range[5] = ro; m_screen_range[6] = bo; m_screen_range[7] = to; }
3900  void SetScreenRange (float const l[]) { SetScreenRange (l[0], l[1], l[2], l[3]); }
3902  void SetScreenRange (float const l[], float const o[])
3903  { SetScreenRange (l[0], l[1], l[2], l[3], o[0], o[1], o[2], o[3]); }
3905  void SetScreenRange (int n, float const l[])
3906  { if (n == 8) SetScreenRange (l[0], l[1], l[2], l[4], l[5], l[6], l[7], l[8]);
3907  else SetScreenRange (l[0], l[1], l[2], l[3]);
3908  }
3910  float const * GetScreenRange () const { return m_screen_range; }
3911 
3915  void SetAmbientUpVector (float x, float y, float z)
3916  { m_ambient_up_vector[0] = x; m_ambient_up_vector[1] = y; m_ambient_up_vector[2] = z; }
3918  void SetAmbientUpVector (float const v[]) { SetAmbientUpVector (v[0], v[1], v[2]); }
3920  float const * GetAmbientUpVector () const { return m_ambient_up_vector; }
3921 
3923  void SetImageScale (float x, float y) { m_image_scale[0] = x; m_image_scale[1] = y; }
3925  void SetImageScale (float const s[]) { SetImageScale (s[0], s[1]); }
3927  float const * GetImageScale () const { return m_image_scale; }
3928 
3929 
3931  void SetImageTintColor (float r, float g, float b)
3932  { m_image_tint_color[0] = r; m_image_tint_color[1] = g; m_image_tint_color[2] = b; }
3934  void SetImageTintColor (float const rgb[]) { SetImageTintColor (rgb[0], rgb[1], rgb[2]); }
3936  float const * GetImageTintColor () const { return m_image_tint_color; }
3937 
3939  void SetDiffuseTextureTintColor (float r, float g, float b)
3940  { m_texture_tint_color[0] = r; m_texture_tint_color[1] = g; m_texture_tint_color[2] = b; }
3942  void SetDiffuseTextureTintColor (float const rgb[]) { SetDiffuseTextureTintColor (rgb[0], rgb[1], rgb[2]); }
3944  float const * GetDiffuseTextureTintColor () const { return m_texture_tint_color; }
3945 
3947  void SetAntiAlias (int m) { m_antialias = (unsigned char)m; }
3949  int GetAntiAlias () const { return (int)m_antialias; }
3950 
3952  void SetVertexDecimation (float f) { m_vertex_decimation = f; }
3954  float GetVertexDecimation () const { return m_vertex_decimation; }
3955 };
3956 
3958 
3959 
3961 
3967 class BBINFILETK_API TK_Heuristics : public BBaseOpcodeHandler {
3968  protected:
3969  int m_mask;
3970  int m_value;
3971 
3975 
3976  unsigned char m_extras;
3979  unsigned short m_selection_bias;
3986  float m_vector[3];
3989  float m_view_volume[6];
3990 
3991  unsigned char m_ordered_weights_mask;
3992  float m_ordered_weights[TKO_Heur_Order_Count];
3993  unsigned char m_selection_level;
3994  unsigned char m_selection_sorting;
3995  unsigned char m_model_type;
3996 
3997  public:
3999  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
4000  m_mask (0), m_value (0), m_culling(0), m_selection_culling(0), m_selection_bias(0),
4001  m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
4002  ~TK_Heuristics ();
4003 
4006  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4007 
4008  TK_Status ReadAscii (BStreamFileToolkit & tk);
4009  TK_Status WriteAscii (BStreamFileToolkit & tk);
4010 
4012  void SetMask (int m) {
4013  m_mask = m;
4014  if ((m & TKO_Heuristic_Extended_Mask) != 0)
4015  m_mask |= TKO_Heuristic_Extended;
4016  }
4018  int GetMask () const { return m_mask; }
4019 
4021  void SetValue (int v) { m_value = v; }
4023  int GetValue () const { return m_value; }
4024 
4026  void SetRelatedSelectionLimit (int r) { m_related = r; }
4028  int GetRelatedSelectionLimit () const { return m_related; }
4029 
4031  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
4033  int GetInternalSelectionLimit () const { return m_internal_shell; }
4034 
4036  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
4038  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
4039 
4041  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
4043  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
4044 
4046  void SetExtras (int e) { m_extras = (unsigned char)e; }
4048  int GetExtras () const { return (int)m_extras; }
4049 
4051  void SetCulling (int c) { m_culling = c; }
4053  int GetCulling () const { return (int)m_culling; }
4055  void SetSelectionCulling (int c) { m_selection_culling = (unsigned short)c; }
4057  int GetSelectionCulling () const { return (int)m_selection_culling; }
4059  void SetSelectionBias (int c) { m_selection_bias = (unsigned short)c; }
4061  int GetSelectionBias () const { return (int)m_selection_bias; }
4063  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
4065  int GetPixelThreshold () const { return m_pixel_threshold; }
4067  void SetMaximumExtent (int c) { m_maximum_extent = c; }
4069  int GetMaximumExtent () const { return m_maximum_extent; }
4071  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
4073  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
4075  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
4077  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
4079  void SetHardExtent (int c) { m_hard_extent = c; }
4081  int GetHardExtent () const { return m_hard_extent; }
4083  float const * GetVector () const { return m_vector; }
4085  void SetVector (float x, float y, float z) {
4086  m_vector[0] = x;
4087  m_vector[1] = y;
4088  m_vector[2] = z;
4089  }
4091  void SetVector (float const v[]) { SetVector(v[0], v[1], v[2]); }
4093  float GetVectorTolerance () const { return m_vector_tolerance; }
4095  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
4096 
4097  void SetMaxDistance (float m) { m_max_distance = m; }
4099  float GetMaxDistance () const { return m_max_distance; }
4100 
4102  float const * GetViewVolume () const { return m_view_volume; }
4104  void SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) {
4105  m_view_volume[0] = ax;
4106  m_view_volume[1] = ay;
4107  m_view_volume[2] = az;
4108  m_view_volume[3] = bx;
4109  m_view_volume[4] = by;
4110  m_view_volume[5] = bz;
4111  }
4113  void SetViewVolume (float const v[]) { SetViewVolume(v[0], v[1], v[2], v[3], v[4], v[5]); }
4114 
4116  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
4118  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
4119 
4121  void SetOrderedWeight (int index, float weight) {
4122  m_ordered_weights[index] = weight;
4123  m_ordered_weights_mask |= 1<<index;
4124  }
4126  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
4128  float const * GetOrderedWeights () const { return m_ordered_weights; }
4130  float * GetOrderedWeights () { return m_ordered_weights; }
4131 
4133  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
4135  int GetSelectionLevel () const { return (int)m_selection_level; }
4136 
4138  void SetSelectionSorting (int s) { m_selection_sorting = (unsigned char)s; }
4140  int GetSelectionSorting () const { return (int)m_selection_sorting; }
4141 
4143  void SetForceDefer (int l) { m_force_defer = l; }
4145  int GetForceDefer () const { return m_force_defer; }
4146 
4147 };
4148 
4150 
4151 
4153 
4159 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
4160  protected:
4161  unsigned short m_mask;
4162  unsigned short m_value;
4163 
4165  float m_orientation[6];
4168 
4169  struct {
4170  unsigned char mask;
4171  unsigned char mode;
4172  float color[3];
4173  float alpha;
4174  float scale;
4175  } m_cut_visualization;
4176 
4177  public:
4179  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
4180  m_mask (0), m_value (0), m_orientation_count (0),
4181  m_coordinate_system_count (0), m_coordinate_systems (0) {
4182  m_cut_visualization.mask = 0;
4183  }
4184  ~TK_Geometry_Options ();
4185 
4186  void Reset ();
4187 
4190  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4191 
4192  TK_Status ReadAscii (BStreamFileToolkit & tk);
4193  TK_Status WriteAscii (BStreamFileToolkit & tk);
4194 
4196  void SetMask (int m) { m_mask = (unsigned short)m; }
4198  int GetMask () const { return (int)m_mask; }
4199 
4201  void SetOrientation (int count, float const o[]) {
4202  if (count != 3 && count != 6)
4203  return;
4204  m_orientation_count = (unsigned char)count;
4205  while (count-- > 0)
4206  m_orientation[count] = o[count];
4207  }
4209  int GetOrientationCount () const { return (int) m_orientation_count; }
4211  float const * GetOrientation () const { return m_orientation; }
4212 
4214  void SetCoordinateSystems (int count, char const cs[]) {
4215  m_coordinate_system_count = count;
4216  m_coordinate_systems = new char [count];
4217  while (count-- > 0)
4218  m_coordinate_systems[count] = cs[count];
4219  }
4221  int GetCoordinateSystemCount () const { return m_coordinate_system_count; }
4223  char const * GetCoordinateSystems () const { return m_coordinate_systems; }
4224 
4225 
4226 
4228  void SetCutVisualizationMask (int m) { m_cut_visualization.mask = (unsigned char)m; }
4230  int GetCutVisualizationMask () const { return (int)m_cut_visualization.mask; }
4231 
4233  void SetCutVisualizationMode (int m) { m_cut_visualization.mode = (unsigned char)m; }
4235  int GetCutVisualizationMode () const { return (int)m_cut_visualization.mode; }
4236 
4238  void SetCutVisualizationColor (float const * c) {
4239  m_cut_visualization.color[0] = c[0];
4240  m_cut_visualization.color[1] = c[1];
4241  m_cut_visualization.color[2] = c[2];
4242  }
4244  float const * GetCutVisualizationColor () const { return m_cut_visualization.color; }
4245 
4247  void SetCutVisualizationAlpha (float a) { m_cut_visualization.alpha = a; }
4249  float GetCutVisualizationAlpha () const { return m_cut_visualization.alpha; }
4250 
4252  void SetCutVisualizationSCale (float s) { m_cut_visualization.scale = s; }
4254  float GetCutVisualizationScale () const { return m_cut_visualization.scale; }
4255 };
4256 
4259 
4264 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
4265  protected:
4266  int m_mask;
4267  int m_value;
4268 
4269  public:
4272  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
4273 
4276  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4277 
4278  TK_Status ReadAscii (BStreamFileToolkit & tk);
4279  TK_Status WriteAscii (BStreamFileToolkit & tk);
4280 
4284  void SetGeometry (int m) {
4285  m_mask = m & TKO_Geo_All_Visibles;
4286  if ((m & TKO_Geo_Extended_Mask) != 0) {
4287  m_mask |= TKO_Geo_Extended;
4288  if ((m & TKO_Geo_Extended2_Mask) != 0)
4289  m_mask |= TKO_Geo_Extended2;
4290  }
4291  }
4296  int GetGeometry () const { return m_mask; }
4297 
4302  void SetValue (int m) { m_value = m; }
4307  int GetValue () const { return m_value; }
4308 };
4309 
4312 
4319 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4320  protected:
4321  int m_mask;
4322  int m_down;
4323  int m_up;
4327 
4328  public:
4331  : BBaseOpcodeHandler (TKE_Selectability),
4332  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4333 
4336  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4337 
4338  TK_Status ReadAscii (BStreamFileToolkit & tk);
4339  TK_Status WriteAscii (BStreamFileToolkit & tk);
4340 
4344  void SetGeometry (int m) {
4345  m_mask = m & TKO_Geo_All_Selects;
4346  if ((m & TKO_Geo_Extended_Mask) != 0)
4347  m_mask |= TKO_Geo_Extended;
4348  }
4353  int GetGeometry () const { return m_mask; }
4354 
4359  void SetDown (int m) { m_down = m; }
4364  int GetDown () const { return m_down; }
4365 
4370  void SetUp (int m) { m_up = m; }
4375  int GetUp () const { return m_up; }
4376 
4381  void SetMoveDown (int m) { m_move_down = m; }
4386  int GetMoveDown () const { return m_move_down; }
4387 
4392  void SetMoveUp (int m) { m_move_up = m; }
4397  int GetMoveUp () const { return m_move_up; }
4398 
4403  void SetWhenInvisible (int m) { m_invisible = m; }
4408  int GetWhenInvisible () const { return m_invisible; }
4409 };
4410 
4412 
4418 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4419  protected:
4420  float m_matrix[16];
4421  double m_dmatrix[16];
4422 
4423  public:
4425  TK_Matrix (unsigned char opcode)
4426  : BBaseOpcodeHandler (opcode) {}
4427 
4430  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4431 
4432  TK_Status ReadAscii (BStreamFileToolkit & tk);
4433  TK_Status WriteAscii (BStreamFileToolkit & tk);
4434 
4436  void SetMatrix (float const m[]) {
4437  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4438  }
4440  void SetDMatrix (double const m[]) {
4441  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4442  }
4444  float const * GetMatrix () const { return m_matrix; }
4446  float * GetMatrix () { return m_matrix; }
4448  double const * GetDMatrix () const { return m_dmatrix; }
4450  double * GetDMatrix () { return m_dmatrix; }
4451 };
4452 
4453 
4459 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
4460  protected:
4461  char m_index;
4462 
4463  public:
4465  TK_Enumerated (unsigned char opcode)
4466  : BBaseOpcodeHandler (opcode), m_index (0) {}
4467 
4470  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4471 
4472  TK_Status ReadAscii (BStreamFileToolkit & tk);
4473  TK_Status WriteAscii (BStreamFileToolkit & tk);
4474 
4475  void SetIndex (int i) { m_index = (char)i; }
4477  int GetIndex () const { return (int)m_index; }
4478 };
4479 
4480 
4486 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
4487  protected:
4488  float m_value;
4489  unsigned char m_units;
4490 
4491  public:
4493  TK_Size (unsigned char opcode)
4494  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
4495 
4498  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4499 
4500  TK_Status ReadAscii (BStreamFileToolkit & tk);
4501  TK_Status WriteAscii (BStreamFileToolkit & tk);
4502 
4504  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
4505  m_value = (value > 0.0f) ? value : 0.0f;
4506  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
4507  }
4509  float GetSize () const { return m_value; }
4511  int GetUnits () const { return m_units; }
4512 };
4513 
4518 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
4519  protected:
4520  unsigned short m_pattern;
4521 
4522  public:
4524  TK_Linear_Pattern (unsigned char opcode)
4525  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
4526 
4529  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4530 
4531  TK_Status ReadAscii (BStreamFileToolkit & tk);
4532  TK_Status WriteAscii (BStreamFileToolkit & tk);
4533 
4535  void SetPattern (int p) { m_pattern = (unsigned short)p; }
4537  int GetPattern () const { return (int)m_pattern; }
4538 };
4539 
4545 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
4546  protected:
4548  char * m_name;
4549  int m_index;
4550 
4551  public:
4553  TK_Named (unsigned char opcode)
4554  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
4555  ~TK_Named();
4556 
4559  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4560 
4561  TK_Status ReadAscii (BStreamFileToolkit & tk);
4562  TK_Status WriteAscii (BStreamFileToolkit & tk);
4563 
4564  void Reset ();
4565 
4567  void SetName (char const * name);
4569  void SetName (int length);
4571  char const * GetName () const { return m_name; }
4573  char * GetName () { return m_name; }
4574 
4576  void SetIndex (int i) { Reset(); m_index = i; }
4578  int GetIndex () const { return (int)m_index; }
4579 };
4580 
4581 
4582 
4589 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
4590  protected:
4591  bool m_flag;
4592 
4593  public:
4596 
4599  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4600 
4601  TK_Status ReadAscii (BStreamFileToolkit & tk);
4602  TK_Status WriteAscii (BStreamFileToolkit & tk);
4603 
4604  void SetStreaming (bool s) { m_flag = s; }
4606  bool GetStreaming () const { return m_flag; }
4607 };
4608 
4611 
4617 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
4618  protected:
4619  int m_length;
4620  char * m_string;
4622  public:
4624  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
4625  ~TK_Conditions();
4626 
4629  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4630 
4631  TK_Status ReadAscii (BStreamFileToolkit & tk);
4632  TK_Status WriteAscii (BStreamFileToolkit & tk);
4633 
4634  void Reset ();
4635 
4637  void SetConditions (char const * options);
4639  void SetConditions (int length);
4641  char const * GetConditions () const { return m_string; }
4643  char * GetConditions () { return m_string; }
4645  int GetLength() { return m_length; }
4646 };
4647 
4648 
4651 
4656 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
4657  protected:
4658  short m_type;
4659  short m_options;
4660  int m_length;
4661  char * m_string;
4663  public:
4665  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
4667 
4670  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4671 
4672  TK_Status ReadAscii (BStreamFileToolkit & tk);
4673  TK_Status WriteAscii (BStreamFileToolkit & tk);
4674 
4675  void Reset ();
4676 
4678  void SetCondition (char const * options);
4680  void SetCondition (int length);
4682  char const * GetCondition () const { return m_string; }
4684  char * GetCondition () { return m_string; }
4686  int GetLength() { return m_length; }
4687 
4689  void SetAction (int at) { m_type = (short)at; }
4691  int GetAction () const { return (int)m_type; }
4693  void SetOptions (int at) { m_options = (short)at; }
4695  int GetOptions () const { return (int)m_options; }
4696 };
4697 
4700 
4706 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
4707  protected:
4708  int m_length;
4709  char * m_string;
4714  void set_options (char const * options);
4715  void set_options (int length);
4716 
4717  public:
4719  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
4720  m_indices (0), m_unicode (0), m_index_data(0) {}
4721  ~TK_User_Options();
4722 
4725  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4726 
4727  TK_Status ReadAscii (BStreamFileToolkit & tk);
4728  TK_Status WriteAscii (BStreamFileToolkit & tk);
4729 
4730  void Reset ();
4731 
4733  void SetOptions (char const * options) { set_options (options); }
4735  void SetOptions (int length) { set_options (length); }
4737  char const * GetOptions () const { return m_string; }
4739  char * GetOptions () { return m_string; }
4741  int GetLength() { return m_length; }
4742 };
4743 
4746 
4752 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
4753  protected:
4754  int m_length;
4755  unsigned short * m_string;
4757  public:
4759  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
4760  ~TK_Unicode_Options();
4761 
4764  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4765 
4766  TK_Status ReadAscii (BStreamFileToolkit & tk);
4767  TK_Status WriteAscii (BStreamFileToolkit & tk);
4768 
4769  void Reset ();
4770 
4772  void SetOptions (unsigned short const * options);
4774  void SetOptions (int length);
4776  unsigned short const * GetOptions () const { return m_string; }
4778  unsigned short * GetOptions () { return m_string; }
4780  int GetLength() { return m_length; }
4781 };
4782 
4784 
4790 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
4791  protected:
4792  int m_count;
4793  int * m_indices;
4794  HLONG * m_values;
4796  void set_indices (int count, int const indices[], POINTER_SIZED_INT const values[]);
4797  void set_indices (int count);
4798 
4799  public:
4802  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
4803  ~TK_User_Index();
4804 
4807  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4808 
4809  TK_Status ReadAscii (BStreamFileToolkit & tk);
4810  TK_Status WriteAscii (BStreamFileToolkit & tk);
4811 
4812  void Reset ();
4813 
4815  void SetIndices (int count, int const indices[], POINTER_SIZED_INT const values[])
4816  { set_indices (count, indices, values); }
4818  void SetIndices (int count) { set_indices (count); }
4820  int GetCount () const { return m_count; }
4822  int const * GetIndices () const { return m_indices; }
4824  int * GetIndices () { return m_indices; }
4826  HLONG const * GetValues () const { return m_values; }
4828  HLONG * GetValues () { return m_values; }
4829 };
4830 
4832 
4838 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
4839 protected:
4840  int m_count;
4841  int * m_indices;
4842  void ** m_values;
4843  int * m_sizes;
4844 
4846  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
4847  void set_indices (int count);
4848  void FreeMem ();
4849 
4850 public:
4853  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
4854  ~TK_User_Index_Data();
4855 
4858  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4859 
4860  void Reset ();
4861 
4863  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
4864  set_indices (count, indices, values, sizes);
4865  }
4866 
4868  void SetIndices (int count) { set_indices (count);}
4869 
4871  int GetCount () const { return m_count;}
4872 
4874  int const * GetIndices () const { return m_indices;}
4875 
4877  int * GetIndices () { return m_indices;}
4878 
4880  void ** GetValues () const { return m_values;}
4881 
4883  void ** GetValues () { return m_values;}
4884 
4886  int const * GetSizes () const { return m_sizes;}
4887 
4889  int * GetSizes () { return m_sizes;}
4890 };
4891 
4892 
4894 
4899 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
4900  protected:
4901  HLONG m_value;
4902 
4903  public:
4906  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
4907 
4910  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4911 
4912  TK_Status ReadAscii (BStreamFileToolkit & tk);
4913  TK_Status WriteAscii (BStreamFileToolkit & tk);
4914 
4916  void SetValue (HLONG v) { m_value = v; }
4918  HLONG GetValue () const { return m_value; }
4919 };
4920 
4921 
4923 
4928 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
4929  protected:
4933  float m_settings[14];
4935  double m_dsettings[14];
4937  float m_details[3];
4938  unsigned char m_projection;
4939  int m_length;
4940  char * m_name;
4943  void set_name (char const * name);
4944 
4945  void set_name (int length);
4946 
4947  public:
4949  TK_Camera (unsigned char opcode = TKE_Camera)
4950  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
4951  int i;
4952  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
4953  for (i = 0; i < count; i++) {
4954  m_settings[i] = 0;
4955  m_dsettings[i] = 0;
4956  }
4957  }
4958  ~TK_Camera();
4959 
4962  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4963 
4964  TK_Status ReadAscii (BStreamFileToolkit & tk);
4965  TK_Status WriteAscii (BStreamFileToolkit & tk);
4966 
4968  void SetPosition (float x, float y, float z)
4969  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
4971  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
4973  float const * GetPosition () const { return &m_settings[0]; }
4975  void GetPosition (float p[]) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
4976 
4978  void SetDPosition (double x, double y, double z)
4979  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
4981  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
4983  double const * GetDPosition () const { return &m_dsettings[0]; }
4985  void GetDPosition (double p[]) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
4986 
4988  void SetTarget (float x, float y, float z)
4989  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
4991  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
4993  float const * GetTarget () const { return &m_settings[3]; }
4995  void GetTarget (float t[]) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
4996 
4998  void SetDTarget (double x, double y, double z)
4999  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
5001  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5003  double const * GetDTarget () const { return &m_dsettings[3]; }
5005  void GetDTarget (double t[]) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
5006 
5008  void SetUpVector (float x, float y, float z)
5009  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
5011  void SetUpVector (float const u[]) { SetUpVector (u[0], u[1], u[2]); }
5013  float const * GetUpVector () const { return &m_settings[6]; }
5015  void GetUpVector (float u[]) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
5016 
5018  void SetDUpVector (double x, double y, double z)
5019  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
5021  void SetDUpVector (double const u[]) { SetDUpVector (u[0], u[1], u[2]); }
5023  double const * GetDUpVector () const { return &m_dsettings[6]; }
5025  void GetDUpVector (double u[]) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
5026 
5028  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
5030  void SetField (float const f[]) { SetField (f[0], f[1]); }
5032  float const * GetField () const { return &m_settings[9]; }
5034  void GetField (float f[]) const { memcpy(f,GetField(),2*sizeof(float)); }
5035 
5037  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
5039  void SetDField (double const f[]) { SetDField (f[0], f[1]); }
5041  double const * GetDField () const { return &m_dsettings[9]; }
5043  void GetDField (double f[]) const { memcpy(f, GetDField(), 2*sizeof(double)); }
5044 
5045 
5047  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
5048  m_projection &= ~TKO_Camera_Oblique_Mask;
5049  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
5050  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
5051  }
5053  void SetOblique (float const o[]) { SetOblique (o[0], o[1]); }
5055  float const * GetOblique () const { return m_details; }
5057  void GetOblique (float o[]) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
5058 
5060  void SetNearLimit (float l) { m_details[2] = l;
5061  m_projection &= ~TKO_Camera_Near_Limit;
5062  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
5063  }
5065  float GetNearLimit () const { return m_details[2]; }
5066 
5067 
5069  void SetProjection (int p) { m_projection = (char)p; }
5071  int GetProjection () const { return (int)m_projection; }
5072 
5073 
5075  void SetView (char const * name) { set_name (name); }
5077  void SetView (int length) { set_name (length); }
5079  char const * GetView () const { return m_name; }
5081  char * GetView () { return m_name; }
5082 };
5083 
5085 
5090 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
5091  protected:
5092  float m_window[8];
5093  unsigned char m_options;
5094 
5095  public:
5098  : BBaseOpcodeHandler (TKE_Window), m_options (0) {}
5099 
5102  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5103 
5104  TK_Status ReadAscii (BStreamFileToolkit & tk);
5105  TK_Status WriteAscii (BStreamFileToolkit & tk);
5106 
5108  void SetWindow (float l, float r, float b, float t,
5109  float lo = 0, float ro = 0, float bo = 0, float to = 0)
5110  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t;
5111  m_window[4] = lo; m_window[5] = ro; m_window[6] = bo; m_window[7] = to; }
5113  void SetWindow (float const w[]) { SetWindow (w[0], w[1], w[2], w[3]); }
5115  void SetWindow (float const w[], float const o[])
5116  { SetWindow (w[0], w[1], w[2], w[3], o[0], o[1], o[2], o[3]); }
5118  void SetWindow (int n, float const w[])
5119  { if (n == 8) SetWindow (w[0], w[1], w[2], w[4], w[5], w[6], w[7], w[8]);
5120  else SetWindow (w[0], w[1], w[2], w[3]);
5121  }
5123  float const * GetWindow () const { return m_window; }
5124 
5126  void SetOptions (int opt) { m_options = (unsigned char)opt; }
5128  int GetOptions () const { return m_options; }
5129 };
5130 
5131 
5132 
5134 
5141 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
5142  protected:
5143  int m_mask;
5144  int m_value;
5146  char * m_names;
5147  float m_size;
5148  float m_tolerance;
5149  float m_rotation;
5150  float m_slant;
5157  int m_renderers[2];
5158  int m_preferences[2];
5161  char * m_shape;
5162  char * m_style;
5164  float m_margins[4];
5165  unsigned char m_margin_units[4];
5166  unsigned char m_size_units;
5167  unsigned char m_tolerance_units;
5168  unsigned char m_space_units;
5169  unsigned char m_greeking_units;
5170  unsigned char m_greeking_mode;
5171  unsigned char m_transforms;
5172  unsigned char m_renderer_cutoff_units;
5174  unsigned char m_layout;
5175 
5176  void set_names (int length);
5177  void set_names (char const * names);
5178 
5179  public:
5182  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0)
5183  , m_shape_length (0), m_style_length (0), m_shape (0), m_style (0) {}
5184  ~TK_Text_Font ();
5185 
5188  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5189 
5190  TK_Status ReadAscii (BStreamFileToolkit & tk);
5191  TK_Status WriteAscii (BStreamFileToolkit & tk);
5192 
5193  void Reset ();
5194 
5196  void SetMask (int m) {
5197  m_mask = m;
5198  if ((m & TKO_Font_Extended2_Mask) != 0)
5199  m_mask |= TKO_Font_Extended2;
5200  if ((m & TKO_Font_Extended_Mask) != 0)
5201  m_mask |= TKO_Font_Extended;
5202  }
5204  int GetMask () const { return m_mask; }
5205 
5207  void SetValue (int v) { m_value = v; }
5209  int GetValue () const { return m_value; }
5210 
5212  void SetNames (char const * names) { set_names (names); }
5214  void SetNames (int length) { set_names (length); }
5216  char const * GetNames () const { return m_names; }
5218  char * GetNames () { return m_names; }
5219 
5221  void SetShape (char const * shape);
5223  void SetShape (int length);
5225  char const * GetShape () const { return m_shape; }
5227  char * GetShape () { return m_shape; }
5228 
5230  void SetStyle (char const * shape);
5232  void SetStyle (int length);
5234  char const * GetStyle () const { return m_style; }
5236  char * GetStyle () { return m_style; }
5237 
5239  void SetSize (float s) { m_size = s; }
5241  float GetSize () const { return m_size; }
5242 
5244  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
5246  int GetSizeUnits () const { return (int)m_size_units; }
5247 
5249  void SetTolerance (float t) { m_tolerance = t; }
5251  float GetTolerance () const { return m_tolerance; }
5252 
5254  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
5256  int GetToleranceUnits () const { return (int)m_tolerance_units; }
5257 
5259  void SetRotation (float r) { m_rotation = r; }
5261  float GetRotation () const { return m_rotation; }
5262 
5264  void SetSlant (float s) { m_slant = s; }
5266  float GetSlant () const { return m_slant; }
5267 
5269  void SetWidthScale (float s) { m_width_scale = s; }
5271  float GetWidthScale () const { return m_width_scale; }
5272 
5274  void SetExtraSpace (float s) { m_extra_space = s; }
5276  float GetExtraSpace () const { return m_extra_space; }
5277 
5279  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
5281  int GetExtraSpaceUnits () const { return (int)m_space_units; }
5282 
5284  void SetLineSpacing (float s) { m_line_spacing = s; }
5286  float GetLineSpacing () const { return m_line_spacing; }
5287 
5289  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
5291  int GetTransforms () const { return (int)m_transforms; }
5292 
5294  void SetGreekingLimit (float s) { m_greeking_limit = s; }
5296  float GetGreekingLimit () const { return m_greeking_limit; }
5297 
5299  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
5301  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
5302 
5304  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
5306  int GetGreekingMode () const { return (int)m_greeking_mode; }
5307 
5308 
5310  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
5312  int GetRenderer () const { return m_renderers[0]; }
5313 
5315  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
5317  int const * GetRenderers () const { return m_renderers; }
5318 
5320  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
5322  float GetRendererCutoff () const { return m_renderer_cutoff; }
5323 
5325  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
5327  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
5328 
5329 
5331  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
5333  int GetPreference () const { return m_preferences[0]; }
5334 
5336  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
5338  int const * GetPreferences () const { return m_preferences; }
5339 
5341  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
5343  float GetPreferenceCutoff () const { return m_preference_cutoff; }
5344 
5346  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
5348  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
5349 
5351  void SetLayout (int l) {m_layout = (unsigned char)l;}
5353  int GetLayout () const {return (int)m_layout;}
5354 };
5355 
5357 
5359 
5369 
5381 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
5382  protected:
5383  double m_dvalues[6];
5384  float m_values[6];
5385  char m_type;
5386  bool m_is_valid;
5387  public:
5389  TK_Bounding (unsigned char opcode)
5390  : BBaseOpcodeHandler (opcode) {}
5392  TK_Bounding (unsigned char opcode, float min[], float max[])
5393  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5394  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
5395  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
5396  }
5398  TK_Bounding (unsigned char opcode, float center[], float radius)
5399  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5400  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
5401  m_values[3] = radius;
5402  }
5404  TK_Bounding (unsigned char opcode, double min[], double max[])
5405  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5406  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
5407  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
5409  }
5411  TK_Bounding (unsigned char opcode, double center[], double radius)
5412  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5413  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
5414  m_dvalues[3] = radius;
5416  }
5417 
5420  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5421 
5422  TK_Status ReadAscii (BStreamFileToolkit & tk);
5423  TK_Status WriteAscii (BStreamFileToolkit & tk);
5424 };
5425 
5427 
5429 
5435 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
5436  protected:
5437  float m_point[3];
5438  double m_dpoint[3];
5439  char m_options;
5440 
5441  public:
5443  TK_Point (unsigned char opcode)
5444  : BBaseOpcodeHandler (opcode) {
5445  m_point[0] = m_point[1] = m_point[2] = 0;
5446  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5447  m_options = 0;
5448  };
5449 
5452  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5453 
5454  TK_Status ReadAscii (BStreamFileToolkit & tk);
5455  TK_Status WriteAscii (BStreamFileToolkit & tk);
5456 
5457  void Reset(void) {
5458  m_point[0] = m_point[1] = m_point[2] = 0;
5459  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5460  m_options = 0;
5462  };
5463 
5464 
5465 
5467  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
5469  void SetPoint (float const p[]) { SetPoint (p[0], p[1], p[2]); }
5471  float const * GetPoint () const { return m_point; }
5472 
5474  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
5476  void SetDPoint (double const p[]) { SetDPoint (p[0], p[1], p[2]); }
5478  double const * GetDPoint () const { return m_dpoint; }
5479 
5481  void SetOptions (int o) { m_options = (char)o; }
5483  int GetOptions () const { return (int)m_options; }
5484 
5485 };
5486 
5487 
5488 
5490 
5495 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
5496  protected:
5498  float m_points[6];
5500  double m_dpoints[6];
5501 
5502  public:
5504  TK_Line (unsigned char opcode = TKE_Line)
5505  : BBaseOpcodeHandler (opcode) {}
5506 
5509  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5510 
5511  TK_Status ReadAscii (BStreamFileToolkit & tk);
5512  TK_Status WriteAscii (BStreamFileToolkit & tk);
5513 
5515  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
5516  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
5517  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
5518  }
5520  void SetPoints (float const s[], float const e[]) {
5521  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5522  }
5524  void SetPoints (float const p[]) { SetPoints (&p[0], &p[3]); }
5526  float const * GetPoints () const { return m_points; }
5527 
5529  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
5530  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
5531  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
5532  }
5534  void SetDPoints (double const s[], double const e[]) {
5535  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5536  }
5538  void SetDPoints (double const p[]) { SetDPoints (&p[0], &p[3]); }
5540  double const * GetDPoints () const { return m_dpoints; }
5541 
5542 };
5543 
5544 
5545 
5547 
5554 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
5555  protected:
5556  int m_count;
5558  float * m_points;
5559  double * m_dpoints;
5562  void set_points (int count, float const points[] = 0) { SetPoints (count, points); }
5563  public:
5567  TK_Polypoint (unsigned char opcode)
5568  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
5569  ~TK_Polypoint();
5570 
5573  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5574 
5575  TK_Status ReadAscii (BStreamFileToolkit & tk);
5576  TK_Status WriteAscii (BStreamFileToolkit & tk);
5577 
5578  void Reset ();
5579 
5582  void SetPoints (int count, float const points[] = 0);
5584  float const * GetPoints () const { return m_points; }
5586  float * GetPoints () { return m_points; }
5587 
5590  void SetDPoints (int count, double const points[] = 0);
5592  double const * GetDPoints () const { return m_dpoints; }
5594  double * GetDPoints () { return m_dpoints; }
5595 
5597  int GetCount () const { return m_count; }
5598 
5599 };
5600 
5601 
5602 
5603 
5604 #define NC_HAS_WEIGHTS 0x01
5605 #define NC_HAS_KNOTS 0x02
5606 #define NC_HAS_START 0x04
5607 #define NC_HAS_END 0x08
5608 
5609 
5615 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
5616  protected:
5617  unsigned char m_optionals;
5618  unsigned char m_degree;
5623  float *m_weights;
5624  float *m_knots;
5625  float m_start;
5626  float m_end;
5628  void set_curve (int degree, int control_count, float const points[] = 0,
5630  float const weights[] = 0, float const knots[] = 0,
5631  float start = 0.0f, float end = 1.0f);
5632  public:
5633  TK_NURBS_Curve();
5634  ~TK_NURBS_Curve();
5635 
5638  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5639 
5640  TK_Status ReadAscii (BStreamFileToolkit & tk);
5641  TK_Status WriteAscii (BStreamFileToolkit & tk);
5642 
5643  void Reset ();
5644 
5646  void SetCurve (int degree, int control_count, float const points[] = 0,
5647  float const weights[] = 0, float const knots[] = 0,
5648  float start = 0.0f, float end = 1.0f) {
5649  set_curve (degree, control_count, points, weights, knots, start, end);
5650  }
5651  void SetDCurve (int degree, int control_count, double const points[] = 0,
5652  float const weights[] = 0, float const knots[] = 0,
5653  float start = 0.0f, float end = 1.0f);
5654 
5655  float const * GetPoints () const { return m_control_points; }
5656  float * GetPoints () { return m_control_points; }
5657  double const * GetDPoints () const { return m_dcontrol_points; }
5658  double * GetDPoints () { return m_dcontrol_points; }
5660  int GetDegree () const { return m_degree; }
5661  int GetCount () const { return m_control_point_count; }
5662  float const * GetWeights () const { return m_weights; }
5663  float * GetWeights () { return m_weights; }
5664  float const * GetKnots () const { return m_knots; }
5665  float * GetKnots () { return m_knots; }
5667  void SetStart (float s) { m_start = s; }
5668  float GetStart () const { return m_start; }
5669  void SetEnd (float e) { m_end = e; }
5670  float GetEnd () const { return m_end; }
5672  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5673  int GetOptions () const { return m_optionals; }
5675 };
5676 
5677 
5678 
5679 
5680 
5681 #define NS_HAS_WEIGHTS 0x01
5682 #define NS_HAS_KNOTS 0x02
5683 #define NS_HAS_TRIMS 0x04
5684 
5685 #define NS_TRIM_END 0
5686 #define NS_TRIM_POLY 1
5687 #define NS_TRIM_CURVE 2
5688 #define NS_TRIM_COLLECTION 3
5689 #define NS_TRIM_LAST_KNOWN_TYPE 3
5690 
5691 #define NS_TRIM_KEEP 0x01
5692 #define NS_TRIM_HAS_WEIGHTS 0x02
5693 #define NS_TRIM_HAS_KNOTS 0x04
5694 
5695 
5702 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
5703  friend class TK_NURBS_Surface;
5704  protected:
5705  //first 5 are relevant to polys and curves
5708  unsigned char m_type;
5709  int m_count;
5710  float * m_points;
5711  //next 6 are specific to curves
5712  unsigned char m_degree;
5713  unsigned char m_options;
5714  float * m_weights;
5715  float * m_knots;
5716  float m_start_u;
5717  float m_end_u;
5721  HT_NURBS_Trim();
5722  TK_Status read_collection(BStreamFileToolkit & tk);
5723  TK_Status write_collection(BStreamFileToolkit & tk);
5726  public:
5727  ~HT_NURBS_Trim();
5728  void SetPoly (int count, float const points[] = 0);
5729  void SetCurve (int degree, int control_count, float const points[] = 0,
5730  float const weights[] = 0, float const knots[] = 0, float start_u = 0, float end_u = 1);
5731  void SetCollection ();
5732  HT_NURBS_Trim * PrependCollection();
5733  void SetOptions (int o) { m_options = (unsigned char)o; }
5734  void SetList (HT_NURBS_Trim *node) { m_list = node; }
5735  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
5736  void SetStart(float start) { m_start_u = start; }
5737  void SetEnd(float end) { m_end_u = end; }
5738 
5741 
5744 
5745  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
5746  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
5747 
5749  HT_NURBS_Trim * GetNext (void) { return m_next; }
5750  HT_NURBS_Trim const * GetNext (void) const { return m_next; }
5752  int GetType () const { return m_type; }
5754  int GetCount () const { return m_count; }
5756  float const * GetPoints () const { return m_points; }
5758  float * GetPoints () { return m_points; }
5760  int GetDegree () const { return m_degree; }
5762  float GetStart() const { return m_start_u; }
5764  float GetEnd() const { return m_end_u; }
5766  int GetOptions () const { return m_options; }
5768  float const * GetWeights () const { return m_weights; }
5770  float * GetWeights () { return m_weights; }
5772  float const * GetKnots () const { return m_knots; }
5774  float * GetKnots () { return m_knots; }
5776  HT_NURBS_Trim const *GetList () const { return m_list; }
5778  HT_NURBS_Trim * GetList () { return m_list; }
5779 
5780 };
5781 
5783 
5788 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
5789  protected:
5790  unsigned char m_optionals;
5791  unsigned char m_degree[2];
5792  int m_size[2];
5795  float * m_weights;
5796  float * m_u_knots;
5797  float * m_v_knots;
5803  public:
5804  TK_NURBS_Surface();
5805  ~TK_NURBS_Surface();
5806 
5809  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5810 
5811  TK_Status ReadAscii (BStreamFileToolkit & tk);
5812  TK_Status WriteAscii (BStreamFileToolkit & tk);
5813 
5814  void Reset ();
5816  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
5817  float const points[] = 0, float const weights[] = 0,
5818  float const u_knots[] = 0, float const v_knots[] = 0);
5819  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
5820  double const points[] = 0, float const weights[] = 0,
5821  float const u_knots[] = 0, float const v_knots[] = 0);
5824  float const * GetPoints () const { return m_control_points; }
5826  float * GetPoints () { return m_control_points; }
5828  double const * GetDPoints () const { return m_dcontrol_points; }
5830  double * GetDPoints () { return m_dcontrol_points; }
5831 
5833  int GetUDegree () const { return m_degree[0]; }
5835  int GetVDegree () const { return m_degree[1]; }
5837  int GetUSize () const { return m_size[0]; }
5839  int GetVSize () const { return m_size[1]; }
5841  float const * GetWeights () const { return m_weights; }
5843  float * GetWeights () { return m_weights; }
5845  float const * GetUKnots () const { return m_u_knots; }
5847  float * GetUKnots () { return m_u_knots; }
5849  float const * GetVKnots () const { return m_v_knots; }
5851  float * GetVKnots () { return m_v_knots; }
5852 
5854  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5856  int GetOptions () const { return m_optionals; }
5857 
5859  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
5861  HT_NURBS_Trim * GetTrims () { return m_trims; }
5862 
5863 
5864 };
5865 
5867 
5872 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
5873  protected:
5874  int m_count;
5875  float * m_points;
5876  double * m_dpoints;
5877  char m_options;
5878 
5880  void set_points (int count, float const points[] = 0);
5881 
5882  public:
5885  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
5886  ~TK_Area_Light();
5887 
5890  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5891 
5892  TK_Status ReadAscii (BStreamFileToolkit & tk);
5893  TK_Status WriteAscii (BStreamFileToolkit & tk);
5894 
5895  void Reset ();
5896 
5901  void SetPoints (int count, float const points[] = 0) { set_points (count, points); }
5903  float const * GetPoints () const { return m_points; }
5905  float * GetPoints () { return m_points; }
5906 
5911  void SetDPoints (int count, double const points[] = 0) ;
5913  double const * GetDPoints () const { return m_dpoints; }
5915  double * GetDPoints () { return m_dpoints; }
5916 
5918  int GetCount () const { return m_count; }
5919 
5921  void SetOptions (int o) { m_options = (char)o; }
5923  int GetOptions () const { return (int)m_options; }
5924 };
5925 
5926 
5928 
5933 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
5934  protected:
5935  float m_position[3];
5936  float m_target[3];
5937  double m_dposition[3];
5938  double m_dtarget[3];
5939  float m_outer;
5940  float m_inner;
5942  char m_options;
5943 
5944  public:
5947  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
5948 
5951  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5952 
5953  TK_Status ReadAscii (BStreamFileToolkit & tk);
5954  TK_Status WriteAscii (BStreamFileToolkit & tk);
5955 
5957  void SetPosition (float x, float y, float z)
5958  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
5960  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
5962  float const * GetPosition () const { return m_position; }
5963 
5965  void SetDPosition (double x, double y, double z)
5966  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
5968  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
5970  double const * GetDPosition () const { return m_dposition; }
5971 
5973  void SetTarget (float x, float y, float z)
5974  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
5976  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5978  float const * GetTarget () const { return m_target; }
5979 
5981  void SetDTarget (double x, double y, double z)
5982  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
5984  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5986  double const * GetDTarget () const { return m_dtarget; }
5987 
5989  void SetOuter (float o) { m_outer = o; }
5991  float GetOuter () const { return m_outer; }
5992 
5994  void SetInner (float i) { m_inner = i; }
5996  float GetInner () const { return m_inner; }
5997 
5999  void SetConcentration (float c) { m_concentration = c; }
6001  float GetConcentration () const { return m_concentration; }
6002 
6004  void SetOptions (int o) { m_options = (char)o; }
6006  int GetOptions () const { return (int)m_options; }
6007 };
6008 
6009 
6011 
6016 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
6017  protected:
6018  float * m_planes;
6019  double * m_dplanes;
6020  int m_count;
6021 
6022  public:
6025  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
6026  ~TK_Cutting_Plane ();
6027 
6030  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6031 
6032  TK_Status ReadAscii (BStreamFileToolkit & tk);
6033  TK_Status WriteAscii (BStreamFileToolkit & tk);
6034 
6035  void Reset ();
6036 
6038  void SetPlanes (int count, float const p[]=0);
6040  void SetDPlanes (int count, double const p[]=0);
6041 
6043  void SetPlane (float a, float b, float c, float d)
6044  { SetPlanes(1);
6045  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
6047  void SetDPlane (double a, double b, double c, double d)
6048  { SetDPlanes(1);
6049  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
6050 
6052  void SetPlane (float const p[]) { SetPlanes (1, p); }
6054  void SetDPlane (double const p[]) { SetDPlanes (1, p); }
6055 
6057  float const * GetPlane () const { return m_planes; }
6059  double const * GetDPlane () const { return m_dplanes; }
6060 
6062  float const * GetPlanes () const { return m_planes; }
6064  double const * GetDPlanes () const { return m_dplanes; }
6065 
6067  int GetCount () const { return m_count; }
6068 };
6069 
6070 
6072 
6079 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
6080  protected:
6081  float m_points[9];
6082  float m_center[3];
6083  double m_dpoints[9];
6084  double m_dcenter[3];
6085  unsigned char m_flags;
6088  public:
6090  TK_Circle (unsigned char opcode)
6091  : BBaseOpcodeHandler (opcode), m_flags (0) {}
6092 
6095  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6096 
6097  TK_Status ReadAscii (BStreamFileToolkit & tk);
6098  TK_Status WriteAscii (BStreamFileToolkit & tk);
6099 
6100  void Reset ();
6101 
6103  void SetStart (float x, float y, float z) {
6104  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6105  }
6107  void SetStart (float const s[]) {
6108  SetStart (s[0], s[1], s[2]);
6109  }
6111  void SetMiddle (float x, float y, float z) {
6112  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6113  }
6115  void SetMiddle (float const m[]) {
6116  SetMiddle (m[0], m[1], m[2]);
6117  }
6119  void SetEnd (float x, float y, float z) {
6120  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6121  }
6123  void SetEnd (float const e[]) {
6124  SetEnd (e[0], e[1], e[2]);
6125  }
6127  void SetCenter (float x, float y, float z) {
6128  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6129  m_flags = TKO_Circular_Center;
6130  }
6132  void SetCenter (float const c[]) {
6133  if (c) SetCenter (c[0], c[1], c[2]);
6134  else m_flags = 0;
6135  }
6137  void SetPoints (float const s[], float const m[], float const e[],
6138  float const c[] = 0) {
6139  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
6140  }
6141 
6143  float const * GetStart () const { return &m_points[0]; }
6145  float const * GetMiddle () const { return &m_points[3]; }
6147  float const * GetEnd () const { return &m_points[6]; }
6149  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
6150 
6152  void SetDStart (double x, double y, double z) {
6153  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6154  }
6156  void SetDStart (double const s[]) {
6157  SetDStart (s[0], s[1], s[2]);
6158  }
6160  void SetDMiddle (double x, double y, double z) {
6161  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6162  }
6164  void SetDMiddle (double const m[]) {
6165  SetDMiddle (m[0], m[1], m[2]);
6166  }
6168  void SetDEnd (double x, double y, double z) {
6169  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6170  }
6172  void SetDEnd (double const e[]) {
6173  SetDEnd (e[0], e[1], e[2]);
6174  }
6176  void SetDCenter (double x, double y, double z) {
6177  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6178  m_flags = TKO_Circular_Center;
6179  }
6181  void SetDCenter (double const c[]) {
6182  if (c) SetDCenter (c[0], c[1], c[2]);
6183  else m_flags = 0;
6184  }
6186  void SetDPoints (double const s[], double const m[], double const e[],
6187  double const c[] = 0) {
6188  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
6189  }
6190 
6192  double const * GetDStart () const { return &m_dpoints[0]; }
6194  double const * GetDMiddle () const { return &m_dpoints[3]; }
6196  double const * GetDEnd () const { return &m_dpoints[6]; }
6198  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
6199 };
6200 
6201 
6203 
6210 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
6211  protected:
6212  float m_points[9];
6213  double m_dpoints[9];
6214  float m_limits[2];
6216  public:
6218  TK_Ellipse (unsigned char opcode)
6219  : BBaseOpcodeHandler (opcode) {}
6220 
6223  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6224 
6225  TK_Status ReadAscii (BStreamFileToolkit & tk);
6226  TK_Status WriteAscii (BStreamFileToolkit & tk);
6227 
6229  void SetCenter (float x, float y, float z) {
6230  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6231  }
6233  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6235  float const * GetCenter () const { return &m_points[0]; }
6236 
6238  void SetMajor (float x, float y, float z) {
6239  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6240  }
6242  void SetMajor (float const m[]) { SetMajor (m[0], m[1], m[2]); }
6244  float const * GetMajor () const { return &m_points[3]; }
6245 
6247  void SetMinor (float x, float y, float z) {
6248  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6249  }
6251  void SetMinor (float const m[]) { SetMinor (m[0], m[1], m[2]); }
6253  float const * GetMinor () const { return &m_points[6]; }
6254 
6255 
6257  void SetDCenter (double x, double y, double z) {
6258  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6259  }
6261  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6263  double const * GetDCenter () const { return &m_dpoints[0]; }
6264 
6266  void SetDMajor (double x, double y, double z) {
6267  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6268  }
6270  void SetDMajor (double const m[]) { SetDMajor (m[0], m[1], m[2]); }
6272  double const * GetDMajor () const { return &m_dpoints[3]; }
6273 
6275  void SetDMinor (double x, double y, double z) {
6276  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6277  }
6279  void SetDMinor (double const m[]) { SetDMinor (m[0], m[1], m[2]); }
6281  double const * GetDMinor () const { return &m_dpoints[6]; }
6282 
6284  void SetLimits (float s, float e) {
6285  m_limits[0] = s; m_limits[1] = e;
6286  }
6288  float const * GetLimits () const { return m_limits; }
6289 };
6290 
6291 
6293 
6300 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
6301  protected:
6302  unsigned char m_flags;
6303  float m_center[3];
6304  float m_radius;
6305  float m_axis[3];
6306  float m_ortho[3];
6307  double m_dcenter[3];
6308  double m_dradius;
6309  double m_daxis[3];
6310  double m_dortho[3];
6312  public:
6315  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
6316 
6319  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6320 
6321  TK_Status ReadAscii (BStreamFileToolkit & tk);
6322  TK_Status WriteAscii (BStreamFileToolkit & tk);
6323 
6324  void Reset ();
6325 
6327  void SetCenter (float x, float y, float z) {
6328  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6329  }
6331  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6333  float const * GetCenter () const { return m_center; }
6334 
6335 
6337  void SetRadius (float r) { m_radius = r; }
6339  float GetRadius () const { return m_radius; }
6340 
6342  void SetAxis (float x, float y, float z) {
6343  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
6344  if (x != 0.0f || y != 1.0f || z != 0.0f)
6345  m_flags &= ~TKSPH_NULL_AXIS;
6346  }
6348  void SetAxis (float const s[]) { SetAxis (s[0], s[1], s[2]); }
6350  float const * GetAxis () const { return m_axis; }
6351 
6353  void SetOrtho (float x, float y, float z) {
6354  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
6355  if (x != 1.0f || y != 0.0f || z != 0.0f)
6356  m_flags &= ~TKSPH_NULL_AXIS;
6357  }
6359  void SetOrtho (float const s[]) { SetOrtho (s[0], s[1], s[2]); }
6361  float const * GetOrtho () const { return m_ortho; }
6362 
6363 
6365  void SetDCenter (double x, double y, double z) {
6366  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6367  }
6369  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6371  double const * GetDCenter () const { return m_dcenter; }
6372 
6373 
6375  void SetDRadius (double r) { m_dradius = r; }
6377  double GetDRadius () const { return m_dradius; }
6378 
6380  void SetDAxis (double x, double y, double z) {
6381  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
6382  if (x != 0.0f || y != 1.0f || z != 0.0f)
6383  m_flags &= ~TKSPH_NULL_AXIS;
6384  }
6386  void SetDAxis (double const s[]) { SetDAxis (s[0], s[1], s[2]); }
6388  double const * GetDAxis () const { return m_daxis; }
6389 
6391  void SetDOrtho (double x, double y, double z) {
6392  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
6393  if (x != 1.0f || y != 0.0f || z != 0.0f)
6394  m_flags &= ~TKSPH_NULL_AXIS;
6395  }
6397  void SetDOrtho (double const s[]) { SetDOrtho (s[0], s[1], s[2]); }
6399  double const * GetDOrtho () const { return m_dortho; }
6400 
6401 
6405  enum Flags {
6406  TKSPH_NONE = 0x0,
6407  TKSPH_NULL_AXIS = 0x1
6408  };
6409 
6410 };
6411 
6412 
6414 
6421 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
6422  protected:
6423  float m_axis[6];
6424  float m_radius;
6425  double m_daxis[6];
6426  double m_dradius;
6427  unsigned char m_flags;
6429  public:
6432  : BBaseOpcodeHandler (TKE_Cylinder) {}
6433 
6436  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6437 
6438  TK_Status ReadAscii (BStreamFileToolkit & tk);
6439  TK_Status WriteAscii (BStreamFileToolkit & tk);
6440 
6442  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
6443  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
6444  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
6445  }
6447  void SetAxis (float const s[], float const e[]) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6449  void SetAxis (float const a[]) { SetAxis (&a[0], &a[3]); }
6451  float const * GetAxis () const { return m_axis; }
6453  float const * GetStart () const { return &m_axis[0]; }
6455  float const * GetEnd () const { return &m_axis[3]; }
6456 
6458  void SetRadius (float r) { m_radius = r; }
6460  float GetRadius () const { return m_radius; }
6461 
6462 
6464  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
6465  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
6466  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
6467  }
6469  void SetDAxis (double const s[], double const e[]) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6471  void SetDAxis (double const a[]) { SetDAxis (&a[0], &a[3]); }
6473  double const * GetDAxis () const { return m_daxis; }
6475  double const * GetDStart () const { return &m_daxis[0]; }
6477  double const * GetDEnd () const { return &m_daxis[3]; }
6478 
6480  void SetDRadius (double r) { m_dradius = r; }
6482  double GetDRadius () const { return m_dradius; }
6483 
6484 
6486  void SetCaps (int f) { m_flags = (unsigned char)f; }
6488  int GetCaps () const { return m_flags; }
6489 
6494  TKCYL_NONE = 0,
6495  TKCYL_FIRST = 1,
6496  TKCYL_SECOND = 2,
6497  TKCYL_BOTH = 3
6498  };
6499 
6500 };
6501 
6502 
6504 
6511 #include "BPolyhedron.h"
6512 
6513 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
6514  protected:
6515  int m_count;
6516  float * m_points;
6517  double * m_dpoints;
6519  float * m_radii;
6520  double * m_dradii;
6521  unsigned char m_flags;
6522  float m_normals[6];
6524  public:
6527  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
6528  m_radius_count (0), m_radii (0), m_dradii (0) {}
6529  ~TK_PolyCylinder();
6530 
6533  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6534 
6535  TK_Status ReadAscii (BStreamFileToolkit & tk);
6536  TK_Status WriteAscii (BStreamFileToolkit & tk);
6537 
6538  virtual void Reset ();
6539 
6544  TKCYL_NORMAL_FIRST = 0x04,
6545  TKCYL_NORMAL_SECOND = 0x08,
6546  TKCYL_OPTIONALS = 0x10
6547  };
6548 
6553  void SetPoints (int count, float const points[] = 0);
6555  float const * GetPoints () const { return m_points; }
6557  float * GetPoints () { return m_points; }
6558 
6563  void SetRadii (int count, float const radii[] = 0);
6565  void SetRadius (float radius) { SetRadii (1, &radius); }
6567  float const * GetRadii () const { return m_radii; }
6569  float * GetRadii () { return m_radii; }
6570 
6571 
6576  void SetDPoints (int count, double const points[] = 0);
6578  double const * GetDPoints () const { return m_dpoints; }
6580  double * GetDPoints () { return m_dpoints; }
6581 
6586  void SetDRadii (int count, double const radii[] = 0);
6588  void SetDRadius (double radius) { SetDRadii (1, &radius); }
6590  double const * GetDRadii () const { return m_dradii; }
6592  double * GetDRadii () { return m_dradii; }
6593 
6594 
6596  int GetCount () const { return m_count; }
6598  int GetRadiusCount () const { return m_radius_count; }
6599 
6600 
6601 
6602 
6604  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
6606  int GetCaps () const { return m_flags & 0x03; }
6607 
6609  void SetEndNormal (int index, float const normal[] = 0) {
6610  int mask = 0x40 << index;
6611  if (normal == 0)
6612  m_flags &= ~mask;
6613  else {
6614  m_flags |= mask;
6615  m_normals[3*index+0] = normal[0];
6616  m_normals[3*index+1] = normal[1];
6617  m_normals[3*index+2] = normal[2];
6618  }
6619  }
6621  float const * GetEndNormal (int index) const {
6622  int mask = 0x40 << index;
6623  if (m_flags & mask)
6624  return &m_normals[3*index];
6625  else
6626  return 0;
6627  }
6628 };
6629 
6630 
6632 
6638 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
6639  protected:
6640  char m_type;
6641  float m_points[9];
6642  double m_dpoints[9];
6643  int m_counts[2];
6645  public:
6648  : BBaseOpcodeHandler (TKE_Grid) {}
6649 
6652  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6653 
6654  TK_Status ReadAscii (BStreamFileToolkit & tk);
6655  TK_Status WriteAscii (BStreamFileToolkit & tk);
6656 
6658  void SetOrigin (float x, float y, float z) {
6659  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6660  }
6662  void SetOrigin (float const o[]) { SetOrigin (o[0], o[1], o[2]); }
6664  float const * GetOrigin () const { return &m_points[0]; }
6666  float * GetOrigin () { return &m_points[0]; }
6667 
6669  void SetRef1 (float x, float y, float z) {
6670  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6671  }
6673  void SetRef1 (float const r[]) { SetRef1 (r[0], r[1], r[2]); }
6675  float const * GetRef1 () const { return &m_points[3]; }
6677  float * GetRef1 () { return &m_points[3]; }
6678 
6680  void SetRef2 (float x, float y, float z) {
6681  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6682  }
6684  void SetRef2 (float const r[]) { SetRef2 (r[0], r[1], r[2]); }
6686  float const * GetRef2 () const { return &m_points[6]; }
6688  float * GetRef2 () { return &m_points[6]; }
6689 
6690 
6692  void SetDOrigin (double x, double y, double z) {
6693  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6694  }
6696  void SetDOrigin (double const o[]) { SetDOrigin (o[0], o[1], o[2]);}
6698  double const * GetDOrigin () const { return &m_dpoints[0]; }
6700  double * GetDOrigin () { return &m_dpoints[0]; }
6701 
6703  void SetDRef1 (double x, double y, double z) {
6704  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6705  }
6707  void SetDRef1 (double const r[]) { SetDRef1 (r[0], r[1], r[2]); }
6709  double const * GetDRef1 () const { return &m_dpoints[3]; }
6711  double * GetDRef1 () { return &m_dpoints[3]; }
6712 
6714  void SetDRef2 (double x, double y, double z) {
6715  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6716  }
6718  void SetDRef2 (double const r[]) { SetDRef2 (r[0], r[1], r[2]); }
6720  double const * GetDRef2 () const { return &m_dpoints[6]; }
6722  double * GetDRef2 () { return &m_dpoints[6]; }
6723 
6724 
6726  void SetCounts (int c1, int c2) {
6727  m_counts[0] = c1; m_counts[1] = c2;
6728  }
6730  int const * GetCounts () const { return m_counts; }
6732  int * GetCounts () { return m_counts; }
6733 
6735  void SetType (int t) { m_type = (char)t; }
6737  int GetType () const { return (int)m_type; }
6738 };
6739 
6741 
6744  char * name;
6745 
6746  float color[3];
6747  float size;
6750  float slant;
6751  float rotation;
6752  float width_scale;
6753 
6754  unsigned short mask;
6755  unsigned short value;
6756 
6757  unsigned char size_units;
6758  unsigned char vertical_offset_units;
6759  unsigned char horizontal_offset_units;
6760 };
6761 
6762 
6764 
6770 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
6771  protected:
6772  float m_position[3];
6773  double m_dposition[3];
6774  int m_length;
6776  char * m_string;
6777  unsigned char m_encoding;
6778  unsigned char m_options;
6779  unsigned char m_region_options;
6780  unsigned char m_region_fit;
6781  unsigned char m_region_count;
6782  float m_region[4*3];
6783  double m_dregion[4*3];
6785  int * m_cursors;
6787  float * m_leaders;
6788  unsigned char * m_leader_flags;
6790  double * m_dleaders;
6791  unsigned char * m_dleader_flags;
6792  int m_count;
6795  int m_tmp;
6797  void set_string (char const * string);
6798  void set_string (int length);
6799 
6800  public:
6802  TK_Text (unsigned char opcode);
6803  ~TK_Text();
6804 
6807  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6808 
6809  TK_Status ReadAscii (BStreamFileToolkit & tk);
6810  TK_Status WriteAscii (BStreamFileToolkit & tk);
6811 
6812  void Reset ();
6813 
6815  void SetString (char const * string) { set_string (string); }
6817  void SetString (unsigned short const * string);
6819  void SetString (unsigned int const * string);
6821  void SetString (int length) { set_string (length); }
6823  char const * GetString () const { return m_string; }
6825  char * GetString () { return m_string; }
6826 
6828  void SetPosition (float x, float y, float z)
6829  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6831  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6833  float const * GetPosition () const { return &m_position[0]; }
6834 
6836  void SetDPosition (double x, double y, double z)
6837  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6839  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6841  double const * GetDPosition () const { return &m_dposition[0]; }
6842 
6844  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
6846  int GetEncoding () const { return (int)m_encoding; }
6847 
6849  void SetTextRegion (int c, float const p[], int o=0, int f=0);
6851  void SetTextDRegion (int c, double const p[], int o=0, int f=0);
6853  int GetTextRegionCount () const { return (int)m_region_count; }
6855  float const * GetTextRegionPoints () const { return m_region; }
6857  double const * GetTextRegionDPoints () const { return m_dregion; }
6859  int GetTextRegionOptions () const { return (int)m_region_options; }
6861  int GetTextRegionFitting () const { return (int)m_region_fit; }
6862 
6863 
6865  void SetStringCursors (int length, int * locations = 0);
6867  int GetStringCursorCount () const { return m_cursor_count; }
6869  int const * GetStringCursors () const { return m_cursors; }
6871  int * GetStringCursors () { return m_cursors; }
6872 
6874  void SetTextLeaders (int length, float * locations = 0, unsigned char * flags = 0);
6876  int GetTextLeaderCount () const { return m_leader_count; }
6878  float const * GetTextLeaders () const { return m_leaders; }
6880  float * GetTextLeaders () { return m_leaders; }
6882  unsigned char const * GetTextLeaderFlags () const { return m_leader_flags; }
6884  unsigned char * GetTextLeaderFlags () { return m_leader_flags; }
6885 
6887  void SetDTextLeaders (int length, double * locations = 0, unsigned char * flags = 0);
6889  int GetDTextLeaderCount () const { return m_dleader_count; }
6891  double const * GetDTextLeaders () const { return m_dleaders; }
6893  double * GetDTextLeaders () { return m_dleaders; }
6895  unsigned char const * GetDTextLeaderFlags () const { return m_dleader_flags; }
6897  unsigned char * GetDTextLeaderFlags () { return m_dleader_flags; }
6898 };
6899 
6901 
6903 
6909 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
6910  protected:
6911  char * m_name;
6912  char * m_lookup;
6913  char * m_bytes;
6916  int m_length;
6917  unsigned char m_type;
6918  unsigned char m_encoding;
6920  void set_bytes (int size, char const * bytes = 0);
6923  void set_name (char const * string);
6925  void set_name (int length);
6927  void set_lookup (char const * string);
6929  void set_lookup (int length);
6930 
6931  public:
6933  TK_Font () : BBaseOpcodeHandler (TKE_Font),
6934  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
6935  m_type (0), m_encoding (0) {}
6936  ~TK_Font();
6937 
6940  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6941 
6942  TK_Status ReadAscii (BStreamFileToolkit & tk);
6943  TK_Status WriteAscii (BStreamFileToolkit & tk);
6944 
6945  void Reset ();
6946 
6947 
6949  void SetType (int t) { m_type = (unsigned char)t;}
6951  int GetType () const { return (int)m_type; }
6952 
6957  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
6959  int GetBytesCount () const { return m_length; }
6961  char const * GetBytes () const { return m_bytes; }
6963  char * GetBytes () { return m_bytes; }
6964 
6966  void SetName (char const * string) { set_name (string); }
6968  void SetName (int length) { set_name (length); }
6970  char const * GetName () const { return m_name; }
6972  char * GetName () { return m_name; }
6973 
6975  void SetLookup (char const * string) { set_lookup (string); }
6977  void SetLookup (int length) { set_lookup (length); }
6979  char const * GetLookup () const { return m_lookup; }
6981  char * GetLookup () { return m_lookup; }
6982 
6984  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
6986  int GetEncoding () const { return (int)m_encoding; }
6987 };
6988 
6990 
6991 
6993 extern const int TK_Image_Bytes_Per_Pixel[];
6994 
6995 #ifndef DOXYGEN_SHOULD_SKIP_THIS
6996 
6997 class BBINFILETK_API2 TK_Image_Data_Buffer {
6998  protected:
6999  unsigned char * m_buffer;
7000  unsigned int m_allocated;
7001  unsigned int m_used;
7002 
7003  public:
7005  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
7006  ~TK_Image_Data_Buffer();
7007 
7008  void Resize (unsigned int size);
7009  void Expand (unsigned int size) { Resize (Size() + size); }
7010  void Reset ();
7011 
7012  unsigned int const & Size () const { return m_allocated; }
7013  unsigned int const & Used () const { return m_used; }
7014  unsigned int & Used () { return m_used; }
7015  unsigned char const * Buffer () const { return m_buffer; }
7016  unsigned char * Buffer () { return m_buffer; }
7017 };
7018 
7019 
7020 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
7021 
7022 
7024 
7030 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
7031  protected:
7032  char * m_bytes;
7033  char * m_name;
7034  char * m_reference;
7035  float m_position[3];
7036  double m_dposition[3];
7037  int m_size[2];
7041  unsigned char m_format;
7042  unsigned int m_options;
7043  unsigned char m_compression;
7044  unsigned char m_bytes_format;
7045  float m_explicit_size[2];
7046  unsigned char m_explicit_units[2];
7047  TK_Image_Data_Buffer m_work_area[2];
7052  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
7055  void set_name (char const * string);
7057  void set_name (int length);
7058 
7060  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7062  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7064  TK_Status read_jpeg_header ();
7065 
7066  public:
7068  TK_Image ();
7069  ~TK_Image();
7070 
7073  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7074 
7075  TK_Status ReadAscii (BStreamFileToolkit & tk);
7076  TK_Status WriteAscii (BStreamFileToolkit & tk);
7077  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
7078 
7079 
7080  void Reset ();
7081 
7086  void SetBytes (int size, char const * bytes = 0,
7087  unsigned char data_format = TKO_Compression_None)
7088  { set_data (size, bytes, data_format); }
7090  char const * GetBytes () const { return m_bytes; }
7092  char * GetBytes () { return m_bytes; }
7093 
7095  void SetName (char const * string) { set_name (string); }
7097  void SetName (int length) { set_name (length); }
7099  char const * GetName () const { return m_name; }
7101  char * GetName () { return m_name; }
7102 
7104  void SetReference (char const * string);
7106  void SetReference (int length);
7108  char const * GetReference () const { return m_reference; }
7110  char * GetReference () { return m_reference; }
7111 
7113  void SetPosition (float x, float y, float z)
7114  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7116  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
7118  float const * GetPosition () const { return &m_position[0]; }
7119 
7121  void SetDPosition (double x, double y, double z)
7122  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7124  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
7126  double const * GetDPosition () const { return &m_dposition[0]; }
7127 
7129  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7131  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7133  int const * GetSize () const { return m_size; }
7134 
7136  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
7138  int GetFormat () const { return (int)m_format; }
7139 
7141  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
7143  int GetOptions () const { return (int)m_options; }
7144 
7146  void SetCompression (int c) { m_compression = (unsigned char)c; }
7148  int GetCompression () const { return (int)m_compression; }
7149 };
7150 
7151 
7153 
7155 
7161 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
7162  protected:
7163  char * m_name;
7165  char * m_image;
7166  char * m_camera;
7171  int m_flags;
7182  char m_layout;
7183  char m_tiling;
7184  float m_value_scale[2];
7185  int m_source_dimensions[3];
7186  char * m_transform;
7190  void set_name (int length);
7191  void set_name (char const * name);
7192  void set_image (int length);
7193  void set_image (char const * image);
7194  void set_transform (int length);
7195  void set_transform (char const * transform);
7196 
7197  public:
7199  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
7200  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
7201  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
7202  m_transform (0) {
7203  Reset();
7204  }
7205  ~TK_Texture();
7206 
7209  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7210 
7211  TK_Status ReadAscii (BStreamFileToolkit & tk);
7212  TK_Status WriteAscii (BStreamFileToolkit & tk);
7213 
7214  void Reset ();
7215 
7217  void SetName (char const * name) { set_name (name); }
7219  void SetName (int length) { set_name (length); }
7221  char const * GetName () const { return m_name; }
7223  char * GetName () { return m_name; }
7224 
7226  void SetShaderSource (char const * shader_source);
7228  void SetShaderSource (int length);
7230  char const * GetShaderSource () const { return m_shader_source; }
7232  char * GetShaderSource () { return m_shader_source; }
7233 
7235  void SetImage (char const * image) { set_image (image); }
7237  void SetImage (int length) { set_image (length); }
7239  char const * GetImage () const { return m_image; }
7241  char * GetImage () { return m_image; }
7242 
7244  void SetCamera (char const * camera);
7246  void SetCamera (int length);
7248  char const * GetCamera () const { return m_camera; }
7250  char * GetCamera () { return m_camera; }
7251 
7253  void SetFlags (int f) {
7254  m_flags = f;
7255  if ((f & TKO_Texture_Extended_Mask) != 0)
7256  m_flags |= TKO_Texture_Extended;
7257  }
7259  int GetFlags () const { return m_flags; }
7260 
7262  void SetParameterSource (int p) { m_param_source = (char)p; }
7264  int GetParameterSource () const { return (int)m_param_source; }
7265 
7267  void SetInterpolation (int p) { m_interpolation = (char)p; }
7269  int GetInterpolation () const { return (int)m_interpolation; }
7270 
7272  void SetDecimation (int p) { m_decimation = (char)p; }
7274  int GetDecimation () const { return (int)m_decimation; }
7275 
7277  void SetRedMapping (int p) { m_red_mapping = (char)p; }
7279  int GetRedMapping () const { return (int)m_red_mapping; }
7280 
7282  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
7284  int GetGreenMapping () const { return (int)m_green_mapping; }
7285 
7287  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
7289  int GetBlueMapping () const { return (int)m_blue_mapping; }
7290 
7292  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
7294  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
7295 
7297  void SetParameterFunction (int p) { m_param_function = (char)p; }
7299  int GetParameterFunction () const { return (int)m_param_function; }
7300 
7302  void SetLayout (int p) { m_layout = (char)p; }
7304  int GetLayout () const { return (int)m_layout; }
7305 
7307  void SetTiling (int p) { m_tiling = (char)p; }
7309  int GetTiling () const { return (int)m_tiling; }
7310 
7312  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
7314  float const * GetValueScale () const { return m_value_scale; }
7315 
7317  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
7319  int GetApplicationMode () const { return (int)m_apply_mode; }
7320 
7322  void SetParameterOffset (int p) { m_param_offset = (char)p; }
7324  int GetParameterOffset () const { return (int)m_param_offset; }
7325 
7330  void SetTransform (char const * transform) { set_transform (transform); }
7335  void SetTransform (int length) { set_transform (length); }
7337  char const * GetTransform () const { return m_transform; }
7339  char * GetTransform () { return m_transform; }
7340 };
7341 
7343 
7345 
7351 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
7352  protected:
7353  unsigned char * m_bytes;
7355  int m_size[2];
7356  unsigned char m_format;
7358  public:
7360  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
7361  ~TK_Thumbnail();
7362 
7365  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7366 
7367  TK_Status ReadAscii (BStreamFileToolkit & tk);
7368  TK_Status WriteAscii (BStreamFileToolkit & tk);
7369 
7371  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
7372  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
7373  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
7374  void Reset ();
7375 
7380  void SetBytes (int size, unsigned char const * bytes = 0);
7382  unsigned char const * GetBytes () const { return m_bytes; }
7384  unsigned char * GetBytes () { return m_bytes; }
7385 
7387  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7389  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7391  int const * GetSize () const { return m_size; }
7392 
7394  void SetFormat (int f) { m_format = (unsigned char)f; }
7396  int GetFormat () const { return (int)m_format; }
7397 };
7398 
7399 
7401 
7403 
7408 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
7409  protected:
7411  int m_size;
7412  char * m_name;
7413  char * m_data;
7415  public:
7417  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
7418  m_name_length (0), m_size (0),
7419  m_name (0), m_data (0) {}
7421 
7424  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7425 
7426  TK_Status ReadAscii (BStreamFileToolkit & tk);
7427  TK_Status WriteAscii (BStreamFileToolkit & tk);
7428 
7429  void Reset ();
7430 
7432  void SetName (char const * name);
7434  void SetName (int length);
7436  char const * GetName () const { return m_name; }
7438  char * GetName () { return m_name; }
7439 
7441  void SetDefinition (int size, char const * data = 0);
7443  int GetDefinitionSize () const { return m_size; }
7445  char const * GetDefinition () const { return m_data; }
7447  char * GetDefinition () { return m_data; }
7448 };
7449 
7450 
7452 
7457 class BBINFILETK_API2 TK_Shape_Definition : public BBaseOpcodeHandler {
7458  protected:
7460  int m_size;
7461  char * m_name;
7462  float * m_data;
7464  public:
7466  TK_Shape_Definition () : BBaseOpcodeHandler (TKE_Shape_Definition),
7467  m_name_length (0), m_size (0),
7468  m_name (0), m_data (0) {}
7470 
7473  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7474 
7475  TK_Status ReadAscii (BStreamFileToolkit & tk);
7476  TK_Status WriteAscii (BStreamFileToolkit & tk);
7477 
7478  void Reset ();
7479 
7481  void SetName (char const * name);
7483  void SetName (int length);
7485  char const * GetName () const { return m_name; }
7487  char * GetName () { return m_name; }
7488 
7490  void SetDefinition (int size, float const * data = 0);
7492  int GetDefinitionSize () const { return m_size; }
7494  float const * GetDefinition () const { return m_data; }
7496  float * GetDefinition () { return m_data; }
7497 };
7498 
7499 
7501 
7506 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
7507  protected:
7509  char * m_name;
7512  char * m_segment;
7516  char * m_condition;
7520  bool m_follow;
7521 
7522  public:
7525  m_name_length (0), m_name (0),
7526  m_segment_length (0), m_segment (0) ,
7527  m_cond_length (0), m_cond_allocated (0), m_condition (0),
7528  m_key(-1), m_referee(0), m_follow(true) {}
7529  ~TK_Named_Style_Def();
7530 
7533  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7534 
7535  TK_Status ReadAscii (BStreamFileToolkit & tk);
7536  TK_Status WriteAscii (BStreamFileToolkit & tk);
7537 
7538  void Reset ();
7539 
7541  void SetName (char const * name);
7543  void SetName (int length);
7545  char const * GetName () const { return m_name; }
7547  char * GetName () { return m_name; }
7548 
7553  void SetSegment (char const * segment);
7558  void SetSegment (int length);
7562  char const * GetSegment () const { return m_segment; }
7567  char * GetSegment () { return m_segment; }
7568 };
7569 
7571 
7576 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
7577  protected:
7580  char * m_name;
7581  char * m_definition;
7583  public:
7585  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
7586  m_name_length (0), m_definition_length (0),
7587  m_name (0), m_definition (0) {}
7588  ~TK_Line_Style();
7589 
7592  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7593 
7594  TK_Status ReadAscii (BStreamFileToolkit & tk);
7595  TK_Status WriteAscii (BStreamFileToolkit & tk);
7596 
7597  void Reset ();
7598 
7600  void SetName (char const * name);
7602  void SetName (int length);
7604  char const * GetName () const { return m_name; }
7606  char * GetName () { return m_name; }
7607 
7609  void SetDefinition (char const * def);
7611  void SetDefinition (int length);
7613  char const * GetDefinition () const { return m_definition; }
7615  char * GetDefinition () { return m_definition; }
7616 };
7617 
7619 
7621 
7626 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
7627  protected:
7628  char m_options;
7629  float m_rect[4];
7631  public:
7634  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
7635 
7638  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7639 
7640  TK_Status ReadAscii (BStreamFileToolkit & tk);
7641  TK_Status WriteAscii (BStreamFileToolkit & tk);
7642 
7643  void Reset ();
7644 
7646  void SetRectangle (float left, float right, float bottom, float top)
7647  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
7649  void SetRectangle (float const * rect)
7650  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
7652  float const * GetRectangle () const { return m_rect; }
7653 
7655  void SetOptions (int o) { m_options = (char)o; }
7657  int GetOptions () const { return (int)m_options; }
7658 };
7659 
7661 
7663 
7668 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
7669  protected:
7670  char m_options;
7671  int m_count;
7672  float * m_points;
7673  double * m_dpoints;
7677  public:
7680  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0), m_complex (0) {}
7681  ~TK_Clip_Region();
7682 
7685  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7686 
7687  TK_Status ReadAscii (BStreamFileToolkit & tk);
7688  TK_Status WriteAscii (BStreamFileToolkit & tk);
7689 
7690  void Reset ();
7691 
7696  void SetPoints (int count, float const points[] = 0);
7698  float const * GetPoints () const { return m_points; }
7700  float * GetPoints () { return m_points; }
7701 
7706  void SetDPoints (int count, double const points[] = 0);
7708  double const * GetDPoints () const { return m_dpoints; }
7710  double * GetDPoints () { return m_dpoints; }
7711 
7712 
7714  int GetCount () const { return m_count; }
7715 
7716 
7718  void SetOptions (int o) { m_options = (char)o; }
7720  int GetOptions () const { return (int)m_options; }
7721 };
7722 
7723 
7725 
7727 
7732 class BBINFILETK_API TK_Complex_Clip_Region : public BBaseOpcodeHandler {
7733  protected:
7734  char m_options;
7735  int m_loops;
7736  int m_total;
7737  int * m_lengths;
7738  float * m_points;
7739  double * m_dpoints;
7741  public:
7744  : BBaseOpcodeHandler (TKE_Complex_Clip_Region), m_options (0), m_loops (0), m_total (0),
7745  m_lengths (0), m_points (0), m_dpoints (0) {}
7747 
7750  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7751 
7752  TK_Status ReadAscii (BStreamFileToolkit & tk);
7753  TK_Status WriteAscii (BStreamFileToolkit & tk);
7754 
7755  void Reset ();
7756 
7761  void SetPoints (int count, float const points[] = 0);
7763  float const * GetPoints () const { return m_points; }
7765  float * GetPoints () { return m_points; }
7766 
7771  void SetDPoints (int count, double const points[] = 0);
7773  double const * GetDPoints () const { return m_dpoints; }
7775  double * GetDPoints () { return m_dpoints; }
7776 
7777 
7782  void SetLengths (int count, int const lengths[] = 0);
7784  int const * GetLengths () const { return m_lengths; }
7786  int * GetLengths () { return m_lengths; }
7787 
7788 
7790  int GetTotal () const { return m_total; }
7792  int GetLoops () const { return m_loops; }
7793 
7794 
7796  void SetOptions (int o) { m_options = (char)o; }
7798  int GetOptions () const { return (int)m_options; }
7799 };
7800 
7801 
7803 
7805 
7821 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
7822  protected:
7823  int m_size;
7824  unsigned char * m_data;
7827  void set_data (int size, unsigned char const * bytes = 0);
7829 
7830  public:
7833  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
7834  ~TK_User_Data();
7835 
7838  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7839 
7840  TK_Status ReadAscii (BStreamFileToolkit & tk);
7841  TK_Status WriteAscii (BStreamFileToolkit & tk);
7842 
7844  void Reset ();
7845 
7850  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
7852  unsigned char const * GetUserData () const { return m_data; }
7854  unsigned char * GetUserData () { return m_data; }
7856  int GetSize () const { return m_size; }
7857 
7859  void Resize (int size);
7860 
7862  void SetSize (int size);
7863 };
7864 
7865 
7867 
7869 
7881 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
7882  protected:
7884 
7887  struct vlist_s *m_data;
7888 
7889  public:
7891  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
7892  ~TK_Material();
7893 
7896  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7897  void Reset ();
7898 
7899  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
7900  TK_Status GetBlock (char const **ptr, int *buffer_size);
7901 };
7902 
7904 
7909 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
7910  protected:
7911  int m_size;
7912  char * m_data;
7914  public:
7916  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
7917  ~TK_XML();
7918 
7921  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7922 
7923  TK_Status ReadAscii (BStreamFileToolkit & tk);
7924  TK_Status WriteAscii (BStreamFileToolkit & tk);
7925 
7927  void Reset ();
7928 
7933  void SetXML (int size, char const * data = 0);
7937  void AppendXML (int size, char const * data = 0);
7939  char const * GetXML () const { return m_data; }
7941  char * GetXML () { return m_data; }
7943  int GetSize () const { return m_size; }
7944 };
7945 
7946 
7947 
7949 
7955 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
7956  protected:
7957  int m_length;
7959  char * m_string;
7961  public:
7964  m_length (0), m_allocated (0), m_string (0) {}
7965  ~TK_URL();
7966 
7969  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7970 
7971  TK_Status ReadAscii (BStreamFileToolkit & tk);
7972  TK_Status WriteAscii (BStreamFileToolkit & tk);
7973 
7974  void Reset ();
7975 
7977  void SetString (char const * string);
7979  void SetString (int length);
7981  char const * GetString () const { return m_string; }
7983  char * GetString () { return m_string; }
7984 };
7985 
7986 
7988 
7994 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
7995  protected:
7996  int m_length;
7998  char * m_string;
8000  public:
8001  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
8002  m_length (0), m_allocated (0), m_string (0) {}
8004 
8007  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8008 
8009  TK_Status ReadAscii (BStreamFileToolkit & tk);
8010  TK_Status WriteAscii (BStreamFileToolkit & tk);
8011 
8013  void Reset ();
8014 
8016  void SetString (char const * string);
8018  void SetString (int length);
8020  char const * GetString () const { return m_string; }
8022  char * GetString () { return m_string; }
8023 };
8024 
8025 
8027 
8033 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
8034  protected:
8035  int m_length;
8037  wchar_t * m_string;
8039  public:
8040  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
8041  m_length (0), m_allocated (0), m_string (0) {}
8043 
8046  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8047 
8049  void Reset ();
8050 
8052  void SetString (__wchar_t const * string);
8053 #ifdef _MSC_VER
8054  void SetString (unsigned short const * string);
8055 #endif
8056 
8057  void SetString (int length);
8059  wchar_t const * GetString () const { return m_string; }
8061  wchar_t * GetString () { return m_string; }
8062 };
8063 
8064 
8065 
8066 
8068 
8074 class BBINFILETK_API TK_Image_XRef : public BBaseOpcodeHandler {
8075  protected:
8076  char * m_name;
8078  int m_size[2];
8079  char m_bpp;
8080 
8082  void set_name (char const * string);
8084  void set_name (int length);
8085 
8086  public:
8087  TK_Image_XRef () : BBaseOpcodeHandler (TKE_Image_XRef), m_name (0), m_name_length (0), m_bpp(0)
8088  { m_size[0] = m_size[1] = 0; }
8089  ~TK_Image_XRef();
8090 
8093  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8095  void Reset (void);
8096 
8098  void SetName (char const * string) { set_name (string);}
8100  void SetName (int length) { set_name (length);}
8102  char const * GetName (void) const { return m_name;}
8104  char * GetName (void) { return m_name;}
8105 
8106  void SetSize (int x, int y ) { m_size[0] = x; m_size[1] = y;}
8107  int const* GetSize (void) const { return m_size;}
8108  int * GetSize (void) { return m_size;}
8109 
8110  void SetBitDepth( char bpp ) { m_bpp = bpp;}
8111  char GetBitDepth (void) const { return m_bpp;}
8112  char GetBitDepth (void) { return m_bpp;}
8113 };
8114 
8115 
8116 #endif //BOPCODE_HANDLER
8117 
int GetFlags() const
Definition: BOpcodeHandler.h:7259
void SetOptions(int o)
Definition: BOpcodeHandler.h:5733
void SetAxis(float const s[], float const e[])
Definition: BOpcodeHandler.h:6447
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:3023
void SetRoughnessMap(char const *name)
Definition: BOpcodeHandler.h:2282
float * m_control_points
Definition: BOpcodeHandler.h:5621
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:4682
int GetOptions() const
Definition: BOpcodeHandler.h:5856
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:4128
char const * GetCoordinateSystems() const
Definition: BOpcodeHandler.h:4223
char const * GetCondition() const
Definition: BOpcodeHandler.h:1356
float const * GetPoints() const
Definition: BOpcodeHandler.h:5655
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2465
int const * GetRenderers() const
Definition: BOpcodeHandler.h:5317
int GetMaskTransform() const
Definition: BOpcodeHandler.h:3738
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:3639
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:4710
for further expansion
Definition: BOpcodeEnums.h:1175
void SetPoints(float const s[], float const e[])
Definition: BOpcodeHandler.h:5520
int value
For internal use only.
Definition: BOpcodeHandler.h:1058
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5913
char * m_coordinate_systems
internal use
Definition: BOpcodeHandler.h:4167
void SetType(int t)
Definition: BOpcodeHandler.h:6735
float const * GetPoints() const
Definition: BOpcodeHandler.h:5756
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:7633
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:3143
int m_name_length
Definition: BOpcodeHandler.h:7410
TK_Grid()
Definition: BOpcodeHandler.h:6647
int m_name_length
Definition: BOpcodeHandler.h:7039
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:3496
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:3983
char * GetName()
Definition: BOpcodeHandler.h:6972
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:3834
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:2675
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:4063
void SetDUpVector(double const u[])
Definition: BOpcodeHandler.h:5021
void SetVisibilityLockValue(int v)
Definition: BOpcodeHandler.h:2712
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:665
int GetPattern() const
Definition: BOpcodeHandler.h:4537
unsigned char const * GetDTextLeaderFlags() const
Definition: BOpcodeHandler.h:6895
float * m_v_knots
Definition: BOpcodeHandler.h:5797
void SetPattern(int p)
Definition: BOpcodeHandler.h:4535
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:3826
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3362
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6578
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:7354
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:1847
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5622
void SetCoordinateSystems(int count, char const cs[])
Definition: BOpcodeHandler.h:4214
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1409
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:5018
int GetCutGeometryLevel() const
Definition: BOpcodeHandler.h:3749
int GetColorWindowContrastLockValue() const
Definition: BOpcodeHandler.h:2924
void SetTransmission(float const rgb[])
Definition: BOpcodeHandler.h:1843
int GetNURBSCurveBudget() const
Definition: BOpcodeHandler.h:3561
void SetLodFallback(int v)
Definition: BOpcodeHandler.h:3609
double * m_dpoints
Definition: BOpcodeHandler.h:6517
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:3426
float * m_leaders
Definition: BOpcodeHandler.h:6787
void SetOptions(int o)
Definition: BOpcodeHandler.h:7655
char * m_name
Definition: BOpcodeHandler.h:8076
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char *b, int n)
Definition: BOpcodeHandler.h:295
void SetColorLockValue(int v)
Definition: BOpcodeHandler.h:2735
static TK_Status PutData(BStreamFileToolkit &tk, char const *b, int n)
Definition: BOpcodeHandler.h:349
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:7116
float const * GetUKnots() const
Definition: BOpcodeHandler.h:5845
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:4031
int m_count
internal use
Definition: BOpcodeHandler.h:5874
int m_lookup_length
Definition: BOpcodeHandler.h:6915
int m_shader_source_length
Definition: BOpcodeHandler.h:7168
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:1851
void SetDRef1(double const r[])
Definition: BOpcodeHandler.h:6707
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5965
void SetGeneralDisplacement(int d)
Definition: BOpcodeHandler.h:2670
unsigned short mask
specifies which settings are active (i.e. the attributes for which we have an opinion at this point) ...
Definition: BOpcodeHandler.h:6754
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4795
float const * GetOrigin() const
Definition: BOpcodeHandler.h:6664
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:4509
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:3878
float const * GetField() const
Definition: BOpcodeHandler.h:5032
unsigned char m_degree
Definition: BOpcodeHandler.h:5712
void SetAmbientUpVector(float const v[])
Definition: BOpcodeHandler.h:3918
Capping_Options
Definition: BOpcodeHandler.h:6543
int GetDTextLeaderCount() const
Definition: BOpcodeHandler.h:6889
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:2553
int m_shape_length
for internal use only
Definition: BOpcodeHandler.h:5159
int GetOrientationCount() const
Definition: BOpcodeHandler.h:4209
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:5167
bool GetStreaming() const
Definition: BOpcodeHandler.h:4606
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:7496
float const * GetRectangle() const
Definition: BOpcodeHandler.h:7652
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:4238
int GetMask() const
Definition: BOpcodeHandler.h:5204
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:2665
int m_size
Definition: BOpcodeHandler.h:7823
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeEnums.h:1112
void SetFormat(int f)
Definition: BOpcodeHandler.h:7136
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:5047
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:2850
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:4520
double * m_dpoints
Definition: BOpcodeHandler.h:7673
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:6748
self-explanatory
Definition: BOpcodeEnums.h:267
char * m_shader_source
Definition: BOpcodeHandler.h:7164
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:3265
int GetDown() const
Definition: BOpcodeHandler.h:4364
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:3502
float * GetPoints()
Definition: BOpcodeHandler.h:5826
short m_type
Definition: BOpcodeHandler.h:4658
void SetOcclusionFactor(float f)
Definition: BOpcodeHandler.h:2330
void SetTechnology(int t)
Definition: BOpcodeHandler.h:2645
int m_surface_trim_budget
For internal use only.
Definition: BOpcodeHandler.h:2505
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5001
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:3902
char m_options
for internal use only
Definition: BOpcodeHandler.h:5942
void GetDField(double f[]) const
Definition: BOpcodeHandler.h:5043
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:5346
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:5718
void SetDPoints(double const p[])
Definition: BOpcodeHandler.h:5538
char const * GetSegment() const
Definition: BOpcodeHandler.h:1208
int GetBytesCount() const
Definition: BOpcodeHandler.h:6959
void SetTolerance(float t)
Definition: BOpcodeHandler.h:5249
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:7339
void SetSimpleShadowBlur(int m)
Definition: BOpcodeHandler.h:3796
float m_surface_max_facet_angle
For internal use only.
Definition: BOpcodeHandler.h:2507
int GetVSize() const
Definition: BOpcodeHandler.h:5839
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:4161
float m_radius
Definition: BOpcodeHandler.h:6424
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:4991
void SetLodBounding(float const s[], float const e[])
Definition: BOpcodeHandler.h:3619
float m_hlr_weight
for internal use only.
Definition: BOpcodeHandler.h:2454
double * GetDTextLeaders()
Definition: BOpcodeHandler.h:6893
float GetIndex() const
Definition: BOpcodeHandler.h:1895
char * m_name
Definition: BOpcodeHandler.h:7509
void SetBufferOptionsMask(int v)
Definition: BOpcodeHandler.h:3494
int m_nurbs_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2500
float * m_control_points
Definition: BOpcodeHandler.h:5793
int m_loops
Definition: BOpcodeHandler.h:7735
void SetImage(int length)
Definition: BOpcodeHandler.h:7237
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1064
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6984
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1228
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4159
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4323
int m_debug_allocated
Definition: BOpcodeHandler.h:70
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3408
void SetDEnd(double const e[])
Definition: BOpcodeHandler.h:6172
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:857
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:4733
static TK_Status GetData(BStreamFileToolkit &tk, float *f, int n)
Definition: BOpcodeHandler.h:279
void SetColorFaceLockMask(int m)
Definition: BOpcodeHandler.h:2747
short color_window_mask
For internal use only.
Definition: BOpcodeHandler.h:1071
int m_allocated
Definition: BOpcodeHandler.h:8036
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1622
void SetSelectionCulling(int c)
Definition: BOpcodeHandler.h:4055
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:6342
float m_max_distance
internal use; max distance
Definition: BOpcodeHandler.h:3988
void SetDPoints(double const s[], double const m[], double const e[], double const c[]=0)
Definition: BOpcodeHandler.h:6186
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:3587
channel m_transmission
internal use
Definition: BOpcodeHandler.h:1737
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6421
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6233
float m_radius
Definition: BOpcodeHandler.h:6304
void Reset(void)
Definition: BOpcodeHandler.h:5457
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
unsigned char m_flags
Definition: BOpcodeHandler.h:6302
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:2627
int GetOptions() const
Definition: BOpcodeHandler.h:7720
char * m_string
internal use
Definition: BOpcodeHandler.h:2124
TK_Sphere()
Definition: BOpcodeHandler.h:6314
double * GetDRadii()
Definition: BOpcodeHandler.h:6592
float const * GetEnd() const
Definition: BOpcodeHandler.h:6455
////
Definition: BOpcodeEnums.h:50
double * m_dpoints
Definition: BOpcodeHandler.h:7739
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:3848
double * GetDOrigin()
Definition: BOpcodeHandler.h:6700
void SetInner(float i)
Definition: BOpcodeHandler.h:5994
unsigned char m_region_count
Definition: BOpcodeHandler.h:6781
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:226
TK_Conditional_Action()
Definition: BOpcodeHandler.h:4665
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:6047
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:665
int GetRedMapping() const
Definition: BOpcodeHandler.h:7279
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeEnums.h:1420
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3334
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7443
double GetDRadius() const
Definition: BOpcodeHandler.h:6377
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:7516
float GetNormalFactor() const
Definition: BOpcodeHandler.h:2317
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:5876
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3235
TK_Thumbnail()
Definition: BOpcodeHandler.h:7360
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:5439
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:6143
void SetLookup(int length)
Definition: BOpcodeHandler.h:6977
void SetChannels(int c)
Definition: BOpcodeHandler.h:1787
near limit setting
Definition: BOpcodeEnums.h:1145
float m_end_u
Definition: BOpcodeHandler.h:5717
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:243
void SetName(int length)
Definition: BOpcodeHandler.h:6968
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:5960
short color_window_value
For internal use only.
Definition: BOpcodeHandler.h:1072
float m_cut_geometry_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2532
float * m_points
Definition: BOpcodeHandler.h:5710
type for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:664
void SetShadowMap(int m)
Definition: BOpcodeHandler.h:3843
void SetEnd(float x, float y, float z)
Definition: BOpcodeHandler.h:6119
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6839
double * GetDPoints()
Definition: BOpcodeHandler.h:5830
int m_cond_allocated
Definition: BOpcodeHandler.h:1385
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:4033
char * m_name
Definition: BOpcodeHandler.h:7163
char m_green_mapping
Definition: BOpcodeHandler.h:7178
char * GetSegment()
Definition: BOpcodeHandler.h:1340
char * GetString()
Definition: BOpcodeHandler.h:8022
unsigned char m_encoding
Definition: BOpcodeHandler.h:6918
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:938
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1197
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:7294
TK_Bounding(unsigned char opcode, double min[], double max[])
Definition: BOpcodeHandler.h:5404
Definition: BOpcodeHandler.h:4545
void SetBumpName(char const *name)
Definition: BOpcodeHandler.h:1880
float GetHlrFaceSortingAlgorithm() const
Definition: BOpcodeHandler.h:3543
void SetImageScale(float const s[])
Definition: BOpcodeHandler.h:3925
char * m_style
for internal use only
Definition: BOpcodeHandler.h:5162
void SetOrtho(float const s[])
Definition: BOpcodeHandler.h:6359
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1452
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7613
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:5143
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5976
virtual void Reset()
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4321
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:4093
float m_glyph_rotation
For internal use only.
Definition: BOpcodeHandler.h:2587
void SetGloss(float g)
Definition: BOpcodeHandler.h:1889
int GetTessellationMask() const
Definition: BOpcodeHandler.h:3689
char const * GetName() const
Definition: BOpcodeHandler.h:7221
TK_Delete_Object()
Definition: BOpcodeHandler.h:1483
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:6024
void SetCallback(int length)
Definition: BOpcodeHandler.h:2394
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:4073
int GetGeometry() const
Definition: BOpcodeHandler.h:4353
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:3984
static TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:449
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4381
void SetAxis(float const a[])
Definition: BOpcodeHandler.h:6449
void SetValue(float const triple[])
Definition: BOpcodeHandler.h:2005
int m_style_length
for internal use only
Definition: BOpcodeHandler.h:5160
wchar_t * m_string
Definition: BOpcodeHandler.h:8037
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:3974
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:6698
short color_cut_face_value
For internal use only.
Definition: BOpcodeHandler.h:1094
float GetHlrDimFactor() const
Definition: BOpcodeHandler.h:3531
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
void SetDAxis(double const s[])
Definition: BOpcodeHandler.h:6386
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:6090
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:4121
int m_flags
Definition: BOpcodeHandler.h:7171
float const * GetTransmission() const
Definition: BOpcodeHandler.h:1849
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:4164
int const * GetLengths() const
Definition: BOpcodeHandler.h:7784
void SetCutVisualizationMask(int m)
Definition: BOpcodeHandler.h:4228
static TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:322
char m_layout
Definition: BOpcodeHandler.h:7182
static int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:509
float GetInner() const
Definition: BOpcodeHandler.h:5996
char const * GetName() const
Definition: BOpcodeHandler.h:7485
char * GetXML()
Definition: BOpcodeHandler.h:7941
int m_leader_count
Definition: BOpcodeHandler.h:6786
char const * GetEmissiveMap() const
Definition: BOpcodeHandler.h:2268
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4319
float * m_points
Definition: BOpcodeHandler.h:5558
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:2635
Definition: BOpcodeEnums.h:377
int const * GetSize() const
Definition: BOpcodeHandler.h:7391
char const * GetName() const
Definition: BOpcodeHandler.h:7436
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:3881
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:5327
int GetOptions() const
Definition: BOpcodeHandler.h:5673
unsigned char m_format
Definition: BOpcodeHandler.h:7356
int GetBufferOptionsValue() const
Definition: BOpcodeHandler.h:3500
static TK_Status PutData(BStreamFileToolkit &tk, int const *i, int n)
Definition: BOpcodeHandler.h:373
void SetRadius(float radius)
Definition: BOpcodeHandler.h:6565
int m_count
Definition: BOpcodeHandler.h:6792
int m_count
Definition: BOpcodeHandler.h:5709
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3281
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:4036
float GetRoughnessFactor() const
Definition: BOpcodeHandler.h:2327
float const * GetPosition() const
Definition: BOpcodeHandler.h:5962
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7408
static void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:534
int m_size
Definition: BOpcodeHandler.h:7911
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3460
float const * GetEmission() const
Definition: BOpcodeHandler.h:1864
void SetView(char const *name)
Definition: BOpcodeHandler.h:5075
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2576
int m_knot_count_implicit
Definition: BOpcodeHandler.h:5620
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:64
self-explanatory
Definition: BOpcodeEnums.h:1262
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:4971
float GetSimpleShadowOpacity() const
Definition: BOpcodeHandler.h:3839
short color_marker_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1086
int GetNURBSOptionsValue() const
Definition: BOpcodeHandler.h:3557
int m_allocated
Definition: BOpcodeHandler.h:6775
void SetIndex(float val)
Definition: BOpcodeHandler.h:2105
float const * GetPoints() const
Definition: BOpcodeHandler.h:7698
unsigned char mask
internal use
Definition: BOpcodeHandler.h:4170
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:7044
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:3691
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:6680
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1671
void SetEnd(float const e[])
Definition: BOpcodeHandler.h:6123
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:2520
char m_options
Definition: BOpcodeHandler.h:7734
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:2566
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6371
float * m_u_knots
Definition: BOpcodeHandler.h:5796
extra item for selectability; refer to ::HC_Set_Selectability for a description
Definition: BOpcodeEnums.h:224
int GetColorVertexContrastLockMask() const
Definition: BOpcodeHandler.h:3051
unsigned char * m_bytes
Definition: BOpcodeHandler.h:7353
char const * GetName() const
Definition: BOpcodeHandler.h:7099
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7708
int m_count
Definition: BOpcodeHandler.h:6515
void SetIndex(int i)
Definition: BOpcodeHandler.h:1272
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:4116
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:2662
unsigned int m_options
Definition: BOpcodeHandler.h:7042
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7445
int GetCutVisualizationMode() const
Definition: BOpcodeHandler.h:4235
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6263
unsigned char m_hlr_hsr_algorithm
for internal use only.
Definition: BOpcodeHandler.h:2458
void SetAntiAlias(int m)
Definition: BOpcodeHandler.h:3947
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:7124
float m_depth_peeling_min_area
For internal use only.
Definition: BOpcodeHandler.h:2571
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1657
void SetLockMask(int m)
Definition: BOpcodeHandler.h:2688
void SetParameterSource(int p)
Definition: BOpcodeHandler.h:7262
extended bit
Definition: BOpcodeEnums.h:1460
void SetValue(int v)
Definition: BOpcodeHandler.h:4021
char * m_image
Definition: BOpcodeHandler.h:7165
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:5171
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7576
char m_options
Definition: BOpcodeHandler.h:7628
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:2502
float * GetRef2()
Definition: BOpcodeHandler.h:6688
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6388
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:5386
void SetAlphaFactor(float f)
Definition: BOpcodeHandler.h:2335
int m_name_length
Definition: BOpcodeHandler.h:7508
int GetLength()
Definition: BOpcodeHandler.h:4780
float m_value
for internal use only.
Definition: BOpcodeHandler.h:4488
float const * GetOrtho() const
Definition: BOpcodeHandler.h:6361
char * m_name
internal use: name
Definition: BOpcodeHandler.h:4548
void SetCaps(int f)
Definition: BOpcodeHandler.h:6604
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:3577
int GetIndex() const
Definition: BOpcodeHandler.h:2058
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:5341
void SetNames(int length)
Definition: BOpcodeHandler.h:5214
void SetNURBSSurfaceBudget(int b)
Definition: BOpcodeHandler.h:3567
TK_Tag(unsigned char opcode=TKE_Tag)
Definition: BOpcodeHandler.h:1612
int m_count
for internal use only
Definition: BOpcodeHandler.h:4792
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:3085
char * m_transform
Definition: BOpcodeHandler.h:7186
char * m_name
Definition: BOpcodeHandler.h:4940
int GetVersion() const
Definition: BStreamFileToolkit.h:973
void SetOblique(float const o[])
Definition: BOpcodeHandler.h:5053
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7131
short color_marker_value
For internal use only.
Definition: BOpcodeHandler.h:1068
float const * GetAmbientUpVector() const
Definition: BOpcodeHandler.h:3920
void SetColorFaceLockValue(int v)
Definition: BOpcodeHandler.h:2758
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:3553
int GetShadowMapSamples() const
Definition: BOpcodeHandler.h:3855
int GetColorLineLockMask() const
Definition: BOpcodeHandler.h:2798
int m_override_internal_color_types
For internal use only.
Definition: BOpcodeHandler.h:2589
void SetDPoints(double const s[], double const e[])
Definition: BOpcodeHandler.h:5534
int GetSimpleReflectionVisibilityValue() const
Definition: BOpcodeHandler.h:3883
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int &i)
Definition: BOpcodeHandler.h:319
char m_red_mapping
Definition: BOpcodeHandler.h:7177
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7113
int m_segment_length
Definition: BOpcodeHandler.h:7511
static TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:467
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7161
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:7763
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
unsigned char m_options
Definition: BOpcodeHandler.h:5713
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1287
TK_Clip_Region()
Definition: BOpcodeHandler.h:7679
int GetValue() const
Definition: BOpcodeHandler.h:4307
void SetNURBSOptionsValue(int v)
Definition: BOpcodeHandler.h:3555
void SetColorWindowContrastLockMask(int m)
Definition: BOpcodeHandler.h:2908
void SetMirror(float r, float g, float b)
Definition: BOpcodeHandler.h:1826
int m_length
Definition: BOpcodeHandler.h:4939
void SetFogLimits(float const l[])
Definition: BOpcodeHandler.h:2682
int GetOptions() const
Definition: BOpcodeHandler.h:7798
void SetValue(int v0, int v1=0, int v2=0)
Definition: BOpcodeHandler.h:2625
int GetVisibilityLockValue() const
Definition: BOpcodeHandler.h:2717
int m_cut_geometry_edge_pattern_length
for internal use only.
Definition: BOpcodeHandler.h:2536
int const * GetIndices() const
Definition: BOpcodeHandler.h:4874
int GetLockValue() const
Definition: BOpcodeHandler.h:2695
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:6669
TK_Close_Segment()
Definition: BOpcodeHandler.h:1231
char * GetCutGeometryEdgePattern()
Definition: BOpcodeHandler.h:3778
TK_Unicode_Options()
Definition: BOpcodeHandler.h:4759
self-explanatory
Definition: BOpcodeEnums.h:1429
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:2890
void SetSelectionBias(int c)
Definition: BOpcodeHandler.h:4059
float const * GetAxis() const
Definition: BOpcodeHandler.h:6451
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1063
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4344
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:5749
int GetUp() const
Definition: BOpcodeHandler.h:4375
float * GetLodThresholds()
Definition: BOpcodeHandler.h:3665
void SetColorLineContrastLockValue(int v)
Definition: BOpcodeHandler.h:3011
int m_index
internal use: simple value for recognised old forms
Definition: BOpcodeHandler.h:4549
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:6464
float m_gloss
internal use
Definition: BOpcodeHandler.h:1741
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1506
void ** GetValues() const
Definition: BOpcodeHandler.h:4880
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:2885
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:5174
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1082
float * GetPoints()
Definition: BOpcodeHandler.h:7700
void SetString(char const *string)
Definition: BOpcodeHandler.h:6815
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6836
TK_Bounding(unsigned char opcode, float min[], float max[])
Definition: BOpcodeHandler.h:5392
void SetOptions(int o)
Definition: BOpcodeHandler.h:6004
void SetWindow(int n, float const w[])
Definition: BOpcodeHandler.h:5118
int m_max_degree
For internal use only.
Definition: BOpcodeHandler.h:2492
void SetLodRatios(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3630
TK_Font()
Definition: BOpcodeHandler.h:6933
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:2555
void GetDPosition(double p[]) const
Definition: BOpcodeHandler.h:4985
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:1877
float * GetPoints()
Definition: BOpcodeHandler.h:5586
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5702
void SetColorLineLockMask(int m)
Definition: BOpcodeHandler.h:2793
int GetColorVertexLockMask() const
Definition: BOpcodeHandler.h:2959
void SetValue(float a, float b, float c)
Definition: BOpcodeHandler.h:2001
void SetLayout(int l)
Definition: BOpcodeHandler.h:5351
float * GetPoints()
Definition: BOpcodeHandler.h:5905
TK_Conditions()
Definition: BOpcodeHandler.h:4624
unsigned char m_tessellations
For internal use only.
Definition: BOpcodeHandler.h:2517
int GetColorFaceContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3293
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:4998
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:3547
int GetGreenMapping() const
Definition: BOpcodeHandler.h:7284
channel m_mirror
internal use
Definition: BOpcodeHandler.h:1736
void SetColorLineContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3414
float m_curve_max_angle
For internal use only.
Definition: BOpcodeHandler.h:2510
void SetMajor(float const m[])
Definition: BOpcodeHandler.h:6242
int GetDebug() const
Definition: BOpcodeHandler.h:2657
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5828
float * m_knots
Definition: BOpcodeHandler.h:5715
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:2563
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5794
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:6353
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5984
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:7852
int GetParameterSource() const
Definition: BOpcodeHandler.h:7264
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:3573
TK_Color_By_Value()
Definition: BOpcodeHandler.h:1965
void SetEnd(float e)
Definition: BOpcodeHandler.h:5669
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1388
double const * GetTextRegionDPoints() const
Definition: BOpcodeHandler.h:6857
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2367
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:6588
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3396
void SetMiddle(float const m[])
Definition: BOpcodeHandler.h:6115
char const * GetSegment() const
Definition: BOpcodeHandler.h:7562
char * GetName()
Definition: BOpcodeHandler.h:7606
void SetCulling(int c)
Definition: BOpcodeHandler.h:4051
float * m_data
Definition: BOpcodeHandler.h:7462
TK_File_Info()
Definition: BOpcodeHandler.h:907
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:5168
char * m_name
Definition: BOpcodeHandler.h:7412
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:5799
unsigned char m_region_options
Definition: BOpcodeHandler.h:6779
self-explanatory
Definition: BOpcodeEnums.h:271
HLONG GetValue() const
Definition: BOpcodeHandler.h:4918
void SetVisibilityLockMask(int m)
Definition: BOpcodeHandler.h:2701
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1169
unsigned char m_antialias
For internal use only.
Definition: BOpcodeHandler.h:2579
int GetColorLineContrastLockMask() const
Definition: BOpcodeHandler.h:3005
float GetVertexDecimation() const
Definition: BOpcodeHandler.h:3954
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:5108
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:2514
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:4547
double m_dradius
Definition: BOpcodeHandler.h:6308
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2435
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:5152
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:6975
double * GetDPoints()
Definition: BOpcodeHandler.h:5594
void SetIndices(int count)
Definition: BOpcodeHandler.h:4868
void SetOptions(int o)
Definition: BOpcodeHandler.h:7796
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:6247
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:186
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:5301
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:3736
void SetOptions(int o)
Definition: BOpcodeHandler.h:5672
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3465
float * GetWeights()
Definition: BOpcodeHandler.h:5663
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:6001
double const * GetDPlane() const
Definition: BOpcodeHandler.h:6059
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:1866
char * GetDiffuseName()
Definition: BOpcodeHandler.h:1808
void SetStart(float s)
Definition: BOpcodeHandler.h:5667
int GetSpace() const
Definition: BOpcodeHandler.h:1998
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:6793
bump map
Definition: BOpcodeEnums.h:275
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1262
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:4075
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:7292
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:5884
int const * GetStringCursors() const
Definition: BOpcodeHandler.h:6869
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:2556
TK_Cylinder()
Definition: BOpcodeHandler.h:6431
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1552
int m_length
Definition: BOpcodeHandler.h:8035
unsigned char m_optionals
Definition: BOpcodeHandler.h:5617
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:2526
format mask
Definition: BOpcodeEnums.h:1412
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6300
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:7167
void SetRef2(float const r[])
Definition: BOpcodeHandler.h:6684
void SetOptions(int o)
Definition: BOpcodeHandler.h:7718
TK_User_Index()
Definition: BOpcodeHandler.h:4801
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:5343
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5172
int GetCaps() const
Definition: BOpcodeHandler.h:6488
short m_options
Definition: BOpcodeHandler.h:4659
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4790
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:3762
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:5658
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:5279
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7121
int m_mask
internal use
Definition: BOpcodeHandler.h:2069
int GetLodMaxDegree() const
Definition: BOpcodeHandler.h:3603
float m_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2493
Definition: BStream.h:302
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:5304
mask of bits requiring extended
Definition: BOpcodeEnums.h:830
int GetLodNumLevels() const
Definition: BOpcodeHandler.h:3595
int GetForcedLockValue() const
Definition: BOpcodeHandler.h:3098
int GetSelectionCulling() const
Definition: BOpcodeHandler.h:4057
//// Default reader provided for "W3D Image XRef"
Definition: BOpcodeEnums.h:156
int m_data_size
Definition: BOpcodeHandler.h:7038
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6758
int m_name_length
Definition: BOpcodeHandler.h:8077
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3224
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:3034
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:6853
int GetTransparentStyle() const
Definition: BOpcodeHandler.h:2642
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short *s, int n)
Definition: BOpcodeHandler.h:298
void SetDMatrix(double const m[])
Definition: BOpcodeHandler.h:4440
unsigned char m_options
Definition: BOpcodeHandler.h:6778
Definition: BOpcodeHandler.h:829
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:8059
char * m_condition
Definition: BOpcodeHandler.h:1294
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7030
int GetCoordinateSystemCount() const
Definition: BOpcodeHandler.h:4221
void SetPlane(float const p[])
Definition: BOpcodeHandler.h:6052
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:4041
float * GetPoints()
Definition: BOpcodeHandler.h:7765
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6909
int GetAntiAlias() const
Definition: BOpcodeHandler.h:3949
virtual TK_Status Read(BStreamFileToolkit &tk)=0
int GetRenderer() const
Definition: BOpcodeHandler.h:5312
void SetName(char const *string)
Definition: BOpcodeHandler.h:8098
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:2982
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4752
int * GetIndices()
Definition: BOpcodeHandler.h:4824
void SetView(int length)
Definition: BOpcodeHandler.h:5077
Internal_Translator::Index_Key_Pair * m_item
internal use; cache lookup in Pending cases
Definition: BOpcodeHandler.h:1643
int GetColorEdgeContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3385
unsigned char * GetTextLeaderFlags()
Definition: BOpcodeHandler.h:6884
float m_inner
for internal use only
Definition: BOpcodeHandler.h:5940
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1102
float * m_weights
Definition: BOpcodeHandler.h:5623
void SetCenter(float const c[])
Definition: BOpcodeHandler.h:6132
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:3752
void SetPoints(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5901
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6369
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5981
float const * GetCenter() const
Definition: BOpcodeHandler.h:6149
void SetProjection(int p)
Definition: BOpcodeHandler.h:5069
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:900
float const * GetRef2() const
Definition: BOpcodeHandler.h:6686
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:5626
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3373
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1712
double * GetDPoints()
Definition: BOpcodeHandler.h:5915
void SetColorWindowLockValue(int v)
Definition: BOpcodeHandler.h:2873
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:3967
int m_value
specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:5144
double const * GetDField() const
Definition: BOpcodeHandler.h:5041
Definition: BOpcodeHandler.h:1055
void SetSimpleShadowLight(float x, float y, float z)
Definition: BOpcodeHandler.h:3806
unsigned char m_simple_shadow_blur
For internal use only.
Definition: BOpcodeHandler.h:2539
char m_decimation
Definition: BOpcodeHandler.h:7176
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:3687
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:3784
void SetFormat(int f)
Definition: BOpcodeHandler.h:7394
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:6079
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:3583
double GetDRadius() const
Definition: BOpcodeHandler.h:6482
int * GetIndices()
Definition: BOpcodeHandler.h:4877
void SetHlrLinePattern(int p)
Definition: BOpcodeHandler.h:3537
short color_window_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1076
void SetSlant(float s)
Definition: BOpcodeHandler.h:5264
void SetViewVolume(float const v[])
Definition: BOpcodeHandler.h:4113
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:4095
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:3104
char * GetName()
Definition: BOpcodeHandler.h:7101
char const * GetSegment() const
Definition: BOpcodeHandler.h:1335
char * GetMetalnessMap()
Definition: BOpcodeHandler.h:2279
void SetSimpleShadowLight(float const l[])
Definition: BOpcodeHandler.h:3812
void set_points(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5562
double * m_dleaders
Definition: BOpcodeHandler.h:6790
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:5968
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1073
Definition: BStream.h:276
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:5322
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:3704
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4448
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:6621
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:5389
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:3155
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3442
float GetRotation() const
Definition: BOpcodeHandler.h:5261
float const * GetPosition() const
Definition: BOpcodeHandler.h:4973
void SetBaseColorFactor(float const rgba[])
Definition: BOpcodeHandler.h:2309
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:3861
int GetSize() const
Definition: BOpcodeHandler.h:7856
TK_Compression(char opcode)
Definition: BOpcodeHandler.h:1037
int GetColorTextContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3477
void SetColorFaceContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3288
Definition: BOpcodeHandler.h:4518
float * GetPoints()
Definition: BOpcodeHandler.h:5758
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:5149
char * GetNames()
Definition: BOpcodeHandler.h:5218
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:5169
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:3625
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:4493
float const * GetImageScale() const
Definition: BOpcodeHandler.h:3927
int GetLodFallback() const
Definition: BOpcodeHandler.h:3611
void SetIndices(int count, int const indices[], void const *values[], int const sizes[])
Definition: BOpcodeHandler.h:4863
TK_XML()
Definition: BOpcodeHandler.h:7916
void SetLodClamp(int v)
Definition: BOpcodeHandler.h:3597
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const &i)
Definition: BOpcodeHandler.h:464
void SetFogLimits(float n, float f)
Definition: BOpcodeHandler.h:2680
void SetQuantization(int q)
Definition: BOpcodeHandler.h:2650
int GetValue() const
Definition: BOpcodeHandler.h:5209
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:2535
int GetFormat() const
Definition: BOpcodeHandler.h:2148
float GetIndex() const
Definition: BOpcodeHandler.h:2107
Handles the TKE_URL opcodes.
Definition: BOpcodeHandler.h:7955
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5872
void SetOrigin(float const o[])
Definition: BOpcodeHandler.h:6662
void SetSimpleReflectionOpacity(float o)
Definition: BOpcodeHandler.h:3876
void SetMetalnessMap(char const *name)
Definition: BOpcodeHandler.h:2273
int GetIndex()
Definition: BOpcodeHandler.h:1495
char * GetShaderSource()
Definition: BOpcodeHandler.h:7232
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:3571
unsigned char * GetDTextLeaderFlags()
Definition: BOpcodeHandler.h:6897
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6016
char const * GetComment() const
Definition: BOpcodeHandler.h:987
int GetCount() const
Definition: BOpcodeHandler.h:4820
float * GetUKnots()
Definition: BOpcodeHandler.h:5847
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:4133
int GetColorLineForcedLockMask() const
Definition: BOpcodeHandler.h:3201
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
int GetOptions() const
Definition: BOpcodeHandler.h:6006
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:3166
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:4981
float GetHardEdgeAngle() const
Definition: BOpcodeHandler.h:3733
void SetLodThresholdType(int v)
Definition: BOpcodeHandler.h:3646
char * GetBaseColorMap()
Definition: BOpcodeHandler.h:2252
self-explanatory
Definition: BOpcodeEnums.h:270
void SetName(int length)
Definition: BOpcodeHandler.h:7219
TK_Callback()
Definition: BOpcodeHandler.h:2379
TK_Complex_Clip_Region()
Definition: BOpcodeHandler.h:7743
void GetTarget(float t[]) const
Definition: BOpcodeHandler.h:4995
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:7287
char const * GetNames() const
Definition: BOpcodeHandler.h:5216
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7506
double * GetDRef1()
Definition: BOpcodeHandler.h:6711
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5970
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:6859
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:5154
//– would like this to be obsolete, but...
Definition: BOpcodeEnums.h:152
int GetColorEdgeForcedLockValue() const
Definition: BOpcodeHandler.h:3189
void SetField(float const f[])
Definition: BOpcodeHandler.h:5030
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:7086
void SetIndex(float i)
Definition: BOpcodeHandler.h:1893
char * GetConditions()
Definition: BOpcodeHandler.h:4643
void SetMatrix(float const m[])
Definition: BOpcodeHandler.h:4436
self-explanatory
Definition: BOpcodeEnums.h:1143
float GetEnd() const
Definition: BOpcodeHandler.h:5670
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:6750
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7732
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:3853
void SetOptions(int o)
Definition: BOpcodeHandler.h:5481
char * m_string
Definition: BOpcodeHandler.h:7998
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:7272
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:3798
void SetName(int length)
Definition: BOpcodeHandler.h:7097
int GetCount() const
Definition: BOpcodeHandler.h:5918
void SetName(char const *string)
Definition: BOpcodeHandler.h:6966
void SetCutVisualizationAlpha(float a)
Definition: BOpcodeHandler.h:4247
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5173
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:2855
TK_User_Options()
Definition: BOpcodeHandler.h:4719
unsigned char m_region_fit
Definition: BOpcodeHandler.h:6780
double * m_dpoints
Definition: BOpcodeHandler.h:5559
int m_selection_culling
internal use; selection culling options
Definition: BOpcodeHandler.h:3978
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:5153
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2074
char * GetName()
Definition: BOpcodeHandler.h:7547
int m_coordinate_system_count
internal use
Definition: BOpcodeHandler.h:4166
int GetHardExtent() const
Definition: BOpcodeHandler.h:4081
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:6751
void SetField(float w, float h)
Definition: BOpcodeHandler.h:5028
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4322
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:4778
char * GetCallback()
Definition: BOpcodeHandler.h:2398
int GetOptions() const
Definition: BOpcodeHandler.h:7657
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6828
float GetStart() const
Definition: BOpcodeHandler.h:5668
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:4079
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:5946
void SetImageTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3934
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3270
void SetOuter(float o)
Definition: BOpcodeHandler.h:5989
void SetSize(int size)
Definition: BOpcodeHandler.h:1693
float GetLineSpacing() const
Definition: BOpcodeHandler.h:5286
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4085
float m_compression_quality
Definition: BOpcodeHandler.h:7048
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6831
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1061
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:7297
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:5008
int m_camera_length
Definition: BOpcodeHandler.h:7170
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1454
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:7909
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:7032
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:7994
Definition: BOpcodeHandler.h:4459
TK_Material()
Definition: BOpcodeHandler.h:7891
int m_allocated
Definition: BOpcodeHandler.h:5557
TK_Bounding(unsigned char opcode, float center[], float radius)
Definition: BOpcodeHandler.h:5398
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:2538
void SetFlags(int f)
Definition: BOpcodeHandler.h:7253
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:3074
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1925
char * GetName()
Definition: BOpcodeHandler.h:7223
float const * GetOrientation() const
Definition: BOpcodeHandler.h:4211
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:3138
float GetRadius() const
Definition: BOpcodeHandler.h:6339
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1449
double const * GetDPoint() const
Definition: BOpcodeHandler.h:5478
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:3757
void SetHSR(int h)
Definition: BOpcodeHandler.h:2630
int GetLength()
Definition: BOpcodeHandler.h:4645
void SetName(char const *string)
Definition: BOpcodeHandler.h:7095
unsigned char m_cut_geometry_edge_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2534
char * m_string
Definition: BOpcodeHandler.h:2370
int GetUSize() const
Definition: BOpcodeHandler.h:5837
void SetLodCutoffs(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3670
int m_count
Definition: BOpcodeHandler.h:5556
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:3723
float GetStart() const
Definition: BOpcodeHandler.h:5762
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:5735
for further expansion
Definition: BOpcodeEnums.h:1174
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:5615
void SetDiffuseTextureTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3939
int GetColorFaceLockValue() const
Definition: BOpcodeHandler.h:2763
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:3895
int GetLodNumCutoffs() const
Definition: BOpcodeHandler.h:3679
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4617
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:2509
char m_blue_mapping
Definition: BOpcodeHandler.h:7179
float * m_points
Definition: BOpcodeHandler.h:6516
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:3668
unsigned char m_optionals
Definition: BOpcodeHandler.h:5790
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:5281
unsigned char m_shadow_map_samples
For internal use only.
Definition: BOpcodeHandler.h:2548
int GetSimpleShadow() const
Definition: BOpcodeHandler.h:3793
int m_value
internal use; specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:4267
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:7850
void SetNames(char const *names)
Definition: BOpcodeHandler.h:5212
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:5529
char * m_names
for internal use only
Definition: BOpcodeHandler.h:5146
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:5734
char const * GetImage() const
Definition: BOpcodeHandler.h:7239
void SetLodNumLevels(int v)
Definition: BOpcodeHandler.h:3593
TK_Dictionary_Locater()
Definition: BOpcodeHandler.h:1678
env map
Definition: BOpcodeEnums.h:274
int GetMask() const
Definition: BOpcodeHandler.h:4198
int GetCutGeometryColorMatch() const
Definition: BOpcodeHandler.h:3754
static TK_Status GetData(BStreamFileToolkit &tk, int &i)
Definition: BOpcodeHandler.h:310
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7492
float GetLodTolerance() const
Definition: BOpcodeHandler.h:3607
int const * GetCounts() const
Definition: BOpcodeHandler.h:6730
////
Definition: BOpcodeEnums.h:149
int GetDegree() const
Definition: BOpcodeHandler.h:5660
int m_index
Definition: BOpcodeHandler.h:1383
int m_dleader_count
Definition: BOpcodeHandler.h:6789
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:6747
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:3529
float GetOuter() const
Definition: BOpcodeHandler.h:5991
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:4465
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2445
int * GetCounts()
Definition: BOpcodeHandler.h:6732
float m_hlr_threshold
for internal use only.
Definition: BOpcodeHandler.h:2456
float * GetRadii()
Definition: BOpcodeHandler.h:6569
float const * GetDiffuseTextureTintColor() const
Definition: BOpcodeHandler.h:3944
int m_offset
internal use
Definition: BOpcodeHandler.h:1674
void SetStart(float const s[])
Definition: BOpcodeHandler.h:6107
double const * GetDStart() const
Definition: BOpcodeHandler.h:6192
char m_alpha_mapping
Definition: BOpcodeHandler.h:7180
float const * GetCutVisualizationColor() const
Definition: BOpcodeHandler.h:4244
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:3498
int GetSelectionBias() const
Definition: BOpcodeHandler.h:4061
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:443
int GetMoveUp() const
Definition: BOpcodeHandler.h:4397
float const * GetTextLeaders() const
Definition: BOpcodeHandler.h:6878
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:5155
int GetCaps() const
Definition: BOpcodeHandler.h:6606
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:5776
char * GetStyle()
Definition: BOpcodeHandler.h:5236
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:4266
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3207
char * m_comment
internal use
Definition: BOpcodeHandler.h:945
float * m_points
Definition: BOpcodeHandler.h:7672
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:6019
float const * GetMiddle() const
Definition: BOpcodeHandler.h:6145
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:3016
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:5170
void GetDTarget(double t[]) const
Definition: BOpcodeHandler.h:5005
static short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:505
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:5567
void SetDepthRange(float const l[])
Definition: BOpcodeHandler.h:3889
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:2552
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:6458
int GetVDegree() const
Definition: BOpcodeHandler.h:5835
char const * GetBytes() const
Definition: BOpcodeHandler.h:6961
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:5331
int GetOptions() const
Definition: BOpcodeHandler.h:5128
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:3981
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:3322
float * GetKnots()
Definition: BOpcodeHandler.h:5665
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:3028
float const * GetPosition() const
Definition: BOpcodeHandler.h:7118
void SetVisibilityForcedLockValue(int v)
Definition: BOpcodeHandler.h:3115
char * GetTransmissionName()
Definition: BOpcodeHandler.h:1853
void SetColorTextContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3483
TK_User_Value()
Definition: BOpcodeHandler.h:4905
int m_cond_length
Definition: BOpcodeHandler.h:7514
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:2954
char * GetCondition()
Definition: BOpcodeHandler.h:4684
int * GetSizes()
Definition: BOpcodeHandler.h:4889
void SetLodBounding(float const p[])
Definition: BOpcodeHandler.h:3623
//// pseudo-handler (non-zero value)
Definition: BOpcodeEnums.h:158
char const * GetString() const
Definition: BOpcodeHandler.h:2175
void SetValue(HLONG v)
Definition: BOpcodeHandler.h:4916
char * GetLookup()
Definition: BOpcodeHandler.h:6981
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:3173
int m_count
Definition: BOpcodeHandler.h:7671
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:6284
void SetIndices(int count, int const indices[], POINTER_SIZED_INT const values[])
Definition: BOpcodeHandler.h:4815
unsigned char m_flags
Definition: BOpcodeHandler.h:6521
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3339
void GetUpVector(float u[]) const
Definition: BOpcodeHandler.h:5015
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:6160
int GetMetalnessMapChannel() const
Definition: BOpcodeHandler.h:2343
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:4026
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1557
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7626
void SetLockValue(int v)
Definition: BOpcodeHandler.h:2693
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:7604
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:4067
char const * GetShape() const
Definition: BOpcodeHandler.h:5225
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:2498
unsigned char m_compression
Definition: BOpcodeHandler.h:7043
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5141
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:7714
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:5023
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:6238
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:4794
static TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:470
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4838
int m_size
Definition: BOpcodeHandler.h:7411
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:2474
int GetCount() const
Definition: BOpcodeHandler.h:5661
double const * GetDTextLeaders() const
Definition: BOpcodeHandler.h:6891
int GetGeometry() const
Definition: BOpcodeHandler.h:4296
void SetCollectionPart(bool n)
Definition: BOpcodeHandler.h:203
float const * GetAxis() const
Definition: BOpcodeHandler.h:6350
int GetOptions() const
Definition: BOpcodeHandler.h:5923
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:6957
float * GetVKnots()
Definition: BOpcodeHandler.h:5851
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:91
Definition: BOpcodeHandler.h:4486
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3419
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:3891
void GetPosition(float p[]) const
Definition: BOpcodeHandler.h:4975
int m_name_length
Definition: BOpcodeHandler.h:7459
char * GetOcclusionMap()
Definition: BOpcodeHandler.h:2297
unsigned char * m_leader_flags
Definition: BOpcodeHandler.h:6788
Handles the TKE_Dictionary opcode.
Definition: BOpcodeHandler.h:1636
float * GetLodRatios()
Definition: BOpcodeHandler.h:3643
char const * GetCutGeometryEdgePattern() const
Definition: BOpcodeHandler.h:3776
int GetColorLockValue() const
Definition: BOpcodeHandler.h:2740
void SetValue(int v)
Definition: BOpcodeHandler.h:5207
int GetStringCursorCount() const
Definition: BOpcodeHandler.h:6867
float const * GetWindow() const
Definition: BOpcodeHandler.h:5123
void SetOrientation(int count, float const o[])
Definition: BOpcodeHandler.h:4201
void reset_string(char *&s)
internal use
Definition: BOpcodeHandler.h:2213
char * GetRoughnessMap()
Definition: BOpcodeHandler.h:2288
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:7230
void SetLayout(int p)
Definition: BOpcodeHandler.h:7302
char m_param_function
Definition: BOpcodeHandler.h:7181
char * m_definition
Definition: BOpcodeHandler.h:7581
int m_string_length
internal use
Definition: BOpcodeHandler.h:2123
int GetCount() const
Definition: BOpcodeHandler.h:5597
int GetColorLineLockValue() const
Definition: BOpcodeHandler.h:2809
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:5662
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4408
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:5861
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:275
void SetRotation(float r)
Definition: BOpcodeHandler.h:5259
//
Definition: BOpcodeEnums.h:143
float * m_weights
Definition: BOpcodeHandler.h:5795
int GetTextLeaderCount() const
Definition: BOpcodeHandler.h:6876
void SetColorBackLockMask(int m)
Definition: BOpcodeHandler.h:2931
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5435
int GetSize() const
Definition: BOpcodeHandler.h:7943
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:2901
TK_PolyCylinder()
Definition: BOpcodeHandler.h:6526
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:7646
void SetUpVector(float const u[])
Definition: BOpcodeHandler.h:5011
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:7580
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:4901
char * GetCondition()
Definition: BOpcodeHandler.h:1361
double const * GetDRef1() const
Definition: BOpcodeHandler.h:6709
float const * GetVKnots() const
Definition: BOpcodeHandler.h:5849
float const * GetPoints() const
Definition: BOpcodeHandler.h:5584
unsigned char m_type
Definition: BOpcodeHandler.h:6917
void SetDMajor(double const m[])
Definition: BOpcodeHandler.h:6270
void SetScreenRange(float const l[])
Definition: BOpcodeHandler.h:3900
char * GetName()
Definition: BOpcodeHandler.h:4573
char * GetShape()
Definition: BOpcodeHandler.h:5227
int GetDecimation() const
Definition: BOpcodeHandler.h:7274
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:3923
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:4604
void SetSpace(int s)
Definition: BOpcodeHandler.h:1996
float GetCutVisualizationScale() const
Definition: BOpcodeHandler.h:4254
int GetCutGeometryEdgeWeightUnits() const
Definition: BOpcodeHandler.h:3769
void SetEnvironmentName(int length)
Definition: BOpcodeHandler.h:1873
int m_index
internal use
Definition: BOpcodeHandler.h:2021
void SetRadius(float r)
Definition: BOpcodeHandler.h:6337
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:3132
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:5707
TK_Open_Segment()
Definition: BOpcodeHandler.h:1182
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:2993
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5540
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:3581
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:2821
int GetTransforms() const
Definition: BOpcodeHandler.h:5291
void SetVector(float const v[])
Definition: BOpcodeHandler.h:4091
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:2637
extended bits for common/shared items
Definition: BOpcodeEnums.h:177
BBaseOpcodeHandler * m_complex
Definition: BOpcodeHandler.h:7674
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:5348
Definition: BOpcodeHandler.h:1720
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:6111
short m_channels
internal use
Definition: BOpcodeHandler.h:1715
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7129
self-explanatory
Definition: BOpcodeEnums.h:1263
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2451
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:5156
void SetLodMinimumTriangleCount(int v)
Definition: BOpcodeHandler.h:3589
int GetQuantization() const
Definition: BOpcodeHandler.h:2652
char * m_condition
Definition: BOpcodeHandler.h:1386
void SetMetalnessMapChannel(int c)
Definition: BOpcodeHandler.h:2341
float const * GetLimits() const
Definition: BOpcodeHandler.h:6288
char const * GetCamera() const
Definition: BOpcodeHandler.h:7248
float m_start
Definition: BOpcodeHandler.h:5625
void SetDOrigin(double const o[])
Definition: BOpcodeHandler.h:6696
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:6218
TK_Heuristics()
Definition: BOpcodeHandler.h:3999
void SetHlrFaceDisplacement(float d)
Definition: BOpcodeHandler.h:3533
void SetPoints(float const s[], float const m[], float const e[], float const c[]=0)
Definition: BOpcodeHandler.h:6137
char * GetString()
Definition: BOpcodeHandler.h:7983
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:6152
void SetDiffuseTextureTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3942
void SetEmissiveMap(int length)
Definition: BOpcodeHandler.h:2266
void ** GetValues()
Definition: BOpcodeHandler.h:4883
void SetEmission(float const rgb[])
Definition: BOpcodeHandler.h:1858
void SetOptions(int f)
Definition: BOpcodeHandler.h:7141
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:7384
int GetFormat() const
Definition: BOpcodeHandler.h:7138
int GetMoveDown() const
Definition: BOpcodeHandler.h:4386
void SetMask(int m)
Definition: BOpcodeHandler.h:4012
void SetConcentration(float c)
Definition: BOpcodeHandler.h:5999
char m_param_source
Definition: BOpcodeHandler.h:7174
float const * GetKnots() const
Definition: BOpcodeHandler.h:5772
float GetCutGeometryEdgeWeight() const
Definition: BOpcodeHandler.h:3767
int GetEncoding() const
Definition: BOpcodeHandler.h:6846
int GetSizeUnits() const
Definition: BOpcodeHandler.h:5246
float * GetWeights()
Definition: BOpcodeHandler.h:5770
int m_buffer_size
Definition: BOpcodeHandler.h:7825
static void fix_out(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:608
void SetColorBackForcedLockValue(int v)
Definition: BOpcodeHandler.h:3345
unsigned short m_simple_shadow_resolution
For internal use only.
Definition: BOpcodeHandler.h:2540
float GetWidthScale() const
Definition: BOpcodeHandler.h:5271
int GetParameterFunction() const
Definition: BOpcodeHandler.h:7299
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:6043
char const * GetName() const
Definition: BOpcodeHandler.h:6970
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:7519
Lock_Masks m_filter
for internal use only
Definition: BOpcodeHandler.h:1301
float GetStereoDistance() const
Definition: BOpcodeHandler.h:3514
int GetVisibilityLockMask() const
Definition: BOpcodeHandler.h:2706
void SetColorTextForcedLockMask(int m)
Definition: BOpcodeHandler.h:3242
char * GetName(void)
Definition: BOpcodeHandler.h:8104
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:4143
void SetColorLockMask(int m)
Definition: BOpcodeHandler.h:2724
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:4418
void SetWindow(float const w[], float const o[])
Definition: BOpcodeHandler.h:5115
void SetIndex(int i)
Definition: BOpcodeHandler.h:4475
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:3952
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:3109
double const * GetDMinor() const
Definition: BOpcodeHandler.h:6281
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:1802
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:4826
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:3327
int GetColorTextForcedLockMask() const
Definition: BOpcodeHandler.h:3247
char * GetCylinderTessellations()
Definition: BOpcodeHandler.h:3706
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5973
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:3708
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:2942
void SetAction(int at)
Definition: BOpcodeHandler.h:4689
int GetType() const
Definition: BOpcodeHandler.h:6951
float m_index
internal use
Definition: BOpcodeHandler.h:2070
char const * GetBytes() const
Definition: BOpcodeHandler.h:7090
void SetDAxis(double const s[], double const e[])
Definition: BOpcodeHandler.h:6469
char * GetSegment()
Definition: BOpcodeHandler.h:1213
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7389
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5986
void SetColorVertexContrastLockValue(int v)
Definition: BOpcodeHandler.h:3057
int m_general_displacement
For internal use only.
Definition: BOpcodeHandler.h:2574
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:6833
int m_definition_length
Definition: BOpcodeHandler.h:7579
static TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:271
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:5504
int m_stage
The writing stage.
Definition: BOpcodeHandler.h:63
void SetColorLineContrastLockMask(int m)
Definition: BOpcodeHandler.h:3000
void SetColorVertexForcedLockValue(int v)
Definition: BOpcodeHandler.h:3368
float * m_planes
internal use
Definition: BOpcodeHandler.h:6018
Handles the TKE_Image_XRef opcodes.
Definition: BOpcodeHandler.h:8074
void SetTiling(int p)
Definition: BOpcodeHandler.h:7307
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1081
void SetDMinor(double const m[])
Definition: BOpcodeHandler.h:6279
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6513
int * GetLengths()
Definition: BOpcodeHandler.h:7786
char m_type
internal use
Definition: BOpcodeHandler.h:5385
all
Definition: BOpcodeEnums.h:359
mask of bits in second byte
Definition: BOpcodeEnums.h:782
unsigned short m_shadow_map
For internal use only.
Definition: BOpcodeHandler.h:2546
int GetColorTextLockMask() const
Definition: BOpcodeHandler.h:2844
float m_stereo_distance
For internal use only.
Definition: BOpcodeHandler.h:2515
double const * GetDPlanes() const
Definition: BOpcodeHandler.h:6064
int m_length
Definition: BOpcodeHandler.h:4708
int GetBlueMapping() const
Definition: BOpcodeHandler.h:7289
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:6861
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3472
double const * GetDRef2() const
Definition: BOpcodeHandler.h:6720
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4403
mask for HLR suboptions; refer to ::HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:670
void SetKey(ID_Key k)
Definition: BOpcodeHandler.h:1595
int m_placeholder
internal use
Definition: BOpcodeHandler.h:1639
int GetProjection() const
Definition: BOpcodeHandler.h:5071
unsigned char * m_dleader_flags
Definition: BOpcodeHandler.h:6791
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:2577
char * GetName()
Definition: BOpcodeHandler.h:7487
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3219
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:7267
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6365
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:6275
float * GetMatrix()
Definition: BOpcodeHandler.h:4446
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:6658
int m_length
Definition: BOpcodeHandler.h:4619
int GetLayout() const
Definition: BOpcodeHandler.h:7304
char m_marker_drawing_preference
For internal use only.
Definition: BOpcodeHandler.h:2586
int m_allocated
Definition: BOpcodeHandler.h:1290
unsigned char size_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6757
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:8033
float m_outer
for internal use only
Definition: BOpcodeHandler.h:5939
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5554
char m_apply_mode
Definition: BOpcodeHandler.h:7187
int * m_cursors
Definition: BOpcodeHandler.h:6785
HLONG * GetValues()
Definition: BOpcodeHandler.h:4828
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:3980
double const * GetDStart() const
Definition: BOpcodeHandler.h:6475
int m_count
internal use
Definition: BOpcodeHandler.h:6020
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:3973
void SetRef1(float const r[])
Definition: BOpcodeHandler.h:6673
unsigned char m_type
Definition: BOpcodeHandler.h:5708
void SetColorFaceContrastLockValue(int v)
Definition: BOpcodeHandler.h:2896
char const * GetRoughnessMap() const
Definition: BOpcodeHandler.h:2286
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5381
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:4938
char m_tint_effect
For internal use only.
Definition: BOpcodeHandler.h:2479
void SetColorFaceForcedLockValue(int v)
Definition: BOpcodeHandler.h:3161
TK_User_Data()
Definition: BOpcodeHandler.h:7832
float const * GetViewVolume() const
Definition: BOpcodeHandler.h:4102
void SetRGB(float const rgb[])
Definition: BOpcodeHandler.h:1945
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:5791
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:3985
int m_index
Definition: BOpcodeHandler.h:1258
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:5467
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:4038
void SetSelectionSorting(int s)
Definition: BOpcodeHandler.h:4138
////
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:7417
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7457
float * GetTextLeaders()
Definition: BOpcodeHandler.h:6880
double m_dradius
Definition: BOpcodeHandler.h:6426
void GetField(float f[]) const
Definition: BOpcodeHandler.h:5034
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:3046
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:5294
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:3585
char * GetEmissionName()
Definition: BOpcodeHandler.h:1868
int GetApplicationMode() const
Definition: BOpcodeHandler.h:7319
void SetBaseColorMap(int length)
Definition: BOpcodeHandler.h:2248
void GetDUpVector(double u[]) const
Definition: BOpcodeHandler.h:5025
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:3982
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1103
void SetWindow(float const w[])
Definition: BOpcodeHandler.h:5113
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:1734
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2087
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:6399
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:5320
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:6855
float * GetValues()
Definition: BOpcodeHandler.h:2158
float * m_radii
Definition: BOpcodeHandler.h:6519
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4928
int m_mask
internal use
Definition: BOpcodeHandler.h:2020
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:4028
float GetRadius() const
Definition: BOpcodeHandler.h:6460
int GetIndex() const
Definition: BOpcodeHandler.h:4477
float m_index
internal use
Definition: BOpcodeHandler.h:1742
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:4776
int GetLodNumThresholds() const
Definition: BOpcodeHandler.h:3661
bool validate_count(int count, int limit=1<< 24) const
Definition: BOpcodeHandler.h:689
void SetLodThreshold(float r)
Definition: BOpcodeHandler.h:3650
int GetNumSphereTessellations() const
Definition: BOpcodeHandler.h:3719
float m_start_u
Definition: BOpcodeHandler.h:5716
void SetName(int length)
Definition: BOpcodeHandler.h:8100
int GetType() const
Definition: BOpcodeHandler.h:5752
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:7883
int m_mask
internal use
Definition: BOpcodeHandler.h:1714
char m_interpolation
Definition: BOpcodeHandler.h:7175
void SetNURBSCurveContinuedBudget(int b)
Definition: BOpcodeHandler.h:3563
void SetHlrOptions(int o)
Definition: BOpcodeHandler.h:3518
void SetStereoDistance(float d)
Definition: BOpcodeHandler.h:3512
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:6770
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:5166
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:7996
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:6752
char m_param_offset
Definition: BOpcodeHandler.h:7188
int m_substage
Definition: BOpcodeHandler.h:5706
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:2970
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5657
double * GetDRef2()
Definition: BOpcodeHandler.h:6722
void SetOcclusionMapChannel(int c)
Definition: BOpcodeHandler.h:2351
char const * GetString() const
Definition: BOpcodeHandler.h:6823
float * m_weights
Definition: BOpcodeHandler.h:5714
void SetFlags(int f)
Definition: BOpcodeHandler.h:923
char * GetLoggingString()
Definition: BOpcodeHandler.h:248
void SetDebug(int d)
Definition: BOpcodeHandler.h:2655
int m_lod_options_value
For internal use only.
Definition: BOpcodeHandler.h:2482
float const * GetLodThresholds() const
Definition: BOpcodeHandler.h:3663
char * GetDefinition()
Definition: BOpcodeHandler.h:7615
float GetNearLimit() const
Definition: BOpcodeHandler.h:5065
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:4126
float * m_points
Definition: BOpcodeHandler.h:7738
unsigned char m_format
Definition: BOpcodeHandler.h:7041
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:5824
int m_length
Definition: BOpcodeHandler.h:6916
oblique y setting
Definition: BOpcodeEnums.h:1141
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:3905
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7773
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:4077
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:7981
void SetViewVolume(float ax, float ay, float az, float bx, float by, float bz)
Definition: BOpcodeHandler.h:4104
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:4489
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:1821
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6229
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:978
unsigned char m_flags
Definition: BOpcodeHandler.h:6085
int GetEncoding() const
Definition: BOpcodeHandler.h:6986
int GetColorBackLockMask() const
Definition: BOpcodeHandler.h:2936
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:4444
float const * GetRef1() const
Definition: BOpcodeHandler.h:6675
int GetOcclusionMapChannel() const
Definition: BOpcodeHandler.h:2353
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3230
self-explanatory
Definition: BOpcodeEnums.h:1578
void SetDAxis(double const a[])
Definition: BOpcodeHandler.h:6471
Definition: BOpcodeHandler.h:854
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1067
char * GetSegment()
Definition: BOpcodeHandler.h:7567
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:2472
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:7322
Contains enum types which are used by BBaseOpcodeHandler.
char * m_string
Definition: BOpcodeHandler.h:7959
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:3258
char * GetString()
Definition: BOpcodeHandler.h:6825
int GetCount() const
Definition: BOpcodeHandler.h:4871
int GetNURBSSurfaceBudget() const
Definition: BOpcodeHandler.h:3569
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:6235
int GetMask() const
Definition: BOpcodeHandler.h:4018
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2452
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:7881
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:3508
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2392
int GetCompression() const
Definition: BOpcodeHandler.h:7148
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:274
void SetCaps(int f)
Definition: BOpcodeHandler.h:6486
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5090
int GetLength() const
Definition: BOpcodeHandler.h:2160
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:4712
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:5443
int m_length
Definition: BOpcodeHandler.h:6774
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:4711
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:7382
unsigned char m_encoding
Definition: BOpcodeHandler.h:6777
TK_LOD()
Definition: BOpcodeHandler.h:1520
char const * GetName(void) const
Definition: BOpcodeHandler.h:8102
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3449
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:4504
void SetAxis(float const s[])
Definition: BOpcodeHandler.h:6348
void SetValue(int m)
Definition: BOpcodeHandler.h:4302
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4264
unsigned short m_selection_bias
internal use; selection bias options
Definition: BOpcodeHandler.h:3979
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:3648
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:3120
void SetPoint(float const p[])
Definition: BOpcodeHandler.h:5469
void SetExtras(int e)
Definition: BOpcodeHandler.h:4046
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1433
char const * GetName() const
Definition: BOpcodeHandler.h:4571
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2455
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:7524
void SetCutVisualizationMode(int m)
Definition: BOpcodeHandler.h:4233
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:7372
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:7133
void SetPoints(float const p[])
Definition: BOpcodeHandler.h:5524
double * GetDPoints()
Definition: BOpcodeHandler.h:7775
void SetTransparentStyle(int s)
Definition: BOpcodeHandler.h:2640
int GetHlrLinePattern() const
Definition: BOpcodeHandler.h:3539
float const * GetSimpleReflectionPlane() const
Definition: BOpcodeHandler.h:3873
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:6473
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:6755
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:6640
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:5256
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:193
char * m_shape
for internal use only
Definition: BOpcodeHandler.h:5161
char const * GetBaseColorMap() const
Definition: BOpcodeHandler.h:2250
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4845
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:3196
char * GetView()
Definition: BOpcodeHandler.h:5081
void SetRoughnessFactor(float f)
Definition: BOpcodeHandler.h:2325
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:5269
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:2770
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3299
unsigned char m_degree
Definition: BOpcodeHandler.h:5618
int GetNumCylinderTessellations() const
Definition: BOpcodeHandler.h:3702
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1365
int GetLodMinimumTriangleCount() const
Definition: BOpcodeHandler.h:3591
char * GetSpecularName()
Definition: BOpcodeHandler.h:1823
int m_name_length
Definition: BOpcodeHandler.h:7578
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:2667
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5788
int m_reference_length
Definition: BOpcodeHandler.h:7040
void SetCutVisualizationSCale(float s)
Definition: BOpcodeHandler.h:4252
char * m_data
Definition: BOpcodeHandler.h:7912
float * m_points
internal use
Definition: BOpcodeHandler.h:5875
float const * GetVector() const
Definition: BOpcodeHandler.h:4083
float const * GetCenter() const
Definition: BOpcodeHandler.h:6333
void SetOptions(int o)
Definition: BOpcodeHandler.h:5921
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:5145
int GetOptions() const
Definition: BOpcodeHandler.h:5766
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1389
void SetDField(double const f[])
Definition: BOpcodeHandler.h:5039
struct vlist_s * m_data
Definition: BOpcodeHandler.h:7887
unsigned char m_geometry_options
For internal use only.
Definition: BOpcodeHandler.h:2565
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:7466
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:2804
void SetIndices(int count)
Definition: BOpcodeHandler.h:4818
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:2752
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:3987
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:4043
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2575
char const * GetXML() const
Definition: BOpcodeHandler.h:7939
int GetCount() const
Definition: BOpcodeHandler.h:6067
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:6759
int GetColorWindowLockMask() const
Definition: BOpcodeHandler.h:2867
void SetCylinderTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3693
char const * GetCondition() const
Definition: BOpcodeHandler.h:1424
void SetNearLimit(float l)
Definition: BOpcodeHandler.h:5060
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2462
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:5274
#define ID_Key
Definition: BStream.h:250
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:4162
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:4988
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:2612
int m_cond_allocated
Definition: BOpcodeHandler.h:7515
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:5296
unsigned char m_flags
Definition: BOpcodeHandler.h:6427
char * name
the font name
Definition: BOpcodeHandler.h:6744
double * GetDPoints()
Definition: BOpcodeHandler.h:7710
wchar_t * GetString()
Definition: BOpcodeHandler.h:8061
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:6598
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:6176
double * m_dradii
Definition: BOpcodeHandler.h:6520
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:871
char const * GetConditions() const
Definition: BOpcodeHandler.h:4641
float GetCutGeometryTolerance() const
Definition: BOpcodeHandler.h:3759
int GetCutGeometry() const
Definition: BOpcodeHandler.h:3744
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:5515
int m_index
internal use
Definition: BOpcodeHandler.h:1479
float * GetPoints()
Definition: BOpcodeHandler.h:6557
int m_simple_reflection_visibility_value
For internal use only.
Definition: BOpcodeHandler.h:2557
int GetJoinCutoffAngle() const
Definition: BOpcodeHandler.h:2677
int GetGeometry() const
Definition: BOpcodeHandler.h:1993
void SetSimpleReflectionPlane(float const p[])
Definition: BOpcodeHandler.h:3871
float m_concentration
for internal use only
Definition: BOpcodeHandler.h:5941
void SetString(int length)
Definition: BOpcodeHandler.h:6821
float * GetWeights()
Definition: BOpcodeHandler.h:5843
void SetTransform(int length)
Definition: BOpcodeHandler.h:7335
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:5254
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:2786
double const * GetDRadii() const
Definition: BOpcodeHandler.h:6590
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:3721
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3276
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:7330
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:7351
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4706
int m_margin_count
for internal use only
Definition: BOpcodeHandler.h:5163
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5800
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:3096
int GetValue() const
Definition: BOpcodeHandler.h:4023
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:5526
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7668
void SetSegment(int length)
Definition: BOpcodeHandler.h:1331
float const * GetStart() const
Definition: BOpcodeHandler.h:6453
unsigned char m_display_list_level
For internal use only.
Definition: BOpcodeHandler.h:2578
float const * GetRGB() const
Definition: BOpcodeHandler.h:1947
int GetInterpolation() const
Definition: BOpcodeHandler.h:7269
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:5685
char * GetImage()
Definition: BOpcodeHandler.h:7241
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3488
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:1804
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:4130
float GetGloss() const
Definition: BOpcodeHandler.h:1891
float GetSize() const
Definition: BOpcodeHandler.h:5241
float const * GetTarget() const
Definition: BOpcodeHandler.h:5978
TK_Color_Map()
Definition: BOpcodeHandler.h:2132
float GetSlant() const
Definition: BOpcodeHandler.h:5266
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:934
int m_size
Definition: BOpcodeHandler.h:7460
char * m_string
Definition: BOpcodeHandler.h:4620
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:3887
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:4595
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:2913
int GetType() const
Definition: BOpcodeHandler.h:6737
static void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:546
int const * GetSizes() const
Definition: BOpcodeHandler.h:4886
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4392
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:5325
void SetCutGeometry(int m)
Definition: BOpcodeHandler.h:3742
void SetBaseColorMap(char const *name)
Definition: BOpcodeHandler.h:2246
void SetEndNormal(int index, float const normal[]=0)
Definition: BOpcodeHandler.h:6609
TK_Bounding(unsigned char opcode, double center[], double radius)
Definition: BOpcodeHandler.h:5411
void GetOblique(float o[]) const
Definition: BOpcodeHandler.h:5057
char * m_debug_string
Definition: BOpcodeHandler.h:71
char m_tiling
Definition: BOpcodeHandler.h:7183
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3357
int m_cursor_count
Definition: BOpcodeHandler.h:6784
float const * GetUpVector() const
Definition: BOpcodeHandler.h:5013
void SetSimpleReflection(int m)
Definition: BOpcodeHandler.h:3859
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:4553
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:6442
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:1862
char * m_name
Definition: BOpcodeHandler.h:6911
int GetIndex() const
Definition: BOpcodeHandler.h:4578
int GetOptions() const
Definition: BOpcodeHandler.h:4695
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4793
float const * GetMinor() const
Definition: BOpcodeHandler.h:6253
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:3814
void SetDStart(double const s[])
Definition: BOpcodeHandler.h:6156
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3391
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:5151
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:5646
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:7518
char * m_name
Definition: BOpcodeHandler.h:7033
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1391
int GetUDegree() const
Definition: BOpcodeHandler.h:5833
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4325
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4425
void SetDMiddle(double const m[])
Definition: BOpcodeHandler.h:6164
unsigned short m_simple_reflection
For internal use only.
Definition: BOpcodeHandler.h:2550
static float read_float(char const *cp, char **newcpp)
for internal use only
Definition: BOpcodeHandler.h:696
int GetColorWindowLockValue() const
Definition: BOpcodeHandler.h:2878
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:4591
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2441
unsigned char * m_data
Definition: BOpcodeHandler.h:7824
int GetGeometry() const
Definition: BOpcodeHandler.h:1785
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3212
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:7282
void SetLodThresholds(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3652
float const * GetLodRatios() const
Definition: BOpcodeHandler.h:3641
void SetRectangle(float const *rect)
Definition: BOpcodeHandler.h:7649
TK_Status SetDPoints(int count, double const points[]=0)
void SetOptions(int at)
Definition: BOpcodeHandler.h:4693
Base class for shell and mesh.
Definition: BPolyhedron.h:22
int GetHSR() const
Definition: BOpcodeHandler.h:2632
char m_options
Definition: BOpcodeHandler.h:7670
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:4842
int GetGreekingMode() const
Definition: BOpcodeHandler.h:5306
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:4852
int GetExtras() const
Definition: BOpcodeHandler.h:4048
void SetDCenter(double const c[])
Definition: BOpcodeHandler.h:6181
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:4069
void SetCompression(int c)
Definition: BOpcodeHandler.h:7146
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2025
char * m_reference
Definition: BOpcodeHandler.h:7034
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3864
extends font options to a second byte
Definition: BOpcodeEnums.h:1164
int GetHlrOptions() const
Definition: BOpcodeHandler.h:3527
void SetRenderer(int r)
Definition: BOpcodeHandler.h:5310
int m_name_length
Definition: BOpcodeHandler.h:6914
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4656
TK_Geometry_Options()
Definition: BOpcodeHandler.h:4179
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:1860
char * m_bytes
Definition: BOpcodeHandler.h:6913
int m_vertex_displacement
For internal use only.
Definition: BOpcodeHandler.h:2437
void SetHardEdgeAngle(int m)
Definition: BOpcodeHandler.h:3731
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:2988
int GetMask(int index=0) const
Definition: BOpcodeHandler.h:2622
float const * GetLodCutoffs() const
Definition: BOpcodeHandler.h:3681
float GetStereoSeparation() const
Definition: BOpcodeHandler.h:3510
Handles the TKE_Start_User_Data opcode.
Definition: BOpcodeHandler.h:7821
float m_size
for internal use only
Definition: BOpcodeHandler.h:5147
float * GetKnots()
Definition: BOpcodeHandler.h:5774
int m_length
internal use
Definition: BOpcodeHandler.h:2120
float GetCutVisualizationAlpha() const
Definition: BOpcodeHandler.h:4249
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:7217
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:6912
int GetShadowMap() const
Definition: BOpcodeHandler.h:3845
int GetLoops() const
Definition: BOpcodeHandler.h:7792
TK_Window()
Definition: BOpcodeHandler.h:5097
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:3080
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:4524
int GetCulling() const
Definition: BOpcodeHandler.h:4053
float const * GetWeights() const
Definition: BOpcodeHandler.h:5768
int m_radius_count
Definition: BOpcodeHandler.h:6518
void SetSimpleShadowResolution(int m)
Definition: BOpcodeHandler.h:3801
void SetIndex(int index)
Definition: BOpcodeHandler.h:1407
int GetTargetVersion() const
Definition: BStreamFileToolkit.h:987
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6261
void SetDRef2(double const r[])
Definition: BOpcodeHandler.h:6718
TK_Line_Style()
Definition: BOpcodeHandler.h:7585
Definition: BOpcodeHandler.h:4589
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:6391
float * GetRef1()
Definition: BOpcodeHandler.h:6677
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:2484
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:5299
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:3976
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:5284
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6844
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1034
int GetPreference() const
Definition: BOpcodeHandler.h:5333
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6198
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5003
unsigned short * m_string
Definition: BOpcodeHandler.h:4755
static void fix_out(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:591
void SetColorWindowContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3311
void SetPreferences(int r1, int r2)
Definition: BOpcodeHandler.h:5336
TK_Texture()
Definition: BOpcodeHandler.h:7199
char * m_gooch_color_map_segment
For internal use only.
Definition: BOpcodeHandler.h:2525
void SetColorEdgeContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3380
int GetColorVertexContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3454
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1047
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6480
int m_allocated
Definition: BOpcodeHandler.h:7997
static TK_Status PutData(BStreamFileToolkit &tk, double const *d, int n)
Definition: BOpcodeHandler.h:417
int GetColorMarkerContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3431
float m_gooch_diffuse_weight
For internal use only.
Definition: BOpcodeHandler.h:2524
void SetColorEdgeContrastLockMask(int m)
Definition: BOpcodeHandler.h:2977
int GetSimpleShadowResolution() const
Definition: BOpcodeHandler.h:3803
void SetAmbientUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:3915
float const * GetPlanes() const
Definition: BOpcodeHandler.h:6062
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:7854
int GetColorEdgeLockMask() const
Definition: BOpcodeHandler.h:2775
extended bits for color
Definition: BOpcodeEnums.h:192
void SetColorWindowLockMask(int m)
Definition: BOpcodeHandler.h:2862
int m_total
Definition: BOpcodeHandler.h:7736
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:5778
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:3837
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5592
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:2919
char * GetName()
Definition: BOpcodeHandler.h:7438
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:6103
char const * GetLookup() const
Definition: BOpcodeHandler.h:6979
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:3936
void SetIndex(int i)
Definition: BOpcodeHandler.h:2056
int m_substage
Definition: BOpcodeHandler.h:6794
int m_options
internal use
Definition: BOpcodeHandler.h:1455
int GetUnits() const
Definition: BOpcodeHandler.h:4511
char * GetComment()
Definition: BOpcodeHandler.h:992
short color_line_mask
For internal use only.
Definition: BOpcodeHandler.h:1065
int GetGeometryOptionsMask() const
Definition: BOpcodeHandler.h:3728
extra item for color; refer to ::HC_Set_Color for a description
Definition: BOpcodeEnums.h:215
int GetLayout() const
Definition: BOpcodeHandler.h:5353
void SetSimpleShadowPlane(float const p[])
Definition: BOpcodeHandler.h:3824
float const * GetPoints() const
Definition: BOpcodeHandler.h:6555
int GetGeometry() const
Definition: BOpcodeHandler.h:2053
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:6168
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:6194
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:3127
self-explanatory
Definition: BOpcodeEnums.h:1302
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:2781
void SetDisplayListLevel(int m)
Definition: BOpcodeHandler.h:3782
TK_URL()
Definition: BOpcodeHandler.h:7963
float const * GetDefinition() const
Definition: BOpcodeHandler.h:7494
unsigned char Opcode() const
Definition: BOpcodeHandler.h:163
int m_allocated
Definition: BOpcodeHandler.h:7958
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3710
void SetImage(char const *image)
Definition: BOpcodeHandler.h:7235
int GetLength()
Definition: BOpcodeHandler.h:4686
float const * GetPoints() const
Definition: BOpcodeHandler.h:5903
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:7277
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1477
void SetMinor(float const m[])
Definition: BOpcodeHandler.h:6251
double * GetDPoints()
Definition: BOpcodeHandler.h:6580
char const * GetOptions() const
Definition: BOpcodeHandler.h:4737
float * GetOrigin()
Definition: BOpcodeHandler.h:6666
void SetColorMarkerContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3437
TK_Default()
Definition: BOpcodeHandler.h:837
int GetBufferSizeLimit() const
Definition: BOpcodeHandler.h:3504
int GetOptions() const
Definition: BOpcodeHandler.h:7143
char const * GetReference() const
Definition: BOpcodeHandler.h:7108
float const * GetRadii() const
Definition: BOpcodeHandler.h:6567
short m_fbe_mask
For internal use only.
Definition: BOpcodeHandler.h:2581
void SetColorFaceForcedLockMask(int m)
Definition: BOpcodeHandler.h:3150
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:6871
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1296
char * GetDefinition()
Definition: BOpcodeHandler.h:7447
int m_count
for internal use only
Definition: BOpcodeHandler.h:4840
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:7317
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:5933
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:4949
char const * GetStyle() const
Definition: BOpcodeHandler.h:5234
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:5315
void SetMirror(float const rgb[])
Definition: BOpcodeHandler.h:1828
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:1815
int GetParameterOffset() const
Definition: BOpcodeHandler.h:7324
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:6147
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:1832
bool GetFollow()
Definition: BOpcodeHandler.h:1367
char * m_string
Definition: BOpcodeHandler.h:6776
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:3850
TK_Text_Font()
Definition: BOpcodeHandler.h:5181
int GetFormat() const
Definition: BOpcodeHandler.h:7396
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:3062
char const * GetTransform() const
Definition: BOpcodeHandler.h:7337
int m_length
Definition: BOpcodeHandler.h:4754
float * m_values
internal use
Definition: BOpcodeHandler.h:2122
void SetSize(float s)
Definition: BOpcodeHandler.h:5239
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4324
void SetOptions(int length)
Definition: BOpcodeHandler.h:4735
int m_cond_length
Definition: BOpcodeHandler.h:1384
char * m_name
Definition: BOpcodeHandler.h:7461
char const * GetName() const
Definition: BOpcodeHandler.h:7545
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:4135
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:4118
int const * GetIndices() const
Definition: BOpcodeHandler.h:4822
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:3039
float GetExtraSpace() const
Definition: BOpcodeHandler.h:5276
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:6703
void SetLodMaxDegree(int v)
Definition: BOpcodeHandler.h:3601
void SetSegment(int length)
Definition: BOpcodeHandler.h:1203
float m_simple_reflection_hither
For internal use only.
Definition: BOpcodeHandler.h:2554
float const * GetMirror() const
Definition: BOpcodeHandler.h:1834
void SetSimpleShadow(int m)
Definition: BOpcodeHandler.h:3787
void SetNURBSCurveBudget(int b)
Definition: BOpcodeHandler.h:3559
int GetLockMask() const
Definition: BOpcodeHandler.h:2690
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1773
float const * GetValues() const
Definition: BOpcodeHandler.h:2156
int GetAction() const
Definition: BOpcodeHandler.h:4691
float const * GetScreenRange() const
Definition: BOpcodeHandler.h:3910
extra item for visibility; refer to ::HC_Set_Visibility for a description
Definition: BOpcodeEnums.h:257
void SetCutGeometryLevel(int m)
Definition: BOpcodeHandler.h:3747
virtual TK_Status Error(char const *msg=0) const
unsigned char m_depth_peeling_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2572
char * GetNormalMap()
Definition: BOpcodeHandler.h:2261
float const * GetPoint() const
Definition: BOpcodeHandler.h:5471
void SetIndex(int i)
Definition: BOpcodeHandler.h:4576
int m_value
internal use
Definition: BOpcodeHandler.h:3970
int GetOptions() const
Definition: BOpcodeHandler.h:5483
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:2816
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:4978
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5495
float m_slant
for internal use only
Definition: BOpcodeHandler.h:5150
int GetTechnology() const
Definition: BOpcodeHandler.h:2647
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:5719
void SetDown(int m)
Definition: BOpcodeHandler.h:4359
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7387
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6375
float const * GetTarget() const
Definition: BOpcodeHandler.h:4993
int GetCutVisualizationMask() const
Definition: BOpcodeHandler.h:4230
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:2947
char * m_string
Definition: BOpcodeHandler.h:4661
int m_substage
Definition: BOpcodeHandler.h:7172
void SetColorTextForcedLockValue(int v)
Definition: BOpcodeHandler.h:3253
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:5244
void SetEmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1856
void SetLodRatio(float r)
Definition: BOpcodeHandler.h:3628
void SetDPoint(double const p[])
Definition: BOpcodeHandler.h:5476
TK_Visibility(void)
Definition: BOpcodeHandler.h:4271
int m_control_point_count
Definition: BOpcodeHandler.h:5619
char m_index
internal use
Definition: BOpcodeHandler.h:4461
int GetColorLockMask() const
Definition: BOpcodeHandler.h:2729
int GetTotal() const
Definition: BOpcodeHandler.h:7790
char * GetReference()
Definition: BOpcodeHandler.h:7110
self-explanatory
Definition: BOpcodeEnums.h:269
void SetSimpleShadowColor(float const rgb[])
Definition: BOpcodeHandler.h:3832
void SetColorLineContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3403
int m_related
internal use
Definition: BOpcodeHandler.h:3972
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:3565
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4841
void SetUp(int m)
Definition: BOpcodeHandler.h:4370
void SetMask(int m)
Definition: BOpcodeHandler.h:5196
void SetGeometryOptionsMask(int m)
Definition: BOpcodeHandler.h:3726
int GetColorMarkerLockValue() const
Definition: BOpcodeHandler.h:2832
float GetAlphaFactor() const
Definition: BOpcodeHandler.h:2337
Lock_Masks m_forced
For internal use only.
Definition: BOpcodeHandler.h:2442
int GetLength()
Definition: BOpcodeHandler.h:4741
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:7312
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6127
int GetCount() const
Definition: BOpcodeHandler.h:6596
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7126
float const * GetKnots() const
Definition: BOpcodeHandler.h:5664
char * m_camera
Definition: BOpcodeHandler.h:7166
int m_image_length
Definition: BOpcodeHandler.h:7169
unsigned char const * GetTextLeaderFlags() const
Definition: BOpcodeHandler.h:6882
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:1875
TK_Selectability(void)
Definition: BOpcodeHandler.h:4330
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:3184
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6477
int m_length
Definition: BOpcodeHandler.h:7957
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:2547
float m_hlr_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2450
int m_tmp
Definition: BOpcodeHandler.h:6795
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6210
short m_fbe_value
For internal use only.
Definition: BOpcodeHandler.h:2582
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:6714
float const * GetWeights() const
Definition: BOpcodeHandler.h:5841
double const * GetDPosition() const
Definition: BOpcodeHandler.h:4983
int GetLodOptionsMask() const
Definition: BOpcodeHandler.h:3579
float horizontal_offset
offset, positive or negative, from the standard position. units are specified separately in horizonta...
Definition: BOpcodeHandler.h:6749
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:1723
self-explanatory
Definition: BOpcodeEnums.h:268
Definition: BOpcodeHandler.h:6743
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:6380
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:6266
void SetForcedLockMask(int m)
Definition: BOpcodeHandler.h:3091
void SetSpecular(float r, float g, float b)
Definition: BOpcodeHandler.h:1811
void SetColorMarkerLockValue(int v)
Definition: BOpcodeHandler.h:2827
int GetGeneralDisplacement() const
Definition: BOpcodeHandler.h:2672
float const * GetPlane() const
Definition: BOpcodeHandler.h:6057
int * m_lengths
Definition: BOpcodeHandler.h:7737
int m_cond_allocated
Definition: BOpcodeHandler.h:1293
int const * GetPreferences() const
Definition: BOpcodeHandler.h:5338
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3304
void SetTransforms(int t)
Definition: BOpcodeHandler.h:5289
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:3093
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6638
char * GetCamera()
Definition: BOpcodeHandler.h:7250
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:6196
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:440
refer to ::HC_Set_Heuristics
Definition: BOpcodeEnums.h:909
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3350
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:6746
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:5251
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:7520
float GetMaxDistance() const
Definition: BOpcodeHandler.h:4099
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:2503
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:6726
int m_length
Definition: BOpcodeHandler.h:4660
indicates that the 2nd byte should be written
Definition: BOpcodeEnums.h:781
char * m_segment
Definition: BOpcodeHandler.h:7512
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:2570
float m_cut_geometry_edge_weight
for internal use only.
Definition: BOpcodeHandler.h:2533
int GetColorWindowContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3316
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6331
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:1836
virtual TK_Status Write(BStreamFileToolkit &tk)=0
void SetOptions(int opt)
Definition: BOpcodeHandler.h:5126
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:3614
int m_isoline_position_count
for internal use only.
Definition: BOpcodeHandler.h:2466
void SetDField(double w, double h)
Definition: BOpcodeHandler.h:5037
float * GetPoints()
Definition: BOpcodeHandler.h:5656
Flags
Definition: BOpcodeHandler.h:6405
short color_simple_reflection_mask
For internal use only.
Definition: BOpcodeHandler.h:1091
void SetColorTextLockMask(int m)
Definition: BOpcodeHandler.h:2839
extended bit
Definition: BOpcodeEnums.h:829
void SetLodTolerance(float v)
Definition: BOpcodeHandler.h:3605
int GetTiling() const
Definition: BOpcodeHandler.h:7309
bool GetLogging() const
Definition: BStreamFileToolkit.h:1006
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5957
void SetOptions(int o)
Definition: BOpcodeHandler.h:5854
float GetHlrFaceDisplacement() const
Definition: BOpcodeHandler.h:3535
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:7092
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:4071
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:7314
float const * GetMajor() const
Definition: BOpcodeHandler.h:6244
void SetDPlane(double const p[])
Definition: BOpcodeHandler.h:6054
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:3977
Handles the TKE_PBR opcode.
Definition: BOpcodeHandler.h:2191
int GetDegree() const
Definition: BOpcodeHandler.h:5760
float * m_knots
Definition: BOpcodeHandler.h:5624
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:4065
char m_options
internal use
Definition: BOpcodeHandler.h:5877
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:4968
static TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:304
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:2660
char * GetBytes()
Definition: BOpcodeHandler.h:6963
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:4899
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:3541
int GetForceDefer() const
Definition: BOpcodeHandler.h:4145
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:5754
extended bit for HLR suboptions; refer to ::HC_Set_Rendering_Options for description ...
Definition: BOpcodeEnums.h:669
char * m_string
Definition: BOpcodeHandler.h:4709
void SetColorTextContrastLockMask(int m)
Definition: BOpcodeHandler.h:3069
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2067
int m_mask
internal use
Definition: BOpcodeHandler.h:3969
void SetImageTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3931
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:7413
double const * GetDMajor() const
Definition: BOpcodeHandler.h:6272
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1080
int GetSelectionSorting() const
Definition: BOpcodeHandler.h:4140
unsigned char m_hlr_threshold_units
for internal use only.
Definition: BOpcodeHandler.h:2457
void SetType(int t)
Definition: BOpcodeHandler.h:6949
char const * GetView() const
Definition: BOpcodeHandler.h:5079
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:5148
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:6692
void SetSimpleShadowPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3817
void SetFormat(int f)
Definition: BOpcodeHandler.h:2146
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6327
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:5474
Capping_Options
Definition: BOpcodeHandler.h:6493
char * GetOptions()
Definition: BOpcodeHandler.h:4739
char * GetMirrorName()
Definition: BOpcodeHandler.h:1838
char const * GetString() const
Definition: BOpcodeHandler.h:8020
float const * GetOblique() const
Definition: BOpcodeHandler.h:5055
entity is double precision
Definition: BStream.h:353
void SetOcclusionMap(int length)
Definition: BOpcodeHandler.h:2293
double * GetDMatrix()
Definition: BOpcodeHandler.h:4450
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:3178
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:3683
bool m_jpeg_native
Definition: BOpcodeHandler.h:7050
float const * GetValue() const
Definition: BOpcodeHandler.h:2007
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:2684
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4284
float const * GetBaseColorFactor() const
Definition: BOpcodeHandler.h:2312
void SetColorVertexLockValue(int v)
Definition: BOpcodeHandler.h:2965
float GetOcclusionFactor() const
Definition: BOpcodeHandler.h:2332
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6841
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4326
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3829
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6257
void SetMask(int m)
Definition: BOpcodeHandler.h:4196
int GetLodClamp() const
Definition: BOpcodeHandler.h:3599
void SetRGB(float r, float g, float b)
Definition: BOpcodeHandler.h:1943
void SetDOrtho(double const s[])
Definition: BOpcodeHandler.h:6397