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++ = (unsigned 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 
2365 class BBINFILETK_API TK_Animation : public BBaseOpcodeHandler {
2366 protected:
2368  char * m_name;
2369 
2370 public:
2373  : BBaseOpcodeHandler(TKE_Animation), m_name_length(0), m_name(0) {}
2374  ~TK_Animation();
2375 
2378  TK_Status Clone(BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2379 
2380  TK_Status ReadAscii(BStreamFileToolkit & tk);
2381  TK_Status WriteAscii(BStreamFileToolkit & tk);
2382 
2383  void Reset();
2384 
2386  void SetName(char const * name);
2388  void SetName(int length);
2390  char const * GetName() const { return m_name; }
2392  char * GetName() { return m_name; }
2393 };
2394 
2397 
2403 class BBINFILETK_API TK_Callback : public BBaseOpcodeHandler {
2404  protected:
2405  int m_length;
2406  char * m_string;
2409  void set_callback (char const * callback);
2410 
2411  void set_callback (int length);
2412 
2413  public:
2415  TK_Callback () : BBaseOpcodeHandler (TKE_Callback), m_length (0), m_string (0) {}
2416  ~TK_Callback();
2417 
2420  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2421 
2422  TK_Status ReadAscii (BStreamFileToolkit & tk);
2423  TK_Status WriteAscii (BStreamFileToolkit & tk);
2424 
2425  void Reset ();
2426 
2428  void SetCallback (char const * callback) { set_callback (callback); }
2430  void SetCallback (int length) { set_callback (length); }
2432  char const * GetCallback () const { return m_string; }
2434  char * GetCallback () { return m_string; }
2435 };
2436 
2438 
2439 
2440 #if 0
2441 class BBINFILETK_API TK_Radiosity_RayTrace_Options : public BBaseOpcodeHandler {
2442  protected:
2443 
2444  public:
2445  TK_Radiosity_RayTrace_Options () : BBaseOpcodeHandler (TKE_Radiosity_RayTrace_Options) {}
2446  ~TK_Radiosity_RayTrace_Options () {}
2447 
2450 
2451  TK_Status ReadAscii (BStreamFileToolkit & tk);
2452  TK_Status WriteAscii (BStreamFileToolkit & tk);
2453 };
2454 #endif
2455 
2456 
2458 
2464 class BBINFILETK_API TK_Rendering_Options : public BBaseOpcodeHandler {
2465  protected:
2466  int m_mask[3];
2467  int m_value[3];
2468 
2469  unsigned char m_hsr;
2470  unsigned char m_tq;
2471  int m_debug;
2474 
2475  float m_fog_limits[2];
2476 
2479 
2480  unsigned char m_buffer_options_mask;
2481  unsigned char m_buffer_options_value;
2483 
2489  float m_hlr_color[3];
2491  unsigned char m_hlr_weight_units;
2493  unsigned char m_hlr_threshold_units;
2494  unsigned char m_hlr_hsr_algorithm;
2495 
2496  unsigned short m_contour_options;
2497  unsigned short m_isoline_options;
2510  unsigned char * m_isoline_weights_unit;
2511 
2512  unsigned short m_tint_options;
2513  float m_tint_color[3];
2514  float m_tint_range[2];
2516 
2521  float m_ratio[8];
2523  float m_threshold[8];
2526  unsigned char m_clamp;
2527  unsigned char m_num_levels;
2529  float m_tolerance;
2530  float m_bounding[6];
2532  float m_cutoff[8];
2533  unsigned char m_heuristic;
2534  unsigned char m_fallback;
2535 
2549 
2552 
2553  unsigned char m_tessellations;
2555  char m_cylinder[8];
2557  char m_sphere[8];
2558 
2559  float m_gooch_color_range[2];
2563  unsigned short m_transparency_options;
2564 
2565  unsigned char m_cut_geometry;
2566  unsigned char m_cut_geometry_level;
2567  unsigned char m_cut_geometry_match;
2568  unsigned char m_cut_geometry_usage;
2574 
2575  unsigned short m_simple_shadow;
2576  unsigned char m_simple_shadow_blur;
2578  float m_simple_shadow_plane[4];
2579  float m_simple_shadow_light[3];
2580  float m_simple_shadow_color[3];
2581  float m_simple_shadow_opacity;
2582 
2583  unsigned short m_shadow_map;
2584  unsigned short m_shadow_map_resolution;
2585  unsigned char m_shadow_map_samples;
2586 
2587  unsigned short m_simple_reflection;
2588  float m_simple_reflection_plane[4];
2595 
2596  float m_depth_range[2];
2597  float m_screen_range[8];
2598  float m_ambient_up_vector[3];
2599  float m_image_scale[2];
2600  unsigned short m_mask_transform;
2601 
2602  unsigned char m_geometry_options;
2603  float m_dihedral;
2604 
2605  float m_image_tint_color[3];
2606  float m_texture_tint_color[3];
2607  unsigned char m_depth_peeling_layers;
2610 
2615  unsigned char m_display_list_level;
2616  unsigned char m_antialias;
2617 
2618  short m_fbe_mask;
2619  short m_fbe_value;
2620 
2621  float m_eye_dome_lighting_back_color[3];
2622 
2625 
2627 
2628  int m_extra;
2629 
2630 #if 0
2631  TK_Radiosity_RayTrace_Options *m_rrt;
2632 #endif
2633 
2634  public:
2638 
2641  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
2642 
2643  TK_Status ReadAscii (BStreamFileToolkit & tk);
2644  TK_Status WriteAscii (BStreamFileToolkit & tk);
2645 
2646  void Reset ();
2647 
2649  void SetMask (int m0, int m1=0, int m2=0) {
2650  m_mask[0] = m0;
2651  m_mask[1] = m1;
2652  m_mask[2] = m2;
2653  if (m2 != 0)
2654  m_mask[1] |= TKO_Rendo_Extended;
2655  if (m1 != 0)
2656  m_mask[0] |= TKO_Rendo_Extended;
2657  }
2659  int GetMask (int index=0) const { return m_mask[index]; }
2660 
2662  void SetValue (int v0, int v1=0, int v2=0) { m_value[0] = v0; m_value[1] = v1; m_value[2] = v2; }
2664  int GetValue (int index=0) const { return m_value[index]; }
2665 
2667  void SetHSR (int h) { m_hsr &= 0xF0; m_hsr |= (unsigned char)h & 0x0F; }
2669  int GetHSR () const { return (int)(m_hsr & 0x0F); }
2670 
2672  void SetTransparentHSR (int t) { m_hsr &= 0x0F; m_hsr |= (unsigned char)t << 4; }
2674  int GetTransparentHSR () const { return (int)(m_hsr >> 4); }
2675 
2677  void SetTransparentStyle (int s) { m_transparency_options = (unsigned short)s; }
2679  int GetTransparentStyle () const { return (int)m_transparency_options; }
2680 
2682  void SetTechnology (int t) { m_tq &= 0xF0; m_tq |= (unsigned char)t & 0x0F; }
2684  int GetTechnology () const { return (int)(m_tq & 0x0F); }
2685 
2687  void SetQuantization (int q) { m_tq &= 0x0F; m_tq |= (unsigned char)q << 4; }
2689  int GetQuantization () const { return (int)(m_tq >> 4); }
2690 
2692  void SetDebug (int d) { m_debug = d; }
2694  int GetDebug () const { return m_debug; }
2695 
2697  void SetFaceDisplacement (int d) { m_face_displacement = d; }
2699  int GetFaceDisplacement () const { return m_face_displacement; }
2700 
2702  void SetVertexDisplacement (int d) { m_vertex_displacement = d; }
2704  int GetVertexDisplacement () const { return m_vertex_displacement; }
2705 
2707  void SetGeneralDisplacement (int d) { m_general_displacement = d; }
2709  int GetGeneralDisplacement () const { return m_general_displacement; }
2710 
2712  void SetJoinCutoffAngle (int d) { m_join_cutoff_angle = d; }
2714  int GetJoinCutoffAngle () const { return m_join_cutoff_angle; }
2715 
2717  void SetFogLimits (float n, float f) { m_fog_limits[0] = n; m_fog_limits[1] = f; }
2719  void SetFogLimits (float const l[]) { SetFogLimits (l[0], l[1]); }
2721  float const * GetFogLimits () const { return m_fog_limits; }
2722 
2723 
2725  void SetLockMask (int m) { m_lock.mask = m; }
2727  int GetLockMask () const { return m_lock.mask; }
2728 
2730  void SetLockValue (int v) { m_lock.value = v; }
2732  int GetLockValue () const { return m_lock.value; }
2733 
2738  void SetVisibilityLockMask (int m) { m_lock.visibility_mask = m; }
2743  int GetVisibilityLockMask () const { return m_lock.visibility_mask; }
2744 
2749  void SetVisibilityLockValue (int v) { m_lock.visibility_value = v; }
2754  int GetVisibilityLockValue () const { return m_lock.visibility_value; }
2755 
2756 
2761  void SetColorLockMask (int m) { m_lock.color_mask = m; }
2766  int GetColorLockMask () const { return m_lock.color_mask; }
2767 
2772  void SetColorLockValue (int v) { m_lock.color_value = v; }
2777  int GetColorLockValue () const { return m_lock.color_value; }
2778 
2779 
2784  void SetColorFaceLockMask (int m) { m_lock.color_face_mask = (short)m; }
2789  int GetColorFaceLockMask () const { return m_lock.color_face_mask; }
2790 
2795  void SetColorFaceLockValue (int v) { m_lock.color_face_value = (short)v; }
2800  int GetColorFaceLockValue () const { return m_lock.color_face_value; }
2801 
2802 
2807  void SetColorEdgeLockMask (int m) { m_lock.color_edge_mask = (short)m; }
2812  int GetColorEdgeLockMask () const { return m_lock.color_edge_mask; }
2813 
2818  void SetColorEdgeLockValue (int v) { m_lock.color_edge_value = (short)v; }
2823  int GetColorEdgeLockValue () const { return m_lock.color_edge_value; }
2824 
2825 
2830  void SetColorLineLockMask (int m) { m_lock.color_line_mask = (short)m; }
2835  int GetColorLineLockMask () const { return m_lock.color_line_mask; }
2836 
2841  void SetColorLineLockValue (int v) { m_lock.color_line_value = (short)v; }
2846  int GetColorLineLockValue () const { return m_lock.color_line_value; }
2847 
2848 
2853  void SetColorMarkerLockMask (int m) { m_lock.color_marker_mask = (short)m; }
2858  int GetColorMarkerLockMask () const { return m_lock.color_marker_mask; }
2859 
2864  void SetColorMarkerLockValue (int v) { m_lock.color_marker_value = (short)v; }
2869  int GetColorMarkerLockValue () const { return m_lock.color_marker_value; }
2870 
2871 
2876  void SetColorTextLockMask (int m) { m_lock.color_text_mask = (short)m; }
2881  int GetColorTextLockMask () const { return m_lock.color_text_mask; }
2882 
2887  void SetColorTextLockValue (int v) { m_lock.color_text_value = (short)v; }
2892  int GetColorTextLockValue () const { return m_lock.color_text_value; }
2893 
2894 
2899  void SetColorWindowLockMask (int m) { m_lock.color_window_mask = (short)m; }
2904  int GetColorWindowLockMask () const { return m_lock.color_window_mask; }
2905 
2910  void SetColorWindowLockValue (int v) { m_lock.color_window_value = (short)v; }
2915  int GetColorWindowLockValue () const { return m_lock.color_window_value; }
2916 
2917 
2922  void SetColorFaceContrastLockMask (int m) { m_lock.color_face_contrast_mask = (short)m; }
2928 
2933  void SetColorFaceContrastLockValue (int v) { m_lock.color_face_contrast_value = (short)v; }
2939 
2940 
2951 
2962 
2963 
2968  void SetColorBackLockMask (int m) { m_lock.color_back_mask = (short)m; }
2973  int GetColorBackLockMask () const { return m_lock.color_back_mask; }
2974 
2979  void SetColorBackLockValue (int v) { m_lock.color_back_value = (short)v; }
2984  int GetColorBackLockValue () const { return m_lock.color_back_value; }
2985 
2986 
2991  void SetColorVertexLockMask (int m) { m_lock.color_vertex_mask = (short)m; }
2996  int GetColorVertexLockMask () const { return m_lock.color_vertex_mask; }
2997 
3002  void SetColorVertexLockValue (int v) { m_lock.color_vertex_value = (short)v; }
3007  int GetColorVertexLockValue () const { return m_lock.color_vertex_value; }
3008 
3009 
3014  void SetColorEdgeContrastLockMask (int m) { m_lock.color_edge_contrast_mask = (short)m; }
3020 
3025  void SetColorEdgeContrastLockValue (int v) { m_lock.color_edge_contrast_value = (short)v; }
3031 
3032 
3037  void SetColorLineContrastLockMask (int m) { m_lock.color_line_contrast_mask = (short)m; }
3043 
3048  void SetColorLineContrastLockValue (int v) { m_lock.color_line_contrast_value = (short)v; }
3054 
3055 
3066 
3077 
3078 
3089 
3100 
3101 
3106  void SetColorTextContrastLockMask (int m) { m_lock.color_text_contrast_mask = (short)m; }
3112 
3117  void SetColorTextContrastLockValue (int v) { m_lock.color_text_contrast_value = (short)v; }
3123 
3124 
3125 
3126 
3128  void SetForcedLockMask (int m) { m_forced.mask = m; }
3130  int GetForcedLockMask () const { return m_forced.mask; }
3131 
3133  void SetForcedLockValue (int v) { m_forced.value = v; }
3135  int GetForcedLockValue () const { return m_forced.value; }
3136 
3141  void SetVisibilityForcedLockMask (int m) { m_forced.visibility_mask = m; }
3146  int GetVisibilityForcedLockMask () const { return m_forced.visibility_mask; }
3147 
3152  void SetVisibilityForcedLockValue (int v) { m_forced.visibility_value = v; }
3157  int GetVisibilityForcedLockValue () const { return m_forced.visibility_value; }
3158 
3159 
3164  void SetColorForcedLockMask (int m) { m_forced.color_mask = m; }
3169  int GetColorForcedLockMask () const { return m_forced.color_mask; }
3170 
3175  void SetColorForcedLockValue (int v) { m_forced.color_value = v; }
3180  int GetColorForcedLockValue () const { return m_forced.color_value; }
3181 
3182 
3187  void SetColorFaceForcedLockMask (int m) { m_forced.color_face_mask = (short)m; }
3192  int GetColorFaceForcedLockMask () const { return m_forced.color_face_mask; }
3193 
3198  void SetColorFaceForcedLockValue (int v) { m_forced.color_face_value = (short)v; }
3203  int GetColorFaceForcedLockValue () const { return m_forced.color_face_value; }
3204 
3205 
3210  void SetColorEdgeForcedLockMask (int m) { m_forced.color_edge_mask = (short)m; }
3215  int GetColorEdgeForcedLockMask () const { return m_forced.color_edge_mask; }
3216 
3221  void SetColorEdgeForcedLockValue (int v) { m_forced.color_edge_value = (short)v; }
3226  int GetColorEdgeForcedLockValue () const { return m_forced.color_edge_value; }
3227 
3228 
3233  void SetColorLineForcedLockMask (int m) { m_forced.color_line_mask = (short)m; }
3238  int GetColorLineForcedLockMask () const { return m_forced.color_line_mask; }
3239 
3244  void SetColorLineForcedLockValue (int v) { m_forced.color_line_value = (short)v; }
3249  int GetColorLineForcedLockValue () const { return m_forced.color_line_value; }
3250 
3251 
3256  void SetColorMarkerForcedLockMask (int m) { m_forced.color_marker_mask = (short)m; }
3261  int GetColorMarkerForcedLockMask () const { return m_forced.color_marker_mask; }
3262 
3267  void SetColorMarkerForcedLockValue (int v) { m_forced.color_marker_value = (short)v; }
3272  int GetColorMarkerForcedLockValue () const { return m_forced.color_marker_value; }
3273 
3274 
3279  void SetColorTextForcedLockMask (int m) { m_forced.color_text_mask = (short)m; }
3284  int GetColorTextForcedLockMask () const { return m_forced.color_text_mask; }
3285 
3290  void SetColorTextForcedLockValue (int v) { m_forced.color_text_value = (short)v; }
3295  int GetColorTextForcedLockValue () const { return m_forced.color_text_value; }
3296 
3297 
3302  void SetColorWindowForcedLockMask (int m) { m_forced.color_window_mask = (short)m; }
3307  int GetColorWindowForcedLockMask () const { return m_forced.color_window_mask; }
3308 
3313  void SetColorWindowForcedLockValue (int v) { m_forced.color_window_value = (short)v; }
3318  int GetColorWindowForcedLockValue () const { return m_forced.color_window_value; }
3319 
3320 
3325  void SetColorFaceContrastForcedLockMask (int m) { m_forced.color_face_contrast_mask = (short)m; }
3331 
3342 
3343 
3354 
3365 
3366 
3371  void SetColorBackForcedLockMask (int m) { m_forced.color_back_mask = (short)m; }
3376  int GetColorBackForcedLockMask () const { return m_forced.color_back_mask; }
3377 
3382  void SetColorBackForcedLockValue (int v) { m_forced.color_back_value = (short)v; }
3387  int GetColorBackForcedLockValue () const { return m_forced.color_back_value; }
3388 
3389 
3394  void SetColorVertexForcedLockMask (int m) { m_forced.color_vertex_mask = (short)m; }
3399  int GetColorVertexForcedLockMask () const { return m_forced.color_vertex_mask; }
3400 
3405  void SetColorVertexForcedLockValue (int v) { m_forced.color_vertex_value = (short)v; }
3410  int GetColorVertexForcedLockValue () const { return m_forced.color_vertex_value; }
3411 
3412 
3417  void SetColorEdgeContrastForcedLockMask (int m) { m_forced.color_edge_contrast_mask = (short)m; }
3423 
3434 
3435 
3440  void SetColorLineContrastForcedLockMask (int m) { m_forced.color_line_contrast_mask = (short)m; }
3446 
3457 
3458 
3469 
3480 
3481 
3492 
3503 
3504 
3509  void SetColorTextContrastForcedLockMask (int m) { m_forced.color_text_contrast_mask = (short)m; }
3515 
3526 
3527 
3528 
3529 
3531  void SetBufferOptionsMask (int v) { m_buffer_options_mask = (unsigned char)v; }
3533  int GetBufferOptionsMask () const { return m_buffer_options_mask; }
3535  void SetBufferOptionsValue (int v) { m_buffer_options_value = (unsigned char) v; }
3537  int GetBufferOptionsValue () const { return m_buffer_options_value; }
3539  void SetBufferSizeLimit (int l) { m_buffer_size_limit = l; }
3541  int GetBufferSizeLimit () const { return m_buffer_size_limit; }
3542 
3543 
3545  void SetStereoSeparation (float s) { m_stereo_separation = s; }
3547  float GetStereoSeparation () const { return m_stereo_separation; }
3549  void SetStereoDistance (float d) { m_stereo_distance = d; }
3551  float GetStereoDistance () const { return m_stereo_distance; }
3552 
3553 
3555  void SetHlrOptions (int o) {
3556  m_hlr_options = o;
3557  if ((o & TKO_Hidden_Line_Extended_Mask) != 0) {
3558  m_hlr_options |= TKO_Hidden_Line_Extended;
3559  if ((o & TKO_Hidden_Line_Extended2_Mask) != 0)
3560  m_hlr_options |= TKO_Hidden_Line_Extended2;
3561  }
3562  }
3564  int GetHlrOptions () const { return m_hlr_options; }
3566  void SetHlrDimFactor (float d) { m_hlr_dim_factor = d; }
3568  float GetHlrDimFactor () const { return m_hlr_dim_factor; }
3570  void SetHlrFaceDisplacement (float d) { m_hlr_face_displacement = d; }
3572  float GetHlrFaceDisplacement () const { return m_hlr_face_displacement; }
3574  void SetHlrLinePattern (int p) { m_hlr_line_pattern = p; }
3576  int GetHlrLinePattern () const { return m_hlr_line_pattern; }
3578  void SetHlrFaceSortingAlgorithm (int a) { m_hlr_hsr_algorithm = (unsigned char)a; }
3580  float GetHlrFaceSortingAlgorithm () const { return m_hlr_hsr_algorithm; }
3581 
3582 
3584  void SetNURBSOptionsMask (int m) {
3585  m_nurbs_options_mask = m;
3586  if ((m & TKO_NURBS_Extended_Mask) != 0)
3587  m_nurbs_options_mask |= TKO_NURBS_Extended;
3588  }
3590  int GetNURBSOptionsMask () const { return m_nurbs_options_mask; }
3592  void SetNURBSOptionsValue (int v) { m_nurbs_options_value = v; }
3594  int GetNURBSOptionsValue () const { return m_nurbs_options_value; }
3596  void SetNURBSCurveBudget (int b) { m_curve_budget = b; }
3598  int GetNURBSCurveBudget () const { return m_curve_budget; }
3600  void SetNURBSCurveContinuedBudget (int b) { m_curve_continued_budget = b; }
3602  int GetNURBSCurveContinuedBudget () const { return m_curve_continued_budget; }
3604  void SetNURBSSurfaceBudget (int b) { m_surface_budget = b; }
3606  int GetNURBSSurfaceBudget () const { return m_surface_budget; }
3608  void SetNURBSSurfaceTrimBudget (int b) { m_surface_trim_budget = b; }
3610  int GetNURBSSurfaceTrimBudget () const { return m_surface_trim_budget; }
3611 
3612 
3614  void SetLodOptionsMask (int v) { m_lod_options_mask = v; }
3616  int GetLodOptionsMask () const { return m_lod_options_mask; }
3618  void SetLodOptionsValue (int v) { m_lod_options_value = v; }
3620  int GetLodOptionsValue () const { return m_lod_options_value; }
3622  void SetLodAlgorithm (int v) { m_lod_algorithm = (char)v; }
3624  int GetLodAlgorithm () const { return m_lod_algorithm; }
3626  void SetLodMinimumTriangleCount (int v) { m_min_triangle_count = v; }
3628  int GetLodMinimumTriangleCount () const { return m_min_triangle_count; }
3630  void SetLodNumLevels (int v) { m_num_levels = (unsigned char)v; }
3632  int GetLodNumLevels () const { return m_num_levels; }
3634  void SetLodClamp (int v) { m_clamp = (unsigned char)v; }
3636  int GetLodClamp () const { return m_clamp; }
3638  void SetLodMaxDegree (int v) { m_max_degree = v; }
3640  int GetLodMaxDegree () const { return m_max_degree; }
3642  void SetLodTolerance (float v) { m_tolerance = v; }
3644  float GetLodTolerance () const { return m_tolerance; }
3646  void SetLodFallback (int v) { m_fallback = (char)v; }
3648  int GetLodFallback () const { return m_fallback; }
3649 
3651  void SetLodBounding (float x1, float y1, float z1, float x2, float y2, float z2) {
3652  m_bounding[0] = x1; m_bounding[1] = y1; m_bounding[2] = z1;
3653  m_bounding[3] = x2; m_bounding[4] = y2; m_bounding[5] = z2;
3654  }
3656  void SetLodBounding (float const s[], float const e[]) {
3657  SetLodBounding (s[0], s[1], s[2], e[0], e[1], e[2]);
3658  }
3660  void SetLodBounding (float const p[]) { SetLodBounding (&p[0], &p[3]); }
3662  float const * GetLodBounding () const { return m_bounding; }
3663 
3665  void SetLodRatio (float r) { m_num_ratios = 1; m_ratio[0] = r; }
3667  void SetLodRatios (int c, float const r[] = 0) {
3668  m_num_ratios = (char)c;
3669  if (r != 0) {
3670  int i;
3671  for (i=0; i<c; ++i)
3672  m_ratio[i] = r[i];
3673  }
3674  }
3676  int GetLodNumRatios () const { return m_num_ratios; }
3678  float const * GetLodRatios () const { return m_ratio; }
3680  float * GetLodRatios () { return m_ratio; }
3681 
3683  void SetLodThresholdType (int v) { m_threshold_type = (char)v; }
3685  int GetLodThresholdType () const { return m_threshold_type; }
3687  void SetLodThreshold (float r) { m_num_thresholds = 1; m_threshold[0] = r; }
3689  void SetLodThresholds (int c, float const r[] = 0) {
3690  m_num_thresholds = (char)c;
3691  if (r != 0) {
3692  int i;
3693  for (i=0; i<c; ++i)
3694  m_threshold[i] = r[i];
3695  }
3696  }
3698  int GetLodNumThresholds () const { return m_num_thresholds; }
3700  float const * GetLodThresholds () const { return m_threshold; }
3702  float * GetLodThresholds () { return m_threshold; }
3703 
3705  void SetLodCutoff (float r) { m_num_cutoffs = 1; m_cutoff[0] = r; }
3707  void SetLodCutoffs (int c, float const r[] = 0) {
3708  m_num_cutoffs = (char)c;
3709  if (r != 0) {
3710  int i;
3711  for (i=0; i<c; ++i)
3712  m_cutoff[i] = r[i];
3713  }
3714  }
3716  int GetLodNumCutoffs () const { return m_num_cutoffs; }
3718  float const * GetLodCutoffs () const { return m_cutoff; }
3720  float * GetLodCutoffs () { return m_cutoff; }
3721 
3722 
3724  void SetTessellationMask (int m) { m_tessellations = (unsigned char)m; }
3726  int GetTessellationMask () const { return m_tessellations; }
3728  void SetCylinderTessellation (int n) { m_num_cylinder = (char)1; m_cylinder[0] = (char)n; }
3730  void SetCylinderTessellations (int c, char const * n = 0) {
3731  m_num_cylinder = (char)c;
3732  if (n != 0) {
3733  int i;
3734  for (i=0; i<c; ++i)
3735  m_cylinder[i] = n[i];
3736  }
3737  }
3739  int GetNumCylinderTessellations () const { return m_num_cylinder; }
3741  char const * GetCylinderTessellations () const { return m_cylinder; }
3743  char * GetCylinderTessellations () { return m_cylinder; }
3745  void SetSphereTessellation (int n) { m_num_sphere = (char)1; m_sphere[0] = (char)n; }
3747  void SetSphereTessellations (int c, char const * n = 0) {
3748  m_num_sphere = (char)c;
3749  if (n != 0) {
3750  int i;
3751  for (i=0; i<c; ++i)
3752  m_sphere[i] = n[i];
3753  }
3754  }
3756  int GetNumSphereTessellations () const { return m_num_sphere; }
3758  char const * GetSphereTessellations () const { return m_sphere; }
3760  char * GetSphereTessellations () { return m_sphere; }
3761 
3763  void SetGeometryOptionsMask (int m) { m_geometry_options = (unsigned char)m; }
3765  int GetGeometryOptionsMask () const { return m_geometry_options; }
3766 
3768  void SetHardEdgeAngle (int m) { m_dihedral = (unsigned char)m; }
3770  float GetHardEdgeAngle () const { return m_dihedral; }
3771 
3773  void SetMaskTransform (int m) { m_mask_transform = (unsigned short)m; }
3775  int GetMaskTransform () const { return (int)m_mask_transform; }
3776 
3777 
3779  void SetCutGeometry (int m) { m_cut_geometry = (unsigned char)m; }
3781  int GetCutGeometry () const { return (int)m_cut_geometry; }
3782 
3784  void SetCutGeometryLevel (int m) { m_cut_geometry_level = (unsigned char)m; }
3786  int GetCutGeometryLevel () const { return (int)m_cut_geometry_level; }
3787 
3789  void SetCutGeometryColorMatch (int m) { m_cut_geometry_match = (unsigned char)m; }
3791  int GetCutGeometryColorMatch () const { return (int)m_cut_geometry_match; }
3792 
3794  void SetCutGeometryUsage (int u) { m_cut_geometry_usage = (unsigned char)u; }
3796  int GetCutGeometryUsage () const { return (int)m_cut_geometry_usage; }
3797 
3799  void SetCutGeometryTolerance (float m) { m_cut_geometry_tolerance = m; }
3801  float GetCutGeometryTolerance () const { return m_cut_geometry_tolerance; }
3802 
3804  void SetCutGeometryEdgeWeight (float value, int units = TKO_Generic_Size_Unspecified) {
3805  m_cut_geometry_edge_weight = (value > 0.0f) ? value : -1.0f;
3806  m_cut_geometry_edge_weight_units = (value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
3807  }
3809  float GetCutGeometryEdgeWeight () const { return m_cut_geometry_edge_weight; }
3811  int GetCutGeometryEdgeWeightUnits () const { return m_cut_geometry_edge_weight_units; }
3812 
3814  void SetCutGeometryEdgePattern (char const * pattern);
3816  void SetCutGeometryEdgePattern (int length);
3818  char const * GetCutGeometryEdgePattern () const { return m_cut_geometry_edge_pattern; }
3820  char * GetCutGeometryEdgePattern () { return m_cut_geometry_edge_pattern; }
3821 
3822 
3824  void SetDisplayListLevel (int m) { m_display_list_level = (unsigned char)m; }
3826  int GetDisplayListLevel () const { return (int)m_display_list_level; }
3827 
3829  void SetSimpleShadow (int m) {
3830  m_simple_shadow = (unsigned short)m;
3831  if ((m & TKO_Simple_Shadow_Extended_Mask) != 0)
3832  m_simple_shadow |= TKO_Simple_Shadow_Extended;
3833  }
3835  int GetSimpleShadow () const { return (int)m_simple_shadow; }
3836 
3838  void SetSimpleShadowBlur (int m) { m_simple_shadow_blur = (unsigned char)m; }
3840  int GetSimpleShadowBlur () const { return (int)m_simple_shadow_blur; }
3841 
3843  void SetSimpleShadowResolution (int m) { m_simple_shadow_resolution = (unsigned short)m; }
3845  int GetSimpleShadowResolution () const { return (int)m_simple_shadow_resolution; }
3846 
3848  void SetSimpleShadowLight (float x, float y, float z) {
3849  m_simple_shadow_light[0] = x;
3850  m_simple_shadow_light[1] = y;
3851  m_simple_shadow_light[2] = z;
3852  }
3854  void SetSimpleShadowLight (float const l[]) { SetSimpleShadowLight (l[0], l[1], l[2]); }
3856  float const * getSimpleShadowLight () const { return m_simple_shadow_light; }
3857 
3859  void SetSimpleShadowPlane (float a, float b, float c, float d) {
3860  m_simple_shadow_plane[0] = a;
3861  m_simple_shadow_plane[1] = b;
3862  m_simple_shadow_plane[2] = c;
3863  m_simple_shadow_plane[3] = d;
3864  }
3866  void SetSimpleShadowPlane (float const p[]) { SetSimpleShadowPlane (p[0], p[1], p[2], p[3]); }
3868  float const * GetSimpleShadowPlane () const { return m_simple_shadow_plane; }
3869 
3871  void SetSimpleShadowColor (float r, float g, float b)
3872  { m_simple_shadow_color[0] = r; m_simple_shadow_color[1] = g; m_simple_shadow_color[2] = b; }
3874  void SetSimpleShadowColor (float const rgb[]) { SetSimpleShadowColor (rgb[0], rgb[1], rgb[2]); }
3876  float const * GetSimpleShadowColor () const { return m_simple_shadow_color; }
3877 
3879  void SetSimpleShadowOpacity (float o) { m_simple_shadow_opacity = o; }
3881  float GetSimpleShadowOpacity () const { return m_simple_shadow_opacity; }
3882 
3883 
3885  void SetShadowMap (int m) { m_shadow_map = (unsigned char)m; }
3887  int GetShadowMap () const { return (int)m_shadow_map; }
3888 
3890  void SetShadowMapResolution (int m) { m_shadow_map_resolution = (unsigned short)m; }
3892  int GetShadowMapResolution () const { return (int)m_shadow_map_resolution; }
3893 
3895  void SetShadowMapSamples (int m) { m_shadow_map_samples = (unsigned char)m; }
3897  int GetShadowMapSamples () const { return (int)m_shadow_map_samples; }
3898 
3899 
3901  void SetSimpleReflection (int m) { m_simple_reflection = (unsigned short)m; }
3903  int GetSimpleReflection () const { return (int)m_simple_reflection; }
3904 
3906  void SetSimpleReflectionPlane (float a, float b, float c, float d) {
3907  m_simple_reflection_plane[0] = a;
3908  m_simple_reflection_plane[1] = b;
3909  m_simple_reflection_plane[2] = c;
3910  m_simple_reflection_plane[3] = d;
3911  }
3913  void SetSimpleReflectionPlane (float const p[]) { SetSimpleReflectionPlane (p[0], p[1], p[2], p[3]); }
3915  float const * GetSimpleReflectionPlane () const { return m_simple_reflection_plane; }
3916 
3918  void SetSimpleReflectionOpacity (float o) { m_simple_reflection_opacity = o; }
3920  float GetSimpleReflectionOpacity () const { return m_simple_reflection_opacity; }
3921 
3923  void SetSimpleReflectionVisibilityMask (int m) { m_simple_reflection_visibility_mask = m; }
3925  int GetSimpleReflectionVisibilityValue () const { return m_simple_reflection_visibility_value; }
3926 
3927 
3929  void SetDepthRange (float n, float f) { m_depth_range[0] = n; m_depth_range[1] = f; }
3931  void SetDepthRange (float const l[]) { SetDepthRange (l[0], l[1]); }
3933  float const * GetDepthRange () const { return m_depth_range; }
3934 
3935 
3937  void SetScreenRange (float l, float r, float b, float t,
3938  float lo = 0, float ro = 0, float bo = 0, float to = 0)
3939  { m_screen_range[0] = l; m_screen_range[1] = r; m_screen_range[2] = b; m_screen_range[3] = t;
3940  m_screen_range[4] = lo; m_screen_range[5] = ro; m_screen_range[6] = bo; m_screen_range[7] = to; }
3942  void SetScreenRange (float const l[]) { SetScreenRange (l[0], l[1], l[2], l[3]); }
3944  void SetScreenRange (float const l[], float const o[])
3945  { SetScreenRange (l[0], l[1], l[2], l[3], o[0], o[1], o[2], o[3]); }
3947  void SetScreenRange (int n, float const l[])
3948  { if (n == 8) SetScreenRange (l[0], l[1], l[2], l[4], l[5], l[6], l[7], l[8]);
3949  else SetScreenRange (l[0], l[1], l[2], l[3]);
3950  }
3952  float const * GetScreenRange () const { return m_screen_range; }
3953 
3957  void SetAmbientUpVector (float x, float y, float z)
3958  { m_ambient_up_vector[0] = x; m_ambient_up_vector[1] = y; m_ambient_up_vector[2] = z; }
3960  void SetAmbientUpVector (float const v[]) { SetAmbientUpVector (v[0], v[1], v[2]); }
3962  float const * GetAmbientUpVector () const { return m_ambient_up_vector; }
3963 
3965  void SetImageScale (float x, float y) { m_image_scale[0] = x; m_image_scale[1] = y; }
3967  void SetImageScale (float const s[]) { SetImageScale (s[0], s[1]); }
3969  float const * GetImageScale () const { return m_image_scale; }
3970 
3971 
3973  void SetImageTintColor (float r, float g, float b)
3974  { m_image_tint_color[0] = r; m_image_tint_color[1] = g; m_image_tint_color[2] = b; }
3976  void SetImageTintColor (float const rgb[]) { SetImageTintColor (rgb[0], rgb[1], rgb[2]); }
3978  float const * GetImageTintColor () const { return m_image_tint_color; }
3979 
3981  void SetDiffuseTextureTintColor (float r, float g, float b)
3982  { m_texture_tint_color[0] = r; m_texture_tint_color[1] = g; m_texture_tint_color[2] = b; }
3984  void SetDiffuseTextureTintColor (float const rgb[]) { SetDiffuseTextureTintColor (rgb[0], rgb[1], rgb[2]); }
3986  float const * GetDiffuseTextureTintColor () const { return m_texture_tint_color; }
3987 
3989  void SetAntiAlias (int m) { m_antialias = (unsigned char)m; }
3991  int GetAntiAlias () const { return (int)m_antialias; }
3992 
3994  void SetVertexDecimation (float f) { m_vertex_decimation = f; }
3996  float GetVertexDecimation () const { return m_vertex_decimation; }
3997 };
3998 
4000 
4001 
4003 
4009 class BBINFILETK_API TK_Heuristics : public BBaseOpcodeHandler {
4010  protected:
4011  int m_mask;
4012  int m_value;
4013  int m_emask;
4014  int m_evalue;
4015 
4019 
4020  unsigned char m_extras;
4023  unsigned short m_selection_bias;
4030  float m_vector[3];
4033  float m_view_volume[6];
4034 
4035  unsigned char m_ordered_weights_mask;
4036  float m_ordered_weights[TKO_Heur_Order_Count];
4037  unsigned char m_selection_level;
4038  unsigned char m_selection_sorting;
4039  unsigned char m_model_type;
4040  unsigned short m_static_options;
4041 
4042  public:
4044  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
4045  m_mask (0), m_value (0), m_emask (0), m_evalue (0), m_culling(0), m_selection_culling(0), m_selection_bias(0),
4046  m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
4047  ~TK_Heuristics ();
4048 
4051  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4052 
4053  void Reset ();
4054 
4055  TK_Status ReadAscii (BStreamFileToolkit & tk);
4056  TK_Status WriteAscii (BStreamFileToolkit & tk);
4057 
4059  void SetMask (int m) {
4060  m_mask = m;
4061  if ((m & TKO_Heuristic_Extended_Mask) != 0)
4062  m_mask |= TKO_Heuristic_Extended;
4063  }
4065  int GetMask () const { return m_mask; }
4066 
4068  void SetValue (int v) { m_value = v; }
4070  int GetValue () const { return m_value; }
4071 
4073  void SetEMask (int m) {
4074  m_emask = m;
4075  if (m != 0)
4077  }
4079  int GetEMask () const { return m_emask; }
4080 
4082  void SetEValue (int v) { m_evalue = v; }
4084  int GetEValue () const { return m_evalue; }
4085 
4087  void SetRelatedSelectionLimit (int r) { m_related = r; }
4089  int GetRelatedSelectionLimit () const { return m_related; }
4090 
4092  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
4094  int GetInternalSelectionLimit () const { return m_internal_shell; }
4095 
4097  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
4099  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
4100 
4102  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
4104  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
4105 
4107  void SetExtras (int e) { m_extras = (unsigned char)e; }
4109  int GetExtras () const { return (int)m_extras; }
4110 
4112  void SetCulling (int c) { m_culling = c; }
4114  int GetCulling () const { return (int)m_culling; }
4116  void SetSelectionCulling (int c) { m_selection_culling = (unsigned short)c; }
4118  int GetSelectionCulling () const { return (int)m_selection_culling; }
4120  void SetSelectionBias (int c) { m_selection_bias = (unsigned short)c; }
4122  int GetSelectionBias () const { return (int)m_selection_bias; }
4124  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
4126  int GetPixelThreshold () const { return m_pixel_threshold; }
4128  void SetMaximumExtent (int c) { m_maximum_extent = c; }
4130  int GetMaximumExtent () const { return m_maximum_extent; }
4132  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
4134  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
4136  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
4138  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
4140  void SetHardExtent (int c) { m_hard_extent = c; }
4142  int GetHardExtent () const { return m_hard_extent; }
4144  float const * GetVector () const { return m_vector; }
4146  void SetVector (float x, float y, float z) {
4147  m_vector[0] = x;
4148  m_vector[1] = y;
4149  m_vector[2] = z;
4150  }
4152  void SetVector (float const v[]) { SetVector(v[0], v[1], v[2]); }
4154  float GetVectorTolerance () const { return m_vector_tolerance; }
4156  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
4157 
4158  void SetMaxDistance (float m) { m_max_distance = m; }
4160  float GetMaxDistance () const { return m_max_distance; }
4161 
4163  float const * GetViewVolume () const { return m_view_volume; }
4165  void SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) {
4166  m_view_volume[0] = ax;
4167  m_view_volume[1] = ay;
4168  m_view_volume[2] = az;
4169  m_view_volume[3] = bx;
4170  m_view_volume[4] = by;
4171  m_view_volume[5] = bz;
4172  }
4174  void SetViewVolume (float const v[]) { SetViewVolume(v[0], v[1], v[2], v[3], v[4], v[5]); }
4175 
4177  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
4179  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
4180 
4182  void SetOrderedWeight (int index, float weight) {
4183  m_ordered_weights[index] = weight;
4184  m_ordered_weights_mask |= 1<<index;
4185  }
4187  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
4189  float const * GetOrderedWeights () const { return m_ordered_weights; }
4191  float * GetOrderedWeights () { return m_ordered_weights; }
4192 
4194  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
4196  int GetSelectionLevel () const { return (int)m_selection_level; }
4197 
4199  void SetSelectionSorting (int s) { m_selection_sorting = (unsigned char)s; }
4201  int GetSelectionSorting () const { return (int)m_selection_sorting; }
4202 
4204  void SetForceDefer (int l) { m_force_defer = l; }
4206  int GetForceDefer () const { return m_force_defer; }
4207 
4209  void SetStaticOptions (int o) { m_static_options = (unsigned short)o; }
4211  int GetStaticOptions () const { return (int)m_static_options; }
4212 
4213 };
4214 
4216 
4217 
4219 
4225 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
4226  protected:
4227  unsigned short m_mask;
4228  unsigned short m_value;
4229 
4231  float m_orientation[6];
4234 
4235  struct {
4236  unsigned char mask;
4237  unsigned char mode;
4238  float color[3];
4239  float alpha;
4240  float scale;
4241  } m_cut_visualization;
4242 
4243  public:
4245  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
4246  m_mask (0), m_value (0), m_orientation_count (0),
4247  m_coordinate_system_count (0), m_coordinate_systems (0) {
4248  m_cut_visualization.mask = 0;
4249  }
4250  ~TK_Geometry_Options ();
4251 
4252  void Reset ();
4253 
4256  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4257 
4258  TK_Status ReadAscii (BStreamFileToolkit & tk);
4259  TK_Status WriteAscii (BStreamFileToolkit & tk);
4260 
4262  void SetMask (int m) { m_mask = (unsigned short)m; }
4264  int GetMask () const { return (int)m_mask; }
4265 
4267  void SetOrientation (int count, float const o[]) {
4268  if (count != 3 && count != 6)
4269  return;
4270  m_orientation_count = (unsigned char)count;
4271  while (count-- > 0)
4272  m_orientation[count] = o[count];
4273  }
4275  int GetOrientationCount () const { return (int) m_orientation_count; }
4277  float const * GetOrientation () const { return m_orientation; }
4278 
4280  void SetCoordinateSystems (int count, char const cs[]) {
4281  m_coordinate_system_count = count;
4282  m_coordinate_systems = new char [count];
4283  while (count-- > 0)
4284  m_coordinate_systems[count] = cs[count];
4285  }
4287  int GetCoordinateSystemCount () const { return m_coordinate_system_count; }
4289  char const * GetCoordinateSystems () const { return m_coordinate_systems; }
4290 
4291 
4292 
4294  void SetCutVisualizationMask (int m) { m_cut_visualization.mask = (unsigned char)m; }
4296  int GetCutVisualizationMask () const { return (int)m_cut_visualization.mask; }
4297 
4299  void SetCutVisualizationMode (int m) { m_cut_visualization.mode = (unsigned char)m; }
4301  int GetCutVisualizationMode () const { return (int)m_cut_visualization.mode; }
4302 
4304  void SetCutVisualizationColor (float const * c) {
4305  m_cut_visualization.color[0] = c[0];
4306  m_cut_visualization.color[1] = c[1];
4307  m_cut_visualization.color[2] = c[2];
4308  }
4310  float const * GetCutVisualizationColor () const { return m_cut_visualization.color; }
4311 
4313  void SetCutVisualizationAlpha (float a) { m_cut_visualization.alpha = a; }
4315  float GetCutVisualizationAlpha () const { return m_cut_visualization.alpha; }
4316 
4318  void SetCutVisualizationSCale (float s) { m_cut_visualization.scale = s; }
4320  float GetCutVisualizationScale () const { return m_cut_visualization.scale; }
4321 };
4322 
4325 
4330 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
4331  protected:
4332  int m_mask;
4333  int m_value;
4334 
4335  public:
4338  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
4339 
4342  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4343 
4344  TK_Status ReadAscii (BStreamFileToolkit & tk);
4345  TK_Status WriteAscii (BStreamFileToolkit & tk);
4346 
4350  void SetGeometry (int m) {
4351  m_mask = m & TKO_Geo_All_Visibles;
4352  if ((m & TKO_Geo_Extended_Mask) != 0) {
4353  m_mask |= TKO_Geo_Extended;
4354  if ((m & TKO_Geo_Extended2_Mask) != 0)
4355  m_mask |= TKO_Geo_Extended2;
4356  }
4357  }
4362  int GetGeometry () const { return m_mask; }
4363 
4368  void SetValue (int m) { m_value = m; }
4373  int GetValue () const { return m_value; }
4374 };
4375 
4378 
4385 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4386  protected:
4387  int m_mask;
4388  int m_down;
4389  int m_up;
4393 
4394  public:
4397  : BBaseOpcodeHandler (TKE_Selectability),
4398  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4399 
4402  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4403 
4404  TK_Status ReadAscii (BStreamFileToolkit & tk);
4405  TK_Status WriteAscii (BStreamFileToolkit & tk);
4406 
4410  void SetGeometry (int m) {
4411  m_mask = m & TKO_Geo_All_Selects;
4412  if ((m & TKO_Geo_Extended_Mask) != 0)
4413  m_mask |= TKO_Geo_Extended;
4414  }
4419  int GetGeometry () const { return m_mask; }
4420 
4425  void SetDown (int m) { m_down = m; }
4430  int GetDown () const { return m_down; }
4431 
4436  void SetUp (int m) { m_up = m; }
4441  int GetUp () const { return m_up; }
4442 
4447  void SetMoveDown (int m) { m_move_down = m; }
4452  int GetMoveDown () const { return m_move_down; }
4453 
4458  void SetMoveUp (int m) { m_move_up = m; }
4463  int GetMoveUp () const { return m_move_up; }
4464 
4469  void SetWhenInvisible (int m) { m_invisible = m; }
4474  int GetWhenInvisible () const { return m_invisible; }
4475 };
4476 
4478 
4484 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4485  protected:
4486  float m_matrix[16];
4487  double m_dmatrix[16];
4488 
4489  public:
4491  TK_Matrix (unsigned char opcode)
4492  : BBaseOpcodeHandler (opcode) {}
4493 
4496  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4497 
4498  TK_Status ReadAscii (BStreamFileToolkit & tk);
4499  TK_Status WriteAscii (BStreamFileToolkit & tk);
4500 
4502  void SetMatrix (float const m[]) {
4503  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4504  }
4506  void SetDMatrix (double const m[]) {
4507  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4508  }
4510  float const * GetMatrix () const { return m_matrix; }
4512  float * GetMatrix () { return m_matrix; }
4514  double const * GetDMatrix () const { return m_dmatrix; }
4516  double * GetDMatrix () { return m_dmatrix; }
4517 };
4518 
4519 
4525 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
4526  protected:
4527  char m_index;
4528 
4529  public:
4531  TK_Enumerated (unsigned char opcode)
4532  : BBaseOpcodeHandler (opcode), m_index (0) {}
4533 
4536  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4537 
4538  TK_Status ReadAscii (BStreamFileToolkit & tk);
4539  TK_Status WriteAscii (BStreamFileToolkit & tk);
4540 
4541  void SetIndex (int i) { m_index = (char)i; }
4543  int GetIndex () const { return (int)m_index; }
4544 };
4545 
4546 
4552 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
4553  protected:
4554  float m_value;
4555  unsigned char m_units;
4556 
4557  public:
4559  TK_Size (unsigned char opcode)
4560  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
4561 
4564  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4565 
4566  TK_Status ReadAscii (BStreamFileToolkit & tk);
4567  TK_Status WriteAscii (BStreamFileToolkit & tk);
4568 
4570  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
4571  m_value = (value > 0.0f) ? value : 0.0f;
4572  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
4573  }
4575  float GetSize () const { return m_value; }
4577  int GetUnits () const { return m_units; }
4578 };
4579 
4584 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
4585  protected:
4586  unsigned short m_pattern;
4587 
4588  public:
4590  TK_Linear_Pattern (unsigned char opcode)
4591  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
4592 
4595  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4596 
4597  TK_Status ReadAscii (BStreamFileToolkit & tk);
4598  TK_Status WriteAscii (BStreamFileToolkit & tk);
4599 
4601  void SetPattern (int p) { m_pattern = (unsigned short)p; }
4603  int GetPattern () const { return (int)m_pattern; }
4604 };
4605 
4611 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
4612  protected:
4614  char * m_name;
4615  int m_index;
4616 
4617  public:
4619  TK_Named (unsigned char opcode)
4620  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
4621  ~TK_Named();
4622 
4625  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4626 
4627  TK_Status ReadAscii (BStreamFileToolkit & tk);
4628  TK_Status WriteAscii (BStreamFileToolkit & tk);
4629 
4630  void Reset ();
4631 
4633  void SetName (char const * name);
4635  void SetName (int length);
4637  char const * GetName () const { return m_name; }
4639  char * GetName () { return m_name; }
4640 
4642  void SetIndex (int i) { Reset(); m_index = i; }
4644  int GetIndex () const { return (int)m_index; }
4645 };
4646 
4647 
4648 
4655 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
4656  protected:
4657  bool m_flag;
4658 
4659  public:
4662 
4665  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4666 
4667  TK_Status ReadAscii (BStreamFileToolkit & tk);
4668  TK_Status WriteAscii (BStreamFileToolkit & tk);
4669 
4670  void SetStreaming (bool s) { m_flag = s; }
4672  bool GetStreaming () const { return m_flag; }
4673 };
4674 
4677 
4683 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
4684  protected:
4685  int m_length;
4686  char * m_string;
4688  public:
4690  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
4691  ~TK_Conditions();
4692 
4695  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4696 
4697  TK_Status ReadAscii (BStreamFileToolkit & tk);
4698  TK_Status WriteAscii (BStreamFileToolkit & tk);
4699 
4700  void Reset ();
4701 
4703  void SetConditions (char const * options);
4705  void SetConditions (int length);
4707  char const * GetConditions () const { return m_string; }
4709  char * GetConditions () { return m_string; }
4711  int GetLength() { return m_length; }
4712 };
4713 
4714 
4717 
4722 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
4723  protected:
4724  short m_type;
4725  short m_options;
4726  int m_length;
4727  char * m_string;
4729  public:
4731  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
4733 
4736  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4737 
4738  TK_Status ReadAscii (BStreamFileToolkit & tk);
4739  TK_Status WriteAscii (BStreamFileToolkit & tk);
4740 
4741  void Reset ();
4742 
4744  void SetCondition (char const * options);
4746  void SetCondition (int length);
4748  char const * GetCondition () const { return m_string; }
4750  char * GetCondition () { return m_string; }
4752  int GetLength() { return m_length; }
4753 
4755  void SetAction (int at) { m_type = (short)at; }
4757  int GetAction () const { return (int)m_type; }
4759  void SetOptions (int at) { m_options = (short)at; }
4761  int GetOptions () const { return (int)m_options; }
4762 };
4763 
4766 
4772 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
4773  protected:
4774  int m_length;
4775  char * m_string;
4780  void set_options (char const * options);
4781  void set_options (int length);
4782 
4783  public:
4785  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
4786  m_indices (0), m_unicode (0), m_index_data(0) {}
4787  ~TK_User_Options();
4788 
4791  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4792 
4793  TK_Status ReadAscii (BStreamFileToolkit & tk);
4794  TK_Status WriteAscii (BStreamFileToolkit & tk);
4795 
4796  void Reset ();
4797 
4799  void SetOptions (char const * options) { set_options (options); }
4801  void SetOptions (int length) { set_options (length); }
4803  char const * GetOptions () const { return m_string; }
4805  char * GetOptions () { return m_string; }
4807  int GetLength() { return m_length; }
4808 };
4809 
4812 
4818 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
4819  protected:
4820  int m_length;
4821  unsigned short * m_string;
4823  public:
4825  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
4826  ~TK_Unicode_Options();
4827 
4830  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4831 
4832  TK_Status ReadAscii (BStreamFileToolkit & tk);
4833  TK_Status WriteAscii (BStreamFileToolkit & tk);
4834 
4835  void Reset ();
4836 
4838  void SetOptions (unsigned short const * options);
4840  void SetOptions (int length);
4842  unsigned short const * GetOptions () const { return m_string; }
4844  unsigned short * GetOptions () { return m_string; }
4846  int GetLength() { return m_length; }
4847 };
4848 
4850 
4856 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
4857  protected:
4858  int m_count;
4859  int * m_indices;
4860  HLONG * m_values;
4862  void set_indices (int count, int const indices[], POINTER_SIZED_INT const values[]);
4863  void set_indices (int count);
4864 
4865  public:
4868  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
4869  ~TK_User_Index();
4870 
4873  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4874 
4875  TK_Status ReadAscii (BStreamFileToolkit & tk);
4876  TK_Status WriteAscii (BStreamFileToolkit & tk);
4877 
4878  void Reset ();
4879 
4881  void SetIndices (int count, int const indices[], POINTER_SIZED_INT const values[])
4882  { set_indices (count, indices, values); }
4884  void SetIndices (int count) { set_indices (count); }
4886  int GetCount () const { return m_count; }
4888  int const * GetIndices () const { return m_indices; }
4890  int * GetIndices () { return m_indices; }
4892  HLONG const * GetValues () const { return m_values; }
4894  HLONG * GetValues () { return m_values; }
4895 };
4896 
4898 
4904 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
4905 protected:
4906  int m_count;
4907  int * m_indices;
4908  void ** m_values;
4909  int * m_sizes;
4910 
4912  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
4913  void set_indices (int count);
4914  void FreeMem ();
4915 
4916 public:
4919  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
4920  ~TK_User_Index_Data();
4921 
4924  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4925 
4926  void Reset ();
4927 
4929  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
4930  set_indices (count, indices, values, sizes);
4931  }
4932 
4934  void SetIndices (int count) { set_indices (count);}
4935 
4937  int GetCount () const { return m_count;}
4938 
4940  int const * GetIndices () const { return m_indices;}
4941 
4943  int * GetIndices () { return m_indices;}
4944 
4946  void ** GetValues () const { return m_values;}
4947 
4949  void ** GetValues () { return m_values;}
4950 
4952  int const * GetSizes () const { return m_sizes;}
4953 
4955  int * GetSizes () { return m_sizes;}
4956 };
4957 
4958 
4960 
4965 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
4966  protected:
4967  HLONG m_value;
4968 
4969  public:
4972  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
4973 
4976  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4977 
4978  TK_Status ReadAscii (BStreamFileToolkit & tk);
4979  TK_Status WriteAscii (BStreamFileToolkit & tk);
4980 
4982  void SetValue (HLONG v) { m_value = v; }
4984  HLONG GetValue () const { return m_value; }
4985 };
4986 
4987 
4989 
4994 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
4995  protected:
4999  float m_settings[14];
5001  double m_dsettings[14];
5003  float m_details[3];
5004  unsigned char m_projection;
5005  int m_length;
5006  char * m_name;
5009  void set_name (char const * name);
5010 
5011  void set_name (int length);
5012 
5013  public:
5015  TK_Camera (unsigned char opcode = TKE_Camera)
5016  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
5017  int i;
5018  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
5019  for (i = 0; i < count; i++) {
5020  m_settings[i] = 0;
5021  m_dsettings[i] = 0;
5022  }
5023  }
5024  ~TK_Camera();
5025 
5028  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5029 
5030  TK_Status ReadAscii (BStreamFileToolkit & tk);
5031  TK_Status WriteAscii (BStreamFileToolkit & tk);
5032 
5034  void SetPosition (float x, float y, float z)
5035  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
5037  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
5039  float const * GetPosition () const { return &m_settings[0]; }
5041  void GetPosition (float p[]) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
5042 
5044  void SetDPosition (double x, double y, double z)
5045  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
5047  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
5049  double const * GetDPosition () const { return &m_dsettings[0]; }
5051  void GetDPosition (double p[]) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
5052 
5054  void SetTarget (float x, float y, float z)
5055  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
5057  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5059  float const * GetTarget () const { return &m_settings[3]; }
5061  void GetTarget (float t[]) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
5062 
5064  void SetDTarget (double x, double y, double z)
5065  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
5067  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5069  double const * GetDTarget () const { return &m_dsettings[3]; }
5071  void GetDTarget (double t[]) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
5072 
5074  void SetUpVector (float x, float y, float z)
5075  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
5077  void SetUpVector (float const u[]) { SetUpVector (u[0], u[1], u[2]); }
5079  float const * GetUpVector () const { return &m_settings[6]; }
5081  void GetUpVector (float u[]) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
5082 
5084  void SetDUpVector (double x, double y, double z)
5085  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
5087  void SetDUpVector (double const u[]) { SetDUpVector (u[0], u[1], u[2]); }
5089  double const * GetDUpVector () const { return &m_dsettings[6]; }
5091  void GetDUpVector (double u[]) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
5092 
5094  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
5096  void SetField (float const f[]) { SetField (f[0], f[1]); }
5098  float const * GetField () const { return &m_settings[9]; }
5100  void GetField (float f[]) const { memcpy(f,GetField(),2*sizeof(float)); }
5101 
5103  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
5105  void SetDField (double const f[]) { SetDField (f[0], f[1]); }
5107  double const * GetDField () const { return &m_dsettings[9]; }
5109  void GetDField (double f[]) const { memcpy(f, GetDField(), 2*sizeof(double)); }
5110 
5111 
5113  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
5114  m_projection &= ~TKO_Camera_Oblique_Mask;
5115  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
5116  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
5117  }
5119  void SetOblique (float const o[]) { SetOblique (o[0], o[1]); }
5121  float const * GetOblique () const { return m_details; }
5123  void GetOblique (float o[]) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
5124 
5126  void SetNearLimit (float l) { m_details[2] = l;
5127  m_projection &= ~TKO_Camera_Near_Limit;
5128  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
5129  }
5131  float GetNearLimit () const { return m_details[2]; }
5132 
5133 
5135  void SetProjection (int p) { m_projection = (char)p; }
5137  int GetProjection () const { return (int)m_projection; }
5138 
5139 
5141  void SetView (char const * name) { set_name (name); }
5143  void SetView (int length) { set_name (length); }
5145  char const * GetView () const { return m_name; }
5147  char * GetView () { return m_name; }
5148 };
5149 
5151 
5156 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
5157  protected:
5158  float m_window[8];
5159  unsigned char m_options;
5160 
5161  public:
5164  : BBaseOpcodeHandler (TKE_Window), m_options (0) {}
5165 
5168  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5169 
5170  TK_Status ReadAscii (BStreamFileToolkit & tk);
5171  TK_Status WriteAscii (BStreamFileToolkit & tk);
5172 
5174  void SetWindow (float l, float r, float b, float t,
5175  float lo = 0, float ro = 0, float bo = 0, float to = 0)
5176  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t;
5177  m_window[4] = lo; m_window[5] = ro; m_window[6] = bo; m_window[7] = to; }
5179  void SetWindow (float const w[]) { SetWindow (w[0], w[1], w[2], w[3]); }
5181  void SetWindow (float const w[], float const o[])
5182  { SetWindow (w[0], w[1], w[2], w[3], o[0], o[1], o[2], o[3]); }
5184  void SetWindow (int n, float const w[])
5185  { if (n == 8) SetWindow (w[0], w[1], w[2], w[4], w[5], w[6], w[7], w[8]);
5186  else SetWindow (w[0], w[1], w[2], w[3]);
5187  }
5189  float const * GetWindow () const { return m_window; }
5190 
5192  void SetOptions (int opt) { m_options = (unsigned char)opt; }
5194  int GetOptions () const { return m_options; }
5195 };
5196 
5197 
5198 
5200 
5207 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
5208  protected:
5209  int m_mask;
5210  int m_value;
5212  char * m_names;
5213  float m_size;
5214  float m_tolerance;
5215  float m_rotation;
5216  float m_slant;
5223  int m_renderers[2];
5224  int m_preferences[2];
5227  char * m_shape;
5228  char * m_style;
5230  float m_margins[4];
5231  unsigned char m_margin_units[4];
5232  unsigned char m_size_units;
5233  unsigned char m_tolerance_units;
5234  unsigned char m_space_units;
5235  unsigned char m_greeking_units;
5236  unsigned char m_greeking_mode;
5237  unsigned char m_transforms;
5238  unsigned char m_renderer_cutoff_units;
5240  unsigned char m_layout;
5241 
5242  void set_names (int length);
5243  void set_names (char const * names);
5244 
5245  public:
5248  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0)
5249  , m_shape_length (0), m_style_length (0), m_shape (0), m_style (0) {}
5250  ~TK_Text_Font ();
5251 
5254  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5255 
5256  TK_Status ReadAscii (BStreamFileToolkit & tk);
5257  TK_Status WriteAscii (BStreamFileToolkit & tk);
5258 
5259  void Reset ();
5260 
5262  void SetMask (int m) {
5263  m_mask = m;
5264  if ((m & TKO_Font_Extended2_Mask) != 0)
5265  m_mask |= TKO_Font_Extended2;
5266  if ((m & TKO_Font_Extended_Mask) != 0)
5267  m_mask |= TKO_Font_Extended;
5268  }
5270  int GetMask () const { return m_mask; }
5271 
5273  void SetValue (int v) { m_value = v; }
5275  int GetValue () const { return m_value; }
5276 
5278  void SetNames (char const * names) { set_names (names); }
5280  void SetNames (int length) { set_names (length); }
5282  char const * GetNames () const { return m_names; }
5284  char * GetNames () { return m_names; }
5285 
5287  void SetShape (char const * shape);
5289  void SetShape (int length);
5291  char const * GetShape () const { return m_shape; }
5293  char * GetShape () { return m_shape; }
5294 
5296  void SetStyle (char const * shape);
5298  void SetStyle (int length);
5300  char const * GetStyle () const { return m_style; }
5302  char * GetStyle () { return m_style; }
5303 
5305  void SetSize (float s) { m_size = s; }
5307  float GetSize () const { return m_size; }
5308 
5310  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
5312  int GetSizeUnits () const { return (int)m_size_units; }
5313 
5315  void SetTolerance (float t) { m_tolerance = t; }
5317  float GetTolerance () const { return m_tolerance; }
5318 
5320  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
5322  int GetToleranceUnits () const { return (int)m_tolerance_units; }
5323 
5325  void SetRotation (float r) { m_rotation = r; }
5327  float GetRotation () const { return m_rotation; }
5328 
5330  void SetSlant (float s) { m_slant = s; }
5332  float GetSlant () const { return m_slant; }
5333 
5335  void SetWidthScale (float s) { m_width_scale = s; }
5337  float GetWidthScale () const { return m_width_scale; }
5338 
5340  void SetExtraSpace (float s) { m_extra_space = s; }
5342  float GetExtraSpace () const { return m_extra_space; }
5343 
5345  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
5347  int GetExtraSpaceUnits () const { return (int)m_space_units; }
5348 
5350  void SetLineSpacing (float s) { m_line_spacing = s; }
5352  float GetLineSpacing () const { return m_line_spacing; }
5353 
5355  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
5357  int GetTransforms () const { return (int)m_transforms; }
5358 
5360  void SetGreekingLimit (float s) { m_greeking_limit = s; }
5362  float GetGreekingLimit () const { return m_greeking_limit; }
5363 
5365  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
5367  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
5368 
5370  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
5372  int GetGreekingMode () const { return (int)m_greeking_mode; }
5373 
5374 
5376  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
5378  int GetRenderer () const { return m_renderers[0]; }
5379 
5381  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
5383  int const * GetRenderers () const { return m_renderers; }
5384 
5386  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
5388  float GetRendererCutoff () const { return m_renderer_cutoff; }
5389 
5391  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
5393  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
5394 
5395 
5397  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
5399  int GetPreference () const { return m_preferences[0]; }
5400 
5402  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
5404  int const * GetPreferences () const { return m_preferences; }
5405 
5407  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
5409  float GetPreferenceCutoff () const { return m_preference_cutoff; }
5410 
5412  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
5414  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
5415 
5417  void SetLayout (int l) {m_layout = (unsigned char)l;}
5419  int GetLayout () const {return (int)m_layout;}
5420 };
5421 
5423 
5425 
5435 
5447 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
5448  protected:
5449  double m_dvalues[6];
5450  float m_values[6];
5451  char m_type;
5452  bool m_is_valid;
5453  public:
5455  TK_Bounding (unsigned char opcode)
5456  : BBaseOpcodeHandler (opcode) {}
5458  TK_Bounding (unsigned char opcode, float min[], float max[])
5459  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5460  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
5461  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
5462  }
5464  TK_Bounding (unsigned char opcode, float center[], float radius)
5465  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5466  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
5467  m_values[3] = radius;
5468  }
5470  TK_Bounding (unsigned char opcode, double min[], double max[])
5471  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5472  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
5473  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
5475  }
5477  TK_Bounding (unsigned char opcode, double center[], double radius)
5478  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5479  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
5480  m_dvalues[3] = radius;
5482  }
5483 
5486  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5487 
5488  TK_Status ReadAscii (BStreamFileToolkit & tk);
5489  TK_Status WriteAscii (BStreamFileToolkit & tk);
5490 };
5491 
5493 
5495 
5501 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
5502  protected:
5503  float m_point[3];
5504  double m_dpoint[3];
5505  char m_options;
5506 
5507  public:
5509  TK_Point (unsigned char opcode)
5510  : BBaseOpcodeHandler (opcode) {
5511  m_point[0] = m_point[1] = m_point[2] = 0;
5512  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5513  m_options = 0;
5514  };
5515 
5518  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5519 
5520  TK_Status ReadAscii (BStreamFileToolkit & tk);
5521  TK_Status WriteAscii (BStreamFileToolkit & tk);
5522 
5523  void Reset(void) {
5524  m_point[0] = m_point[1] = m_point[2] = 0;
5525  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5526  m_options = 0;
5528  };
5529 
5530 
5531 
5533  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
5535  void SetPoint (float const p[]) { SetPoint (p[0], p[1], p[2]); }
5537  float const * GetPoint () const { return m_point; }
5538 
5540  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
5542  void SetDPoint (double const p[]) { SetDPoint (p[0], p[1], p[2]); }
5544  double const * GetDPoint () const { return m_dpoint; }
5545 
5547  void SetOptions (int o) { m_options = (char)o; }
5549  int GetOptions () const { return (int)m_options; }
5550 
5551 };
5552 
5553 
5554 
5556 
5561 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
5562  protected:
5564  float m_points[6];
5566  double m_dpoints[6];
5567 
5568  public:
5570  TK_Line (unsigned char opcode = TKE_Line)
5571  : BBaseOpcodeHandler (opcode) {}
5572 
5575  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5576 
5577  TK_Status ReadAscii (BStreamFileToolkit & tk);
5578  TK_Status WriteAscii (BStreamFileToolkit & tk);
5579 
5581  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
5582  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
5583  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
5584  }
5586  void SetPoints (float const s[], float const e[]) {
5587  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5588  }
5590  void SetPoints (float const p[]) { SetPoints (&p[0], &p[3]); }
5592  float const * GetPoints () const { return m_points; }
5593 
5595  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
5596  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
5597  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
5598  }
5600  void SetDPoints (double const s[], double const e[]) {
5601  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5602  }
5604  void SetDPoints (double const p[]) { SetDPoints (&p[0], &p[3]); }
5606  double const * GetDPoints () const { return m_dpoints; }
5607 
5608 };
5609 
5610 
5611 
5613 
5620 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
5621  protected:
5622  int m_count;
5624  float * m_points;
5625  double * m_dpoints;
5628  void set_points (int count, float const points[] = 0) { SetPoints (count, points); }
5629  public:
5633  TK_Polypoint (unsigned char opcode)
5634  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
5635  ~TK_Polypoint();
5636 
5639  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5640 
5641  TK_Status ReadAscii (BStreamFileToolkit & tk);
5642  TK_Status WriteAscii (BStreamFileToolkit & tk);
5643 
5644  void Reset ();
5645 
5648  void SetPoints (int count, float const points[] = 0);
5650  float const * GetPoints () const { return m_points; }
5652  float * GetPoints () { return m_points; }
5653 
5656  void SetDPoints (int count, double const points[] = 0);
5658  double const * GetDPoints () const { return m_dpoints; }
5660  double * GetDPoints () { return m_dpoints; }
5661 
5663  int GetCount () const { return m_count; }
5664 
5665 };
5666 
5667 
5668 
5669 
5670 #define NC_HAS_WEIGHTS 0x01
5671 #define NC_HAS_KNOTS 0x02
5672 #define NC_HAS_START 0x04
5673 #define NC_HAS_END 0x08
5674 
5675 
5681 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
5682  protected:
5683  unsigned char m_optionals;
5684  unsigned char m_degree;
5689  float *m_weights;
5690  float *m_knots;
5691  float m_start;
5692  float m_end;
5694  void set_curve (int degree, int control_count, float const points[] = 0,
5696  float const weights[] = 0, float const knots[] = 0,
5697  float start = 0.0f, float end = 1.0f);
5698  public:
5699  TK_NURBS_Curve();
5700  ~TK_NURBS_Curve();
5701 
5704  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5705 
5706  TK_Status ReadAscii (BStreamFileToolkit & tk);
5707  TK_Status WriteAscii (BStreamFileToolkit & tk);
5708 
5709  void Reset ();
5710 
5712  void SetCurve (int degree, int control_count, float const points[] = 0,
5713  float const weights[] = 0, float const knots[] = 0,
5714  float start = 0.0f, float end = 1.0f) {
5715  set_curve (degree, control_count, points, weights, knots, start, end);
5716  }
5717  void SetDCurve (int degree, int control_count, double const points[] = 0,
5718  float const weights[] = 0, float const knots[] = 0,
5719  float start = 0.0f, float end = 1.0f);
5720 
5721  float const * GetPoints () const { return m_control_points; }
5722  float * GetPoints () { return m_control_points; }
5723  double const * GetDPoints () const { return m_dcontrol_points; }
5724  double * GetDPoints () { return m_dcontrol_points; }
5726  int GetDegree () const { return m_degree; }
5727  int GetCount () const { return m_control_point_count; }
5728  float const * GetWeights () const { return m_weights; }
5729  float * GetWeights () { return m_weights; }
5730  float const * GetKnots () const { return m_knots; }
5731  float * GetKnots () { return m_knots; }
5733  void SetStart (float s) { m_start = s; }
5734  float GetStart () const { return m_start; }
5735  void SetEnd (float e) { m_end = e; }
5736  float GetEnd () const { return m_end; }
5738  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5739  int GetOptions () const { return m_optionals; }
5741 };
5742 
5743 
5744 
5745 
5746 
5747 #define NS_HAS_WEIGHTS 0x01
5748 #define NS_HAS_KNOTS 0x02
5749 #define NS_HAS_TRIMS 0x04
5750 
5751 #define NS_TRIM_END 0
5752 #define NS_TRIM_POLY 1
5753 #define NS_TRIM_CURVE 2
5754 #define NS_TRIM_COLLECTION 3
5755 #define NS_TRIM_LAST_KNOWN_TYPE 3
5756 
5757 #define NS_TRIM_KEEP 0x01
5758 #define NS_TRIM_HAS_WEIGHTS 0x02
5759 #define NS_TRIM_HAS_KNOTS 0x04
5760 
5761 
5768 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
5769  friend class TK_NURBS_Surface;
5770  protected:
5771  //first 5 are relevant to polys and curves
5774  unsigned char m_type;
5775  int m_count;
5776  float * m_points;
5777  //next 6 are specific to curves
5778  unsigned char m_degree;
5779  unsigned char m_options;
5780  float * m_weights;
5781  float * m_knots;
5782  float m_start_u;
5783  float m_end_u;
5787  HT_NURBS_Trim();
5788  TK_Status read_collection(BStreamFileToolkit & tk);
5789  TK_Status write_collection(BStreamFileToolkit & tk);
5792  public:
5793  ~HT_NURBS_Trim();
5794  void SetPoly (int count, float const points[] = 0);
5795  void SetCurve (int degree, int control_count, float const points[] = 0,
5796  float const weights[] = 0, float const knots[] = 0, float start_u = 0, float end_u = 1);
5797  void SetCollection ();
5798  HT_NURBS_Trim * PrependCollection();
5799  void SetOptions (int o) { m_options = (unsigned char)o; }
5800  void SetList (HT_NURBS_Trim *node) { m_list = node; }
5801  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
5802  void SetStart(float start) { m_start_u = start; }
5803  void SetEnd(float end) { m_end_u = end; }
5804 
5807 
5810 
5811  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
5812  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
5813 
5815  HT_NURBS_Trim * GetNext (void) { return m_next; }
5816  HT_NURBS_Trim const * GetNext (void) const { return m_next; }
5818  int GetType () const { return m_type; }
5820  int GetCount () const { return m_count; }
5822  float const * GetPoints () const { return m_points; }
5824  float * GetPoints () { return m_points; }
5826  int GetDegree () const { return m_degree; }
5828  float GetStart() const { return m_start_u; }
5830  float GetEnd() const { return m_end_u; }
5832  int GetOptions () const { return m_options; }
5834  float const * GetWeights () const { return m_weights; }
5836  float * GetWeights () { return m_weights; }
5838  float const * GetKnots () const { return m_knots; }
5840  float * GetKnots () { return m_knots; }
5842  HT_NURBS_Trim const *GetList () const { return m_list; }
5844  HT_NURBS_Trim * GetList () { return m_list; }
5845 
5846 };
5847 
5849 
5854 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
5855  protected:
5856  unsigned char m_optionals;
5857  unsigned char m_degree[2];
5858  int m_size[2];
5861  float * m_weights;
5862  float * m_u_knots;
5863  float * m_v_knots;
5869  public:
5870  TK_NURBS_Surface();
5871  ~TK_NURBS_Surface();
5872 
5875  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5876 
5877  TK_Status ReadAscii (BStreamFileToolkit & tk);
5878  TK_Status WriteAscii (BStreamFileToolkit & tk);
5879 
5880  void Reset ();
5882  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
5883  float const points[] = 0, float const weights[] = 0,
5884  float const u_knots[] = 0, float const v_knots[] = 0);
5885  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
5886  double const points[] = 0, float const weights[] = 0,
5887  float const u_knots[] = 0, float const v_knots[] = 0);
5890  float const * GetPoints () const { return m_control_points; }
5892  float * GetPoints () { return m_control_points; }
5894  double const * GetDPoints () const { return m_dcontrol_points; }
5896  double * GetDPoints () { return m_dcontrol_points; }
5897 
5899  int GetUDegree () const { return m_degree[0]; }
5901  int GetVDegree () const { return m_degree[1]; }
5903  int GetUSize () const { return m_size[0]; }
5905  int GetVSize () const { return m_size[1]; }
5907  float const * GetWeights () const { return m_weights; }
5909  float * GetWeights () { return m_weights; }
5911  float const * GetUKnots () const { return m_u_knots; }
5913  float * GetUKnots () { return m_u_knots; }
5915  float const * GetVKnots () const { return m_v_knots; }
5917  float * GetVKnots () { return m_v_knots; }
5918 
5920  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5922  int GetOptions () const { return m_optionals; }
5923 
5925  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
5927  HT_NURBS_Trim * GetTrims () { return m_trims; }
5928 
5929 
5930 };
5931 
5933 
5938 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
5939  protected:
5940  int m_count;
5941  float * m_points;
5942  double * m_dpoints;
5943  char m_options;
5944 
5946  void set_points (int count, float const points[] = 0);
5947 
5948  public:
5951  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
5952  ~TK_Area_Light();
5953 
5956  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5957 
5958  TK_Status ReadAscii (BStreamFileToolkit & tk);
5959  TK_Status WriteAscii (BStreamFileToolkit & tk);
5960 
5961  void Reset ();
5962 
5967  void SetPoints (int count, float const points[] = 0) { set_points (count, points); }
5969  float const * GetPoints () const { return m_points; }
5971  float * GetPoints () { return m_points; }
5972 
5977  void SetDPoints (int count, double const points[] = 0) ;
5979  double const * GetDPoints () const { return m_dpoints; }
5981  double * GetDPoints () { return m_dpoints; }
5982 
5984  int GetCount () const { return m_count; }
5985 
5987  void SetOptions (int o) { m_options = (char)o; }
5989  int GetOptions () const { return (int)m_options; }
5990 };
5991 
5992 
5994 
5999 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
6000  protected:
6001  float m_position[3];
6002  float m_target[3];
6003  double m_dposition[3];
6004  double m_dtarget[3];
6005  float m_outer;
6006  float m_inner;
6008  char m_options;
6009 
6010  public:
6013  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
6014 
6017  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6018 
6019  TK_Status ReadAscii (BStreamFileToolkit & tk);
6020  TK_Status WriteAscii (BStreamFileToolkit & tk);
6021 
6023  void SetPosition (float x, float y, float z)
6024  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6026  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6028  float const * GetPosition () const { return m_position; }
6029 
6031  void SetDPosition (double x, double y, double z)
6032  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6034  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6036  double const * GetDPosition () const { return m_dposition; }
6037 
6039  void SetTarget (float x, float y, float z)
6040  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
6042  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
6044  float const * GetTarget () const { return m_target; }
6045 
6047  void SetDTarget (double x, double y, double z)
6048  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
6050  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
6052  double const * GetDTarget () const { return m_dtarget; }
6053 
6055  void SetOuter (float o) { m_outer = o; }
6057  float GetOuter () const { return m_outer; }
6058 
6060  void SetInner (float i) { m_inner = i; }
6062  float GetInner () const { return m_inner; }
6063 
6065  void SetConcentration (float c) { m_concentration = c; }
6067  float GetConcentration () const { return m_concentration; }
6068 
6070  void SetOptions (int o) { m_options = (char)o; }
6072  int GetOptions () const { return (int)m_options; }
6073 };
6074 
6075 
6077 
6082 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
6083  protected:
6084  float * m_planes;
6085  double * m_dplanes;
6086  int m_count;
6087 
6088  public:
6091  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
6092  ~TK_Cutting_Plane ();
6093 
6096  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6097 
6098  TK_Status ReadAscii (BStreamFileToolkit & tk);
6099  TK_Status WriteAscii (BStreamFileToolkit & tk);
6100 
6101  void Reset ();
6102 
6104  void SetPlanes (int count, float const p[]=0);
6106  void SetDPlanes (int count, double const p[]=0);
6107 
6109  void SetPlane (float a, float b, float c, float d)
6110  { SetPlanes(1);
6111  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
6113  void SetDPlane (double a, double b, double c, double d)
6114  { SetDPlanes(1);
6115  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
6116 
6118  void SetPlane (float const p[]) { SetPlanes (1, p); }
6120  void SetDPlane (double const p[]) { SetDPlanes (1, p); }
6121 
6123  float const * GetPlane () const { return m_planes; }
6125  double const * GetDPlane () const { return m_dplanes; }
6126 
6128  float const * GetPlanes () const { return m_planes; }
6130  double const * GetDPlanes () const { return m_dplanes; }
6131 
6133  int GetCount () const { return m_count; }
6134 };
6135 
6136 
6138 
6145 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
6146  protected:
6147  float m_points[9];
6148  float m_center[3];
6149  double m_dpoints[9];
6150  double m_dcenter[3];
6151  unsigned char m_flags;
6154  public:
6156  TK_Circle (unsigned char opcode)
6157  : BBaseOpcodeHandler (opcode), m_flags (0) {}
6158 
6161  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6162 
6163  TK_Status ReadAscii (BStreamFileToolkit & tk);
6164  TK_Status WriteAscii (BStreamFileToolkit & tk);
6165 
6166  void Reset ();
6167 
6169  void SetStart (float x, float y, float z) {
6170  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6171  }
6173  void SetStart (float const s[]) {
6174  SetStart (s[0], s[1], s[2]);
6175  }
6177  void SetMiddle (float x, float y, float z) {
6178  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6179  }
6181  void SetMiddle (float const m[]) {
6182  SetMiddle (m[0], m[1], m[2]);
6183  }
6185  void SetEnd (float x, float y, float z) {
6186  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6187  }
6189  void SetEnd (float const e[]) {
6190  SetEnd (e[0], e[1], e[2]);
6191  }
6193  void SetCenter (float x, float y, float z) {
6194  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6195  m_flags = TKO_Circular_Center;
6196  }
6198  void SetCenter (float const c[]) {
6199  if (c) SetCenter (c[0], c[1], c[2]);
6200  else m_flags = 0;
6201  }
6203  void SetPoints (float const s[], float const m[], float const e[],
6204  float const c[] = 0) {
6205  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
6206  }
6207 
6209  float const * GetStart () const { return &m_points[0]; }
6211  float const * GetMiddle () const { return &m_points[3]; }
6213  float const * GetEnd () const { return &m_points[6]; }
6215  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
6216 
6218  void SetDStart (double x, double y, double z) {
6219  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6220  }
6222  void SetDStart (double const s[]) {
6223  SetDStart (s[0], s[1], s[2]);
6224  }
6226  void SetDMiddle (double x, double y, double z) {
6227  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6228  }
6230  void SetDMiddle (double const m[]) {
6231  SetDMiddle (m[0], m[1], m[2]);
6232  }
6234  void SetDEnd (double x, double y, double z) {
6235  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6236  }
6238  void SetDEnd (double const e[]) {
6239  SetDEnd (e[0], e[1], e[2]);
6240  }
6242  void SetDCenter (double x, double y, double z) {
6243  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6244  m_flags = TKO_Circular_Center;
6245  }
6247  void SetDCenter (double const c[]) {
6248  if (c) SetDCenter (c[0], c[1], c[2]);
6249  else m_flags = 0;
6250  }
6252  void SetDPoints (double const s[], double const m[], double const e[],
6253  double const c[] = 0) {
6254  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
6255  }
6256 
6258  double const * GetDStart () const { return &m_dpoints[0]; }
6260  double const * GetDMiddle () const { return &m_dpoints[3]; }
6262  double const * GetDEnd () const { return &m_dpoints[6]; }
6264  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
6265 };
6266 
6267 
6269 
6276 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
6277  protected:
6278  float m_points[9];
6279  double m_dpoints[9];
6280  float m_limits[2];
6282  public:
6284  TK_Ellipse (unsigned char opcode)
6285  : BBaseOpcodeHandler (opcode) {}
6286 
6289  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6290 
6291  TK_Status ReadAscii (BStreamFileToolkit & tk);
6292  TK_Status WriteAscii (BStreamFileToolkit & tk);
6293 
6295  void SetCenter (float x, float y, float z) {
6296  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6297  }
6299  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6301  float const * GetCenter () const { return &m_points[0]; }
6302 
6304  void SetMajor (float x, float y, float z) {
6305  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6306  }
6308  void SetMajor (float const m[]) { SetMajor (m[0], m[1], m[2]); }
6310  float const * GetMajor () const { return &m_points[3]; }
6311 
6313  void SetMinor (float x, float y, float z) {
6314  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6315  }
6317  void SetMinor (float const m[]) { SetMinor (m[0], m[1], m[2]); }
6319  float const * GetMinor () const { return &m_points[6]; }
6320 
6321 
6323  void SetDCenter (double x, double y, double z) {
6324  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6325  }
6327  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6329  double const * GetDCenter () const { return &m_dpoints[0]; }
6330 
6332  void SetDMajor (double x, double y, double z) {
6333  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6334  }
6336  void SetDMajor (double const m[]) { SetDMajor (m[0], m[1], m[2]); }
6338  double const * GetDMajor () const { return &m_dpoints[3]; }
6339 
6341  void SetDMinor (double x, double y, double z) {
6342  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6343  }
6345  void SetDMinor (double const m[]) { SetDMinor (m[0], m[1], m[2]); }
6347  double const * GetDMinor () const { return &m_dpoints[6]; }
6348 
6350  void SetLimits (float s, float e) {
6351  m_limits[0] = s; m_limits[1] = e;
6352  }
6354  float const * GetLimits () const { return m_limits; }
6355 };
6356 
6357 
6359 
6366 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
6367  protected:
6368  unsigned char m_flags;
6369  float m_center[3];
6370  float m_radius;
6371  float m_axis[3];
6372  float m_ortho[3];
6373  double m_dcenter[3];
6374  double m_dradius;
6375  double m_daxis[3];
6376  double m_dortho[3];
6378  public:
6381  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
6382 
6385  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6386 
6387  TK_Status ReadAscii (BStreamFileToolkit & tk);
6388  TK_Status WriteAscii (BStreamFileToolkit & tk);
6389 
6390  void Reset ();
6391 
6393  void SetCenter (float x, float y, float z) {
6394  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6395  }
6397  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6399  float const * GetCenter () const { return m_center; }
6400 
6401 
6403  void SetRadius (float r) { m_radius = r; }
6405  float GetRadius () const { return m_radius; }
6406 
6408  void SetAxis (float x, float y, float z) {
6409  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
6410  if (x != 0.0f || y != 1.0f || z != 0.0f)
6411  m_flags &= ~TKSPH_NULL_AXIS;
6412  }
6414  void SetAxis (float const s[]) { SetAxis (s[0], s[1], s[2]); }
6416  float const * GetAxis () const { return m_axis; }
6417 
6419  void SetOrtho (float x, float y, float z) {
6420  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
6421  if (x != 1.0f || y != 0.0f || z != 0.0f)
6422  m_flags &= ~TKSPH_NULL_AXIS;
6423  }
6425  void SetOrtho (float const s[]) { SetOrtho (s[0], s[1], s[2]); }
6427  float const * GetOrtho () const { return m_ortho; }
6428 
6429 
6431  void SetDCenter (double x, double y, double z) {
6432  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6433  }
6435  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6437  double const * GetDCenter () const { return m_dcenter; }
6438 
6439 
6441  void SetDRadius (double r) { m_dradius = r; }
6443  double GetDRadius () const { return m_dradius; }
6444 
6446  void SetDAxis (double x, double y, double z) {
6447  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
6448  if (x != 0.0f || y != 1.0f || z != 0.0f)
6449  m_flags &= ~TKSPH_NULL_AXIS;
6450  }
6452  void SetDAxis (double const s[]) { SetDAxis (s[0], s[1], s[2]); }
6454  double const * GetDAxis () const { return m_daxis; }
6455 
6457  void SetDOrtho (double x, double y, double z) {
6458  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
6459  if (x != 1.0f || y != 0.0f || z != 0.0f)
6460  m_flags &= ~TKSPH_NULL_AXIS;
6461  }
6463  void SetDOrtho (double const s[]) { SetDOrtho (s[0], s[1], s[2]); }
6465  double const * GetDOrtho () const { return m_dortho; }
6466 
6467 
6471  enum Flags {
6472  TKSPH_NONE = 0x0,
6473  TKSPH_NULL_AXIS = 0x1
6474  };
6475 
6476 };
6477 
6478 
6480 
6487 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
6488  protected:
6489  float m_axis[6];
6490  float m_radius;
6491  double m_daxis[6];
6492  double m_dradius;
6493  unsigned char m_flags;
6495  public:
6498  : BBaseOpcodeHandler (TKE_Cylinder) {}
6499 
6502  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6503 
6504  TK_Status ReadAscii (BStreamFileToolkit & tk);
6505  TK_Status WriteAscii (BStreamFileToolkit & tk);
6506 
6508  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
6509  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
6510  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
6511  }
6513  void SetAxis (float const s[], float const e[]) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6515  void SetAxis (float const a[]) { SetAxis (&a[0], &a[3]); }
6517  float const * GetAxis () const { return m_axis; }
6519  float const * GetStart () const { return &m_axis[0]; }
6521  float const * GetEnd () const { return &m_axis[3]; }
6522 
6524  void SetRadius (float r) { m_radius = r; }
6526  float GetRadius () const { return m_radius; }
6527 
6528 
6530  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
6531  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
6532  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
6533  }
6535  void SetDAxis (double const s[], double const e[]) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6537  void SetDAxis (double const a[]) { SetDAxis (&a[0], &a[3]); }
6539  double const * GetDAxis () const { return m_daxis; }
6541  double const * GetDStart () const { return &m_daxis[0]; }
6543  double const * GetDEnd () const { return &m_daxis[3]; }
6544 
6546  void SetDRadius (double r) { m_dradius = r; }
6548  double GetDRadius () const { return m_dradius; }
6549 
6550 
6552  void SetCaps (int f) { m_flags = (unsigned char)f; }
6554  int GetCaps () const { return m_flags; }
6555 
6560  TKCYL_NONE = 0,
6561  TKCYL_FIRST = 1,
6562  TKCYL_SECOND = 2,
6563  TKCYL_BOTH = 3
6564  };
6565 
6566 };
6567 
6568 
6570 
6577 #include "BPolyhedron.h"
6578 
6579 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
6580  protected:
6581  int m_count;
6582  float * m_points;
6583  double * m_dpoints;
6585  float * m_radii;
6586  double * m_dradii;
6587  unsigned char m_flags;
6588  float m_normals[6];
6590  public:
6593  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
6594  m_radius_count (0), m_radii (0), m_dradii (0) {}
6595  ~TK_PolyCylinder();
6596 
6599  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6600 
6601  TK_Status ReadAscii (BStreamFileToolkit & tk);
6602  TK_Status WriteAscii (BStreamFileToolkit & tk);
6603 
6604  virtual void Reset ();
6605 
6610  TKCYL_NORMAL_FIRST = 0x04,
6611  TKCYL_NORMAL_SECOND = 0x08,
6612  TKCYL_OPTIONALS = 0x10
6613  };
6614 
6619  void SetPoints (int count, float const points[] = 0);
6621  float const * GetPoints () const { return m_points; }
6623  float * GetPoints () { return m_points; }
6624 
6629  void SetRadii (int count, float const radii[] = 0);
6631  void SetRadius (float radius) { SetRadii (1, &radius); }
6633  float const * GetRadii () const { return m_radii; }
6635  float * GetRadii () { return m_radii; }
6636 
6637 
6642  void SetDPoints (int count, double const points[] = 0);
6644  double const * GetDPoints () const { return m_dpoints; }
6646  double * GetDPoints () { return m_dpoints; }
6647 
6652  void SetDRadii (int count, double const radii[] = 0);
6654  void SetDRadius (double radius) { SetDRadii (1, &radius); }
6656  double const * GetDRadii () const { return m_dradii; }
6658  double * GetDRadii () { return m_dradii; }
6659 
6660 
6662  int GetCount () const { return m_count; }
6664  int GetRadiusCount () const { return m_radius_count; }
6665 
6666 
6667 
6668 
6670  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
6672  int GetCaps () const { return m_flags & 0x03; }
6673 
6675  void SetEndNormal (int index, float const normal[] = 0) {
6676  int mask = 0x40 << index;
6677  if (normal == 0)
6678  m_flags &= ~mask;
6679  else {
6680  m_flags |= mask;
6681  m_normals[3*index+0] = normal[0];
6682  m_normals[3*index+1] = normal[1];
6683  m_normals[3*index+2] = normal[2];
6684  }
6685  }
6687  float const * GetEndNormal (int index) const {
6688  int mask = 0x40 << index;
6689  if (m_flags & mask)
6690  return &m_normals[3*index];
6691  else
6692  return 0;
6693  }
6694 };
6695 
6696 
6698 
6704 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
6705  protected:
6706  char m_type;
6707  float m_points[9];
6708  double m_dpoints[9];
6709  int m_counts[2];
6711  public:
6714  : BBaseOpcodeHandler (TKE_Grid) {}
6715 
6718  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6719 
6720  TK_Status ReadAscii (BStreamFileToolkit & tk);
6721  TK_Status WriteAscii (BStreamFileToolkit & tk);
6722 
6724  void SetOrigin (float x, float y, float z) {
6725  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6726  }
6728  void SetOrigin (float const o[]) { SetOrigin (o[0], o[1], o[2]); }
6730  float const * GetOrigin () const { return &m_points[0]; }
6732  float * GetOrigin () { return &m_points[0]; }
6733 
6735  void SetRef1 (float x, float y, float z) {
6736  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6737  }
6739  void SetRef1 (float const r[]) { SetRef1 (r[0], r[1], r[2]); }
6741  float const * GetRef1 () const { return &m_points[3]; }
6743  float * GetRef1 () { return &m_points[3]; }
6744 
6746  void SetRef2 (float x, float y, float z) {
6747  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6748  }
6750  void SetRef2 (float const r[]) { SetRef2 (r[0], r[1], r[2]); }
6752  float const * GetRef2 () const { return &m_points[6]; }
6754  float * GetRef2 () { return &m_points[6]; }
6755 
6756 
6758  void SetDOrigin (double x, double y, double z) {
6759  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6760  }
6762  void SetDOrigin (double const o[]) { SetDOrigin (o[0], o[1], o[2]);}
6764  double const * GetDOrigin () const { return &m_dpoints[0]; }
6766  double * GetDOrigin () { return &m_dpoints[0]; }
6767 
6769  void SetDRef1 (double x, double y, double z) {
6770  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6771  }
6773  void SetDRef1 (double const r[]) { SetDRef1 (r[0], r[1], r[2]); }
6775  double const * GetDRef1 () const { return &m_dpoints[3]; }
6777  double * GetDRef1 () { return &m_dpoints[3]; }
6778 
6780  void SetDRef2 (double x, double y, double z) {
6781  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6782  }
6784  void SetDRef2 (double const r[]) { SetDRef2 (r[0], r[1], r[2]); }
6786  double const * GetDRef2 () const { return &m_dpoints[6]; }
6788  double * GetDRef2 () { return &m_dpoints[6]; }
6789 
6790 
6792  void SetCounts (int c1, int c2) {
6793  m_counts[0] = c1; m_counts[1] = c2;
6794  }
6796  int const * GetCounts () const { return m_counts; }
6798  int * GetCounts () { return m_counts; }
6799 
6801  void SetType (int t) { m_type = (char)t; }
6803  int GetType () const { return (int)m_type; }
6804 };
6805 
6807 
6810  char * name;
6811 
6812  float color[3];
6813  float size;
6816  float slant;
6817  float rotation;
6818  float width_scale;
6819 
6820  unsigned short mask;
6821  unsigned short value;
6822 
6823  unsigned char size_units;
6824  unsigned char vertical_offset_units;
6825  unsigned char horizontal_offset_units;
6826 };
6827 
6828 
6830 
6836 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
6837  protected:
6838  float m_position[3];
6839  double m_dposition[3];
6840  int m_length;
6842  char * m_string;
6843  unsigned char m_encoding;
6844  unsigned char m_options;
6845  unsigned char m_region_options;
6846  unsigned char m_region_fit;
6847  unsigned char m_region_count;
6848  float m_region[4*3];
6849  double m_dregion[4*3];
6851  int * m_cursors;
6853  float * m_leaders;
6854  unsigned char * m_leader_flags;
6856  double * m_dleaders;
6857  unsigned char * m_dleader_flags;
6858  int m_count;
6861  int m_tmp;
6863  void set_string (char const * string);
6864  void set_string (int length);
6865 
6866  public:
6868  TK_Text (unsigned char opcode);
6869  ~TK_Text();
6870 
6873  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6874 
6875  TK_Status ReadAscii (BStreamFileToolkit & tk);
6876  TK_Status WriteAscii (BStreamFileToolkit & tk);
6877 
6878  void Reset ();
6879 
6881  void SetString (char const * string) { set_string (string); }
6883  void SetString (unsigned short const * string);
6885  void SetString (unsigned int const * string);
6887  void SetString (int length) { set_string (length); }
6889  char const * GetString () const { return m_string; }
6891  char * GetString () { return m_string; }
6892 
6894  void SetPosition (float x, float y, float z)
6895  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6897  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6899  float const * GetPosition () const { return &m_position[0]; }
6900 
6902  void SetDPosition (double x, double y, double z)
6903  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6905  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6907  double const * GetDPosition () const { return &m_dposition[0]; }
6908 
6910  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
6912  int GetEncoding () const { return (int)m_encoding; }
6913 
6915  void SetTextRegion (int c, float const p[], int o=0, int f=0);
6917  void SetTextDRegion (int c, double const p[], int o=0, int f=0);
6919  int GetTextRegionCount () const { return (int)m_region_count; }
6921  float const * GetTextRegionPoints () const { return m_region; }
6923  double const * GetTextRegionDPoints () const { return m_dregion; }
6925  int GetTextRegionOptions () const { return (int)m_region_options; }
6927  int GetTextRegionFitting () const { return (int)m_region_fit; }
6928 
6929 
6931  void SetStringCursors (int length, int * locations = 0);
6933  int GetStringCursorCount () const { return m_cursor_count; }
6935  int const * GetStringCursors () const { return m_cursors; }
6937  int * GetStringCursors () { return m_cursors; }
6938 
6940  void SetTextLeaders (int length, float * locations = 0, unsigned char * flags = 0);
6942  int GetTextLeaderCount () const { return m_leader_count; }
6944  float const * GetTextLeaders () const { return m_leaders; }
6946  float * GetTextLeaders () { return m_leaders; }
6948  unsigned char const * GetTextLeaderFlags () const { return m_leader_flags; }
6950  unsigned char * GetTextLeaderFlags () { return m_leader_flags; }
6951 
6953  void SetDTextLeaders (int length, double * locations = 0, unsigned char * flags = 0);
6955  int GetDTextLeaderCount () const { return m_dleader_count; }
6957  double const * GetDTextLeaders () const { return m_dleaders; }
6959  double * GetDTextLeaders () { return m_dleaders; }
6961  unsigned char const * GetDTextLeaderFlags () const { return m_dleader_flags; }
6963  unsigned char * GetDTextLeaderFlags () { return m_dleader_flags; }
6964 };
6965 
6967 
6969 
6975 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
6976  protected:
6977  char * m_name;
6978  char * m_lookup;
6979  char * m_bytes;
6982  int m_length;
6983  unsigned char m_type;
6984  unsigned char m_encoding;
6986  void set_bytes (int size, char const * bytes = 0);
6989  void set_name (char const * string);
6991  void set_name (int length);
6993  void set_lookup (char const * string);
6995  void set_lookup (int length);
6996 
6997  public:
6999  TK_Font () : BBaseOpcodeHandler (TKE_Font),
7000  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
7001  m_type (0), m_encoding (0) {}
7002  ~TK_Font();
7003 
7006  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7007 
7008  TK_Status ReadAscii (BStreamFileToolkit & tk);
7009  TK_Status WriteAscii (BStreamFileToolkit & tk);
7010 
7011  void Reset ();
7012 
7013 
7015  void SetType (int t) { m_type = (unsigned char)t;}
7017  int GetType () const { return (int)m_type; }
7018 
7023  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
7025  int GetBytesCount () const { return m_length; }
7027  char const * GetBytes () const { return m_bytes; }
7029  char * GetBytes () { return m_bytes; }
7030 
7032  void SetName (char const * string) { set_name (string); }
7034  void SetName (int length) { set_name (length); }
7036  char const * GetName () const { return m_name; }
7038  char * GetName () { return m_name; }
7039 
7041  void SetLookup (char const * string) { set_lookup (string); }
7043  void SetLookup (int length) { set_lookup (length); }
7045  char const * GetLookup () const { return m_lookup; }
7047  char * GetLookup () { return m_lookup; }
7048 
7050  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
7052  int GetEncoding () const { return (int)m_encoding; }
7053 };
7054 
7056 
7057 
7059 extern const int TK_Image_Bytes_Per_Pixel[];
7060 
7061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
7062 
7063 class BBINFILETK_API2 TK_Image_Data_Buffer {
7064  protected:
7065  unsigned char * m_buffer;
7066  unsigned int m_allocated;
7067  unsigned int m_used;
7068 
7069  public:
7071  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
7072  ~TK_Image_Data_Buffer();
7073 
7074  void Resize (unsigned int size);
7075  void Expand (unsigned int size) { Resize (Size() + size); }
7076  void Reset ();
7077 
7078  unsigned int const & Size () const { return m_allocated; }
7079  unsigned int const & Used () const { return m_used; }
7080  unsigned int & Used () { return m_used; }
7081  unsigned char const * Buffer () const { return m_buffer; }
7082  unsigned char * Buffer () { return m_buffer; }
7083 };
7084 
7085 
7086 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
7087 
7088 
7090 
7096 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
7097  protected:
7098  char * m_bytes;
7099  char * m_name;
7100  char * m_reference;
7101  float m_position[3];
7102  double m_dposition[3];
7103  int m_size[2];
7107  unsigned char m_format;
7108  unsigned int m_options;
7109  unsigned char m_compression;
7110  unsigned char m_bytes_format;
7111  float m_explicit_size[2];
7112  unsigned char m_explicit_units[2];
7113  TK_Image_Data_Buffer m_work_area[2];
7118  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
7121  void set_name (char const * string);
7123  void set_name (int length);
7124 
7126  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7128  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7130  TK_Status read_jpeg_header ();
7131 
7132  public:
7134  TK_Image ();
7135  ~TK_Image();
7136 
7139  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7140 
7141  TK_Status ReadAscii (BStreamFileToolkit & tk);
7142  TK_Status WriteAscii (BStreamFileToolkit & tk);
7143  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
7144 
7145 
7146  void Reset ();
7147 
7152  void SetBytes (int size, char const * bytes = 0,
7153  unsigned char data_format = TKO_Compression_None)
7154  { set_data (size, bytes, data_format); }
7156  char const * GetBytes () const { return m_bytes; }
7158  char * GetBytes () { return m_bytes; }
7159 
7161  void SetName (char const * string) { set_name (string); }
7163  void SetName (int length) { set_name (length); }
7165  char const * GetName () const { return m_name; }
7167  char * GetName () { return m_name; }
7168 
7170  void SetReference (char const * string);
7172  void SetReference (int length);
7174  char const * GetReference () const { return m_reference; }
7176  char * GetReference () { return m_reference; }
7177 
7179  void SetPosition (float x, float y, float z)
7180  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7182  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
7184  float const * GetPosition () const { return &m_position[0]; }
7185 
7187  void SetDPosition (double x, double y, double z)
7188  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7190  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
7192  double const * GetDPosition () const { return &m_dposition[0]; }
7193 
7195  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7197  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7199  int const * GetSize () const { return m_size; }
7200 
7202  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
7204  int GetFormat () const { return (int)m_format; }
7205 
7207  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
7209  int GetOptions () const { return (int)m_options; }
7210 
7212  void SetCompression (int c) { m_compression = (unsigned char)c; }
7214  int GetCompression () const { return (int)m_compression; }
7215 };
7216 
7217 
7219 
7221 
7227 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
7228  protected:
7229  char * m_name;
7231  char * m_image;
7232  char * m_camera;
7237  int m_flags;
7248  char m_layout;
7249  char m_tiling;
7250  float m_value_scale[2];
7251  int m_source_dimensions[3];
7252  char * m_transform;
7256  void set_name (int length);
7257  void set_name (char const * name);
7258  void set_image (int length);
7259  void set_image (char const * image);
7260  void set_transform (int length);
7261  void set_transform (char const * transform);
7262 
7263  public:
7265  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
7266  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
7267  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
7268  m_transform (0) {
7269  Reset();
7270  }
7271  ~TK_Texture();
7272 
7275  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7276 
7277  TK_Status ReadAscii (BStreamFileToolkit & tk);
7278  TK_Status WriteAscii (BStreamFileToolkit & tk);
7279 
7280  void Reset ();
7281 
7283  void SetName (char const * name) { set_name (name); }
7285  void SetName (int length) { set_name (length); }
7287  char const * GetName () const { return m_name; }
7289  char * GetName () { return m_name; }
7290 
7292  void SetShaderSource (char const * shader_source);
7294  void SetShaderSource (int length);
7296  char const * GetShaderSource () const { return m_shader_source; }
7298  char * GetShaderSource () { return m_shader_source; }
7299 
7301  void SetImage (char const * image) { set_image (image); }
7303  void SetImage (int length) { set_image (length); }
7305  char const * GetImage () const { return m_image; }
7307  char * GetImage () { return m_image; }
7308 
7310  void SetCamera (char const * camera);
7312  void SetCamera (int length);
7314  char const * GetCamera () const { return m_camera; }
7316  char * GetCamera () { return m_camera; }
7317 
7319  void SetFlags (int f) {
7320  m_flags = f;
7321  if ((f & TKO_Texture_Extended_Mask) != 0)
7322  m_flags |= TKO_Texture_Extended;
7323  }
7325  int GetFlags () const { return m_flags; }
7326 
7328  void SetParameterSource (int p) { m_param_source = (char)p; }
7330  int GetParameterSource () const { return (int)m_param_source; }
7331 
7333  void SetInterpolation (int p) { m_interpolation = (char)p; }
7335  int GetInterpolation () const { return (int)m_interpolation; }
7336 
7338  void SetDecimation (int p) { m_decimation = (char)p; }
7340  int GetDecimation () const { return (int)m_decimation; }
7341 
7343  void SetRedMapping (int p) { m_red_mapping = (char)p; }
7345  int GetRedMapping () const { return (int)m_red_mapping; }
7346 
7348  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
7350  int GetGreenMapping () const { return (int)m_green_mapping; }
7351 
7353  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
7355  int GetBlueMapping () const { return (int)m_blue_mapping; }
7356 
7358  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
7360  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
7361 
7363  void SetParameterFunction (int p) { m_param_function = (char)p; }
7365  int GetParameterFunction () const { return (int)m_param_function; }
7366 
7368  void SetLayout (int p) { m_layout = (char)p; }
7370  int GetLayout () const { return (int)m_layout; }
7371 
7373  void SetTiling (int p) { m_tiling = (char)p; }
7375  int GetTiling () const { return (int)m_tiling; }
7376 
7378  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
7380  float const * GetValueScale () const { return m_value_scale; }
7381 
7383  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
7385  int GetApplicationMode () const { return (int)m_apply_mode; }
7386 
7388  void SetParameterOffset (int p) { m_param_offset = (char)p; }
7390  int GetParameterOffset () const { return (int)m_param_offset; }
7391 
7396  void SetTransform (char const * transform) { set_transform (transform); }
7401  void SetTransform (int length) { set_transform (length); }
7403  char const * GetTransform () const { return m_transform; }
7405  char * GetTransform () { return m_transform; }
7406 };
7407 
7409 
7411 
7417 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
7418  protected:
7419  unsigned char * m_bytes;
7421  int m_size[2];
7422  unsigned char m_format;
7424  public:
7426  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
7427  ~TK_Thumbnail();
7428 
7431  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7432 
7433  TK_Status ReadAscii (BStreamFileToolkit & tk);
7434  TK_Status WriteAscii (BStreamFileToolkit & tk);
7435 
7437  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
7438  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
7439  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
7440  void Reset ();
7441 
7446  void SetBytes (int size, unsigned char const * bytes = 0);
7448  unsigned char const * GetBytes () const { return m_bytes; }
7450  unsigned char * GetBytes () { return m_bytes; }
7451 
7453  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7455  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7457  int const * GetSize () const { return m_size; }
7458 
7460  void SetFormat (int f) { m_format = (unsigned char)f; }
7462  int GetFormat () const { return (int)m_format; }
7463 };
7464 
7465 
7467 
7469 
7474 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
7475  protected:
7477  int m_size;
7478  char * m_name;
7479  char * m_data;
7481  public:
7483  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
7484  m_name_length (0), m_size (0),
7485  m_name (0), m_data (0) {}
7487 
7490  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7491 
7492  TK_Status ReadAscii (BStreamFileToolkit & tk);
7493  TK_Status WriteAscii (BStreamFileToolkit & tk);
7494 
7495  void Reset ();
7496 
7498  void SetName (char const * name);
7500  void SetName (int length);
7502  char const * GetName () const { return m_name; }
7504  char * GetName () { return m_name; }
7505 
7507  void SetDefinition (int size, char const * data = 0);
7509  int GetDefinitionSize () const { return m_size; }
7511  char const * GetDefinition () const { return m_data; }
7513  char * GetDefinition () { return m_data; }
7514 };
7515 
7516 
7518 
7523 class BBINFILETK_API2 TK_Shape_Definition : public BBaseOpcodeHandler {
7524  protected:
7526  int m_size;
7527  char * m_name;
7528  float * m_data;
7530  public:
7532  TK_Shape_Definition () : BBaseOpcodeHandler (TKE_Shape_Definition),
7533  m_name_length (0), m_size (0),
7534  m_name (0), m_data (0) {}
7536 
7539  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7540 
7541  TK_Status ReadAscii (BStreamFileToolkit & tk);
7542  TK_Status WriteAscii (BStreamFileToolkit & tk);
7543 
7544  void Reset ();
7545 
7547  void SetName (char const * name);
7549  void SetName (int length);
7551  char const * GetName () const { return m_name; }
7553  char * GetName () { return m_name; }
7554 
7556  void SetDefinition (int size, float const * data = 0);
7558  int GetDefinitionSize () const { return m_size; }
7560  float const * GetDefinition () const { return m_data; }
7562  float * GetDefinition () { return m_data; }
7563 };
7564 
7565 
7567 
7572 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
7573  protected:
7575  char * m_name;
7578  char * m_segment;
7582  char * m_condition;
7586  bool m_follow;
7587 
7588  public:
7591  m_name_length (0), m_name (0),
7592  m_segment_length (0), m_segment (0) ,
7593  m_cond_length (0), m_cond_allocated (0), m_condition (0),
7594  m_key(-1), m_referee(0), m_follow(true) {}
7595  ~TK_Named_Style_Def();
7596 
7599  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7600 
7601  TK_Status ReadAscii (BStreamFileToolkit & tk);
7602  TK_Status WriteAscii (BStreamFileToolkit & tk);
7603 
7604  void Reset ();
7605 
7607  void SetName (char const * name);
7609  void SetName (int length);
7611  char const * GetName () const { return m_name; }
7613  char * GetName () { return m_name; }
7614 
7619  void SetSegment (char const * segment);
7624  void SetSegment (int length);
7628  char const * GetSegment () const { return m_segment; }
7633  char * GetSegment () { return m_segment; }
7634 };
7635 
7637 
7642 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
7643  protected:
7646  char * m_name;
7647  char * m_definition;
7649  public:
7651  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
7652  m_name_length (0), m_definition_length (0),
7653  m_name (0), m_definition (0) {}
7654  ~TK_Line_Style();
7655 
7658  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7659 
7660  TK_Status ReadAscii (BStreamFileToolkit & tk);
7661  TK_Status WriteAscii (BStreamFileToolkit & tk);
7662 
7663  void Reset ();
7664 
7666  void SetName (char const * name);
7668  void SetName (int length);
7670  char const * GetName () const { return m_name; }
7672  char * GetName () { return m_name; }
7673 
7675  void SetDefinition (char const * def);
7677  void SetDefinition (int length);
7679  char const * GetDefinition () const { return m_definition; }
7681  char * GetDefinition () { return m_definition; }
7682 };
7683 
7685 
7687 
7692 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
7693  protected:
7694  char m_options;
7695  float m_rect[4];
7697  public:
7700  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
7701 
7704  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7705 
7706  TK_Status ReadAscii (BStreamFileToolkit & tk);
7707  TK_Status WriteAscii (BStreamFileToolkit & tk);
7708 
7709  void Reset ();
7710 
7712  void SetRectangle (float left, float right, float bottom, float top)
7713  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
7715  void SetRectangle (float const * rect)
7716  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
7718  float const * GetRectangle () const { return m_rect; }
7719 
7721  void SetOptions (int o) { m_options = (char)o; }
7723  int GetOptions () const { return (int)m_options; }
7724 };
7725 
7727 
7729 
7734 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
7735  protected:
7736  char m_options;
7737  int m_count;
7738  float * m_points;
7739  double * m_dpoints;
7743  public:
7746  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0), m_complex (0) {}
7747  ~TK_Clip_Region();
7748 
7751  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7752 
7753  TK_Status ReadAscii (BStreamFileToolkit & tk);
7754  TK_Status WriteAscii (BStreamFileToolkit & tk);
7755 
7756  void Reset ();
7757 
7762  void SetPoints (int count, float const points[] = 0);
7764  float const * GetPoints () const { return m_points; }
7766  float * GetPoints () { return m_points; }
7767 
7772  void SetDPoints (int count, double const points[] = 0);
7774  double const * GetDPoints () const { return m_dpoints; }
7776  double * GetDPoints () { return m_dpoints; }
7777 
7778 
7780  int GetCount () const { return m_count; }
7781 
7782 
7784  void SetOptions (int o) { m_options = (char)o; }
7786  int GetOptions () const { return (int)m_options; }
7787 };
7788 
7789 
7791 
7793 
7798 class BBINFILETK_API TK_Complex_Clip_Region : public BBaseOpcodeHandler {
7799  protected:
7800  char m_options;
7801  int m_loops;
7802  int m_total;
7803  int * m_lengths;
7804  float * m_points;
7805  double * m_dpoints;
7807  public:
7810  : BBaseOpcodeHandler (TKE_Complex_Clip_Region), m_options (0), m_loops (0), m_total (0),
7811  m_lengths (0), m_points (0), m_dpoints (0) {}
7813 
7816  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7817 
7818  TK_Status ReadAscii (BStreamFileToolkit & tk);
7819  TK_Status WriteAscii (BStreamFileToolkit & tk);
7820 
7821  void Reset ();
7822 
7827  void SetPoints (int count, float const points[] = 0);
7829  float const * GetPoints () const { return m_points; }
7831  float * GetPoints () { return m_points; }
7832 
7837  void SetDPoints (int count, double const points[] = 0);
7839  double const * GetDPoints () const { return m_dpoints; }
7841  double * GetDPoints () { return m_dpoints; }
7842 
7843 
7848  void SetLengths (int count, int const lengths[] = 0);
7850  int const * GetLengths () const { return m_lengths; }
7852  int * GetLengths () { return m_lengths; }
7853 
7854 
7856  int GetTotal () const { return m_total; }
7858  int GetLoops () const { return m_loops; }
7859 
7860 
7862  void SetOptions (int o) { m_options = (char)o; }
7864  int GetOptions () const { return (int)m_options; }
7865 };
7866 
7867 
7869 
7871 
7887 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
7888  protected:
7889  int m_size;
7890  unsigned char * m_data;
7893  void set_data (int size, unsigned char const * bytes = 0);
7895 
7896  public:
7899  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
7900  ~TK_User_Data();
7901 
7904  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7905 
7906  TK_Status ReadAscii (BStreamFileToolkit & tk);
7907  TK_Status WriteAscii (BStreamFileToolkit & tk);
7908 
7910  void Reset ();
7911 
7916  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
7918  unsigned char const * GetUserData () const { return m_data; }
7920  unsigned char * GetUserData () { return m_data; }
7922  int GetSize () const { return m_size; }
7923 
7925  void Resize (int size);
7926 
7928  void SetSize (int size);
7929 };
7930 
7931 
7933 
7935 
7947 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
7948  protected:
7950 
7953  struct vlist_s *m_data;
7954 
7955  public:
7957  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
7958  ~TK_Material();
7959 
7962  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7963  void Reset ();
7964 
7965  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
7966  TK_Status GetBlock (char const **ptr, int *buffer_size);
7967 };
7968 
7970 
7975 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
7976  protected:
7977  int m_size;
7978  char * m_data;
7980  public:
7982  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
7983  ~TK_XML();
7984 
7987  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7988 
7989  TK_Status ReadAscii (BStreamFileToolkit & tk);
7990  TK_Status WriteAscii (BStreamFileToolkit & tk);
7991 
7993  void Reset ();
7994 
7999  void SetXML (int size, char const * data = 0);
8003  void AppendXML (int size, char const * data = 0);
8005  char const * GetXML () const { return m_data; }
8007  char * GetXML () { return m_data; }
8009  int GetSize () const { return m_size; }
8010 };
8011 
8012 
8013 
8015 
8021 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
8022  protected:
8023  int m_length;
8025  char * m_string;
8027  public:
8030  m_length (0), m_allocated (0), m_string (0) {}
8031  ~TK_URL();
8032 
8035  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8036 
8037  TK_Status ReadAscii (BStreamFileToolkit & tk);
8038  TK_Status WriteAscii (BStreamFileToolkit & tk);
8039 
8040  void Reset ();
8041 
8043  void SetString (char const * string);
8045  void SetString (int length);
8047  char const * GetString () const { return m_string; }
8049  char * GetString () { return m_string; }
8050 };
8051 
8052 
8054 
8060 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
8061  protected:
8062  int m_length;
8064  char * m_string;
8066  public:
8067  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
8068  m_length (0), m_allocated (0), m_string (0) {}
8070 
8073  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8074 
8075  TK_Status ReadAscii (BStreamFileToolkit & tk);
8076  TK_Status WriteAscii (BStreamFileToolkit & tk);
8077 
8079  void Reset ();
8080 
8082  void SetString (char const * string);
8084  void SetString (int length);
8086  char const * GetString () const { return m_string; }
8088  char * GetString () { return m_string; }
8089 };
8090 
8091 
8093 
8099 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
8100  protected:
8101  int m_length;
8103  wchar_t * m_string;
8105  public:
8106  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
8107  m_length (0), m_allocated (0), m_string (0) {}
8109 
8112  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8113 
8115  void Reset ();
8116 
8118  void SetString (__wchar_t const * string);
8119 #ifdef _MSC_VER
8120  void SetString (unsigned short const * string);
8121 #endif
8122 
8123  void SetString (int length);
8125  wchar_t const * GetString () const { return m_string; }
8127  wchar_t * GetString () { return m_string; }
8128 };
8129 
8130 
8131 
8132 
8134 
8140 class BBINFILETK_API TK_Image_XRef : public BBaseOpcodeHandler {
8141  protected:
8142  char * m_name;
8144  int m_size[2];
8145  char m_bpp;
8146 
8148  void set_name (char const * string);
8150  void set_name (int length);
8151 
8152  public:
8153  TK_Image_XRef () : BBaseOpcodeHandler (TKE_Image_XRef), m_name (0), m_name_length (0), m_bpp(0)
8154  { m_size[0] = m_size[1] = 0; }
8155  ~TK_Image_XRef();
8156 
8159  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8161  void Reset (void);
8162 
8164  void SetName (char const * string) { set_name (string);}
8166  void SetName (int length) { set_name (length);}
8168  char const * GetName (void) const { return m_name;}
8170  char * GetName (void) { return m_name;}
8171 
8172  void SetSize (int x, int y ) { m_size[0] = x; m_size[1] = y;}
8173  int const* GetSize (void) const { return m_size;}
8174  int * GetSize (void) { return m_size;}
8175 
8176  void SetBitDepth( char bpp ) { m_bpp = bpp;}
8177  char GetBitDepth (void) const { return m_bpp;}
8178  char GetBitDepth (void) { return m_bpp;}
8179 };
8180 
8181 
8182 #endif //BOPCODE_HANDLER
8183 
int GetFlags() const
Definition: BOpcodeHandler.h:7325
void SetOptions(int o)
Definition: BOpcodeHandler.h:5799
void SetAxis(float const s[], float const e[])
Definition: BOpcodeHandler.h:6513
char ** m_isoline_patterns
for internal use only.
Definition: BOpcodeHandler.h:2507
char * GetString()
Definition: BOpcodeHandler.h:2180
void SetColorMarkerContrastLockMask(int m)
Definition: BOpcodeHandler.h:3060
void SetRoughnessMap(char const *name)
Definition: BOpcodeHandler.h:2282
float * m_control_points
Definition: BOpcodeHandler.h:5687
int m_nurbs_options_value
For internal use only.
Definition: BOpcodeHandler.h:2537
static TK_Status PutData(BStreamFileToolkit &tk, short const *s, int n)
Definition: BOpcodeHandler.h:352
shift corresponding to extended bit
Definition: BOpcodeEnums.h:281
char const * GetCondition() const
Definition: BOpcodeHandler.h:4748
int GetOptions() const
Definition: BOpcodeHandler.h:5922
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:4189
char const * GetCoordinateSystems() const
Definition: BOpcodeHandler.h:4289
char const * GetCondition() const
Definition: BOpcodeHandler.h:1356
unsigned char m_cut_geometry_usage
For internal use only.
Definition: BOpcodeHandler.h:2568
float const * GetPoints() const
Definition: BOpcodeHandler.h:5721
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2501
int const * GetRenderers() const
Definition: BOpcodeHandler.h:5383
int GetMaskTransform() const
Definition: BOpcodeHandler.h:3775
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:3676
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:4776
for further expansion
Definition: BOpcodeEnums.h:1190
void SetPoints(float const s[], float const e[])
Definition: BOpcodeHandler.h:5586
int value
For internal use only.
Definition: BOpcodeHandler.h:1058
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5979
char * m_coordinate_systems
internal use
Definition: BOpcodeHandler.h:4233
void SetType(int t)
Definition: BOpcodeHandler.h:6801
float const * GetPoints() const
Definition: BOpcodeHandler.h:5822
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:7699
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:3180
int m_name_length
Definition: BOpcodeHandler.h:7476
TK_Grid()
Definition: BOpcodeHandler.h:6713
int m_name_length
Definition: BOpcodeHandler.h:7105
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:3533
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:4027
char * GetName()
Definition: BOpcodeHandler.h:7038
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:3876
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:2712
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:4124
void SetDUpVector(double const u[])
Definition: BOpcodeHandler.h:5087
void SetVisibilityLockValue(int v)
Definition: BOpcodeHandler.h:2749
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:671
int GetPattern() const
Definition: BOpcodeHandler.h:4603
unsigned char const * GetDTextLeaderFlags() const
Definition: BOpcodeHandler.h:6961
float * m_v_knots
Definition: BOpcodeHandler.h:5863
void SetPattern(int p)
Definition: BOpcodeHandler.h:4601
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:3868
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3399
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6644
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:7420
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:1847
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5688
void SetCoordinateSystems(int count, char const cs[])
Definition: BOpcodeHandler.h:4280
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1409
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:5084
int GetCutGeometryLevel() const
Definition: BOpcodeHandler.h:3786
int GetColorWindowContrastLockValue() const
Definition: BOpcodeHandler.h:2961
void SetTransmission(float const rgb[])
Definition: BOpcodeHandler.h:1843
int GetNURBSCurveBudget() const
Definition: BOpcodeHandler.h:3598
void SetLodFallback(int v)
Definition: BOpcodeHandler.h:3646
double * m_dpoints
Definition: BOpcodeHandler.h:6583
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:3463
float * m_leaders
Definition: BOpcodeHandler.h:6853
void SetOptions(int o)
Definition: BOpcodeHandler.h:7721
char * m_name
Definition: BOpcodeHandler.h:8142
static TK_Status GetData(BStreamFileToolkit &tk, unsigned char *b, int n)
Definition: BOpcodeHandler.h:295
void SetColorLockValue(int v)
Definition: BOpcodeHandler.h:2772
static TK_Status PutData(BStreamFileToolkit &tk, char const *b, int n)
Definition: BOpcodeHandler.h:349
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:7182
float const * GetUKnots() const
Definition: BOpcodeHandler.h:5911
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:4092
int m_count
internal use
Definition: BOpcodeHandler.h:5940
int m_lookup_length
Definition: BOpcodeHandler.h:6981
int m_shader_source_length
Definition: BOpcodeHandler.h:7234
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:1851
void SetDRef1(double const r[])
Definition: BOpcodeHandler.h:6773
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6031
void SetGeneralDisplacement(int d)
Definition: BOpcodeHandler.h:2707
unsigned short mask
specifies which settings are active (i.e. the attributes for which we have an opinion at this point) ...
Definition: BOpcodeHandler.h:6820
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4861
float const * GetOrigin() const
Definition: BOpcodeHandler.h:6730
unsigned int NextOpcodeSequence()
Definition: BStreamFileToolkit.h:1037
char const * GetCallback() const
Definition: BOpcodeHandler.h:2432
TK_Header()
Definition: BOpcodeHandler.h:878
int m_values_length
internal use
Definition: BOpcodeHandler.h:2121
float GetSize() const
Definition: BOpcodeHandler.h:4575
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:3920
float const * GetField() const
Definition: BOpcodeHandler.h:5098
unsigned char m_degree
Definition: BOpcodeHandler.h:5778
void SetAmbientUpVector(float const v[])
Definition: BOpcodeHandler.h:3960
Capping_Options
Definition: BOpcodeHandler.h:6609
int GetDTextLeaderCount() const
Definition: BOpcodeHandler.h:6955
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:2590
int m_shape_length
for internal use only
Definition: BOpcodeHandler.h:5225
int GetOrientationCount() const
Definition: BOpcodeHandler.h:4275
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:5233
bool GetStreaming() const
Definition: BOpcodeHandler.h:4672
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:7562
float const * GetRectangle() const
Definition: BOpcodeHandler.h:7718
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:4304
int GetMask() const
Definition: BOpcodeHandler.h:5270
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:2702
int m_size
Definition: BOpcodeHandler.h:7889
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeEnums.h:1127
void SetFormat(int f)
Definition: BOpcodeHandler.h:7202
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:5113
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:2887
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:4586
double * m_dpoints
Definition: BOpcodeHandler.h:7739
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:6814
self-explanatory
Definition: BOpcodeEnums.h:268
char * m_shader_source
Definition: BOpcodeHandler.h:7230
int m_length
internal use
Definition: BOpcodeHandler.h:941
////
Definition: BOpcodeEnums.h:135
short color_face_value
For internal use only.
Definition: BOpcodeHandler.h:1062
void SetColorWindowForcedLockMask(int m)
Definition: BOpcodeHandler.h:3302
int GetDown() const
Definition: BOpcodeHandler.h:4430
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:3539
float * GetPoints()
Definition: BOpcodeHandler.h:5892
short m_type
Definition: BOpcodeHandler.h:4724
void SetOcclusionFactor(float f)
Definition: BOpcodeHandler.h:2330
void SetTechnology(int t)
Definition: BOpcodeHandler.h:2682
int m_surface_trim_budget
For internal use only.
Definition: BOpcodeHandler.h:2541
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:5067
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:3944
char m_options
for internal use only
Definition: BOpcodeHandler.h:6008
void GetDField(double f[]) const
Definition: BOpcodeHandler.h:5109
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:5412
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:5784
void SetDPoints(double const p[])
Definition: BOpcodeHandler.h:5604
char const * GetSegment() const
Definition: BOpcodeHandler.h:1208
int GetBytesCount() const
Definition: BOpcodeHandler.h:7025
void SetTolerance(float t)
Definition: BOpcodeHandler.h:5315
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:7405
void SetSimpleShadowBlur(int m)
Definition: BOpcodeHandler.h:3838
float m_surface_max_facet_angle
For internal use only.
Definition: BOpcodeHandler.h:2543
int GetVSize() const
Definition: BOpcodeHandler.h:5905
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:4227
float m_radius
Definition: BOpcodeHandler.h:6490
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5057
void SetLodBounding(float const s[], float const e[])
Definition: BOpcodeHandler.h:3656
float m_hlr_weight
for internal use only.
Definition: BOpcodeHandler.h:2490
double * GetDTextLeaders()
Definition: BOpcodeHandler.h:6959
float GetIndex() const
Definition: BOpcodeHandler.h:1895
char * m_name
Definition: BOpcodeHandler.h:7575
void SetBufferOptionsMask(int v)
Definition: BOpcodeHandler.h:3531
int m_nurbs_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2536
float * m_control_points
Definition: BOpcodeHandler.h:5859
int m_loops
Definition: BOpcodeHandler.h:7801
void SetImage(int length)
Definition: BOpcodeHandler.h:7303
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1064
void SetEncoding(int e)
Definition: BOpcodeHandler.h:7050
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1228
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4225
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4389
int m_debug_allocated
Definition: BOpcodeHandler.h:70
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3445
void SetDEnd(double const e[])
Definition: BOpcodeHandler.h:6238
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:857
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:4799
static TK_Status GetData(BStreamFileToolkit &tk, float *f, int n)
Definition: BOpcodeHandler.h:279
void SetColorFaceLockMask(int m)
Definition: BOpcodeHandler.h:2784
short color_window_mask
For internal use only.
Definition: BOpcodeHandler.h:1071
int m_allocated
Definition: BOpcodeHandler.h:8102
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1622
void SetSelectionCulling(int c)
Definition: BOpcodeHandler.h:4116
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:6408
float m_max_distance
internal use; max distance
Definition: BOpcodeHandler.h:4032
void SetDPoints(double const s[], double const m[], double const e[], double const c[]=0)
Definition: BOpcodeHandler.h:6252
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:3624
channel m_transmission
internal use
Definition: BOpcodeHandler.h:1737
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6487
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6299
float m_radius
Definition: BOpcodeHandler.h:6370
void Reset(void)
Definition: BOpcodeHandler.h:5523
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
unsigned char m_flags
Definition: BOpcodeHandler.h:6368
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:2664
int GetOptions() const
Definition: BOpcodeHandler.h:7786
char * m_string
internal use
Definition: BOpcodeHandler.h:2124
TK_Sphere()
Definition: BOpcodeHandler.h:6380
double * GetDRadii()
Definition: BOpcodeHandler.h:6658
float const * GetEnd() const
Definition: BOpcodeHandler.h:6521
////
Definition: BOpcodeEnums.h:51
double * m_dpoints
Definition: BOpcodeHandler.h:7805
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:3890
double * GetDOrigin()
Definition: BOpcodeHandler.h:6766
void SetInner(float i)
Definition: BOpcodeHandler.h:6060
unsigned char m_region_count
Definition: BOpcodeHandler.h:6847
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:226
TK_Conditional_Action()
Definition: BOpcodeHandler.h:4731
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:6113
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:665
int GetRedMapping() const
Definition: BOpcodeHandler.h:7345
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeEnums.h:1435
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3371
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7509
double GetDRadius() const
Definition: BOpcodeHandler.h:6443
Handles the TKE_Termination and TKE_Pause opcodes.
Definition: BOpcodeHandler.h:1005
unsigned short m_contour_options
for internal use only.
Definition: BOpcodeHandler.h:2496
char * m_condition
Definition: BOpcodeHandler.h:7582
float GetNormalFactor() const
Definition: BOpcodeHandler.h:2317
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:5942
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3272
TK_Thumbnail()
Definition: BOpcodeHandler.h:7426
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:5505
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:6209
void SetLookup(int length)
Definition: BOpcodeHandler.h:7043
void SetChannels(int c)
Definition: BOpcodeHandler.h:1787
near limit setting
Definition: BOpcodeEnums.h:1160
float m_end_u
Definition: BOpcodeHandler.h:5783
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:243
void SetName(int length)
Definition: BOpcodeHandler.h:7034
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6026
short color_window_value
For internal use only.
Definition: BOpcodeHandler.h:1072
float m_cut_geometry_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2569
float * m_points
Definition: BOpcodeHandler.h:5776
type for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:670
void SetShadowMap(int m)
Definition: BOpcodeHandler.h:3885
void SetEnd(float x, float y, float z)
Definition: BOpcodeHandler.h:6185
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6905
double * GetDPoints()
Definition: BOpcodeHandler.h:5896
int m_cond_allocated
Definition: BOpcodeHandler.h:1385
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:4094
char * m_name
Definition: BOpcodeHandler.h:7229
char m_green_mapping
Definition: BOpcodeHandler.h:7244
char * GetSegment()
Definition: BOpcodeHandler.h:1340
char * GetString()
Definition: BOpcodeHandler.h:8088
unsigned char m_encoding
Definition: BOpcodeHandler.h:6984
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:938
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1197
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:7360
TK_Bounding(unsigned char opcode, double min[], double max[])
Definition: BOpcodeHandler.h:5470
Definition: BOpcodeHandler.h:4611
void SetBumpName(char const *name)
Definition: BOpcodeHandler.h:1880
float GetHlrFaceSortingAlgorithm() const
Definition: BOpcodeHandler.h:3580
void SetImageScale(float const s[])
Definition: BOpcodeHandler.h:3967
char * m_style
for internal use only
Definition: BOpcodeHandler.h:5228
void SetOrtho(float const s[])
Definition: BOpcodeHandler.h:6425
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1452
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7679
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:5209
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:6042
virtual void Reset()
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4387
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:4154
float m_glyph_rotation
For internal use only.
Definition: BOpcodeHandler.h:2624
void SetGloss(float g)
Definition: BOpcodeHandler.h:1889
int GetTessellationMask() const
Definition: BOpcodeHandler.h:3726
char const * GetName() const
Definition: BOpcodeHandler.h:7287
TK_Delete_Object()
Definition: BOpcodeHandler.h:1483
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:6090
void SetCallback(int length)
Definition: BOpcodeHandler.h:2430
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:4134
int GetGeometry() const
Definition: BOpcodeHandler.h:4419
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:4028
static TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:449
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4447
void SetAxis(float const a[])
Definition: BOpcodeHandler.h:6515
void SetValue(float const triple[])
Definition: BOpcodeHandler.h:2005
int m_style_length
for internal use only
Definition: BOpcodeHandler.h:5226
wchar_t * m_string
Definition: BOpcodeHandler.h:8103
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:4018
int m_min_triangle_count
For internal use only.
Definition: BOpcodeHandler.h:2525
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:6764
short color_cut_face_value
For internal use only.
Definition: BOpcodeHandler.h:1094
float GetHlrDimFactor() const
Definition: BOpcodeHandler.h:3568
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information...
Definition: BStreamFileToolkit.h:367
void SetDAxis(double const s[])
Definition: BOpcodeHandler.h:6452
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:6156
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:4182
int m_flags
Definition: BOpcodeHandler.h:7237
float const * GetTransmission() const
Definition: BOpcodeHandler.h:1849
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:4230
int const * GetLengths() const
Definition: BOpcodeHandler.h:7850
void SetCutVisualizationMask(int m)
Definition: BOpcodeHandler.h:4294
static TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:322
char m_layout
Definition: BOpcodeHandler.h:7248
static int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:509
float GetInner() const
Definition: BOpcodeHandler.h:6062
char const * GetName() const
Definition: BOpcodeHandler.h:7551
char * GetXML()
Definition: BOpcodeHandler.h:8007
int m_leader_count
Definition: BOpcodeHandler.h:6852
char const * GetEmissiveMap() const
Definition: BOpcodeHandler.h:2268
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4385
float * m_points
Definition: BOpcodeHandler.h:5624
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:2672
Definition: BOpcodeEnums.h:378
int const * GetSize() const
Definition: BOpcodeHandler.h:7457
char const * GetName() const
Definition: BOpcodeHandler.h:7502
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:3923
int GetCutGeometryUsage() const
Definition: BOpcodeHandler.h:3796
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:5393
int GetOptions() const
Definition: BOpcodeHandler.h:5739
unsigned char m_format
Definition: BOpcodeHandler.h:7422
int GetBufferOptionsValue() const
Definition: BOpcodeHandler.h:3537
static TK_Status PutData(BStreamFileToolkit &tk, int const *i, int n)
Definition: BOpcodeHandler.h:373
void SetRadius(float radius)
Definition: BOpcodeHandler.h:6631
int m_count
Definition: BOpcodeHandler.h:6858
int m_count
Definition: BOpcodeHandler.h:5775
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3318
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:4097
float GetRoughnessFactor() const
Definition: BOpcodeHandler.h:2327
float const * GetPosition() const
Definition: BOpcodeHandler.h:6028
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7474
static void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:534
int m_size
Definition: BOpcodeHandler.h:7977
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3497
float const * GetEmission() const
Definition: BOpcodeHandler.h:1864
void SetView(char const *name)
Definition: BOpcodeHandler.h:5141
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2613
int m_knot_count_implicit
Definition: BOpcodeHandler.h:5686
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:64
self-explanatory
Definition: BOpcodeEnums.h:1277
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:5037
float GetSimpleShadowOpacity() const
Definition: BOpcodeHandler.h:3881
short color_marker_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1086
int GetNURBSOptionsValue() const
Definition: BOpcodeHandler.h:3594
int m_allocated
Definition: BOpcodeHandler.h:6841
void SetIndex(float val)
Definition: BOpcodeHandler.h:2105
float const * GetPoints() const
Definition: BOpcodeHandler.h:7764
unsigned char mask
internal use
Definition: BOpcodeHandler.h:4236
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:7110
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:3728
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:6746
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1671
void SetEnd(float const e[])
Definition: BOpcodeHandler.h:6189
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:2556
char m_options
Definition: BOpcodeHandler.h:7800
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:2603
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6437
float * m_u_knots
Definition: BOpcodeHandler.h:5862
extra item for selectability; refer to HC_Set_Selectability for a description
Definition: BOpcodeEnums.h:225
int GetColorVertexContrastLockMask() const
Definition: BOpcodeHandler.h:3088
unsigned char * m_bytes
Definition: BOpcodeHandler.h:7419
char const * GetName() const
Definition: BOpcodeHandler.h:7165
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7774
int m_count
Definition: BOpcodeHandler.h:6581
void SetIndex(int i)
Definition: BOpcodeHandler.h:1272
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:4177
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:2699
unsigned int m_options
Definition: BOpcodeHandler.h:7108
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7511
int GetCutVisualizationMode() const
Definition: BOpcodeHandler.h:4301
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6329
unsigned char m_hlr_hsr_algorithm
for internal use only.
Definition: BOpcodeHandler.h:2494
void SetAntiAlias(int m)
Definition: BOpcodeHandler.h:3989
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:7190
float m_depth_peeling_min_area
For internal use only.
Definition: BOpcodeHandler.h:2608
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1657
void SetLockMask(int m)
Definition: BOpcodeHandler.h:2725
void SetParameterSource(int p)
Definition: BOpcodeHandler.h:7328
extended bit
Definition: BOpcodeEnums.h:1475
void SetValue(int v)
Definition: BOpcodeHandler.h:4068
char * m_image
Definition: BOpcodeHandler.h:7231
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:5237
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7642
char m_options
Definition: BOpcodeHandler.h:7694
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:2538
float * GetRef2()
Definition: BOpcodeHandler.h:6754
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6454
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:5452
void SetAlphaFactor(float f)
Definition: BOpcodeHandler.h:2335
int m_name_length
Definition: BOpcodeHandler.h:7574
int GetLength()
Definition: BOpcodeHandler.h:4846
float m_value
for internal use only.
Definition: BOpcodeHandler.h:4554
float const * GetOrtho() const
Definition: BOpcodeHandler.h:6427
char * m_name
internal use: name
Definition: BOpcodeHandler.h:4614
void SetCaps(int f)
Definition: BOpcodeHandler.h:6670
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:3614
int GetIndex() const
Definition: BOpcodeHandler.h:2058
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:5407
void SetNames(int length)
Definition: BOpcodeHandler.h:5280
void SetNURBSSurfaceBudget(int b)
Definition: BOpcodeHandler.h:3604
TK_Tag(unsigned char opcode=TKE_Tag)
Definition: BOpcodeHandler.h:1612
int m_count
for internal use only
Definition: BOpcodeHandler.h:4858
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:3122
char * m_transform
Definition: BOpcodeHandler.h:7252
char * m_name
Definition: BOpcodeHandler.h:5006
int GetVersion() const
Definition: BStreamFileToolkit.h:973
void SetOblique(float const o[])
Definition: BOpcodeHandler.h:5119
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7197
short color_marker_value
For internal use only.
Definition: BOpcodeHandler.h:1068
float const * GetAmbientUpVector() const
Definition: BOpcodeHandler.h:3962
void SetColorFaceLockValue(int v)
Definition: BOpcodeHandler.h:2795
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:2503
int m_to_index
internal use
Definition: BOpcodeHandler.h:1453
int GetNURBSOptionsMask() const
Definition: BOpcodeHandler.h:3590
Definition: BOpcodeHandler.h:2365
int GetShadowMapSamples() const
Definition: BOpcodeHandler.h:3897
int GetColorLineLockMask() const
Definition: BOpcodeHandler.h:2835
int m_override_internal_color_types
For internal use only.
Definition: BOpcodeHandler.h:2626
void SetDPoints(double const s[], double const e[])
Definition: BOpcodeHandler.h:5600
int GetSimpleReflectionVisibilityValue() const
Definition: BOpcodeHandler.h:3925
static TK_Status GetData(BStreamFileToolkit &tk, unsigned int &i)
Definition: BOpcodeHandler.h:319
char m_red_mapping
Definition: BOpcodeHandler.h:7243
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7179
int m_segment_length
Definition: BOpcodeHandler.h:7577
static TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:467
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7227
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:7829
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
unsigned char m_options
Definition: BOpcodeHandler.h:5779
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1287
TK_Clip_Region()
Definition: BOpcodeHandler.h:7745
int GetValue() const
Definition: BOpcodeHandler.h:4373
void SetNURBSOptionsValue(int v)
Definition: BOpcodeHandler.h:3592
void SetColorWindowContrastLockMask(int m)
Definition: BOpcodeHandler.h:2945
void SetMirror(float r, float g, float b)
Definition: BOpcodeHandler.h:1826
int m_length
Definition: BOpcodeHandler.h:5005
void SetFogLimits(float const l[])
Definition: BOpcodeHandler.h:2719
int GetOptions() const
Definition: BOpcodeHandler.h:7864
void SetValue(int v0, int v1=0, int v2=0)
Definition: BOpcodeHandler.h:2662
int GetVisibilityLockValue() const
Definition: BOpcodeHandler.h:2754
int m_cut_geometry_edge_pattern_length
for internal use only.
Definition: BOpcodeHandler.h:2573
int const * GetIndices() const
Definition: BOpcodeHandler.h:4940
int GetLockValue() const
Definition: BOpcodeHandler.h:2732
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:6735
TK_Close_Segment()
Definition: BOpcodeHandler.h:1231
char * GetCutGeometryEdgePattern()
Definition: BOpcodeHandler.h:3820
TK_Unicode_Options()
Definition: BOpcodeHandler.h:4825
self-explanatory
Definition: BOpcodeEnums.h:1444
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:2927
void SetSelectionBias(int c)
Definition: BOpcodeHandler.h:4120
float const * GetAxis() const
Definition: BOpcodeHandler.h:6517
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1063
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4410
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:5815
int GetUp() const
Definition: BOpcodeHandler.h:4441
float * GetLodThresholds()
Definition: BOpcodeHandler.h:3702
void SetColorLineContrastLockValue(int v)
Definition: BOpcodeHandler.h:3048
int m_index
internal use: simple value for recognised old forms
Definition: BOpcodeHandler.h:4615
void Set_General_Flags(int f)
Definition: BOpcodeHandler.h:169
color by index
Definition: BOpcodeEnums.h:273
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:6530
float m_gloss
internal use
Definition: BOpcodeHandler.h:1741
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1506
void ** GetValues() const
Definition: BOpcodeHandler.h:4946
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:2922
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:5240
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1082
float * GetPoints()
Definition: BOpcodeHandler.h:7766
void SetString(char const *string)
Definition: BOpcodeHandler.h:6881
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6902
TK_Bounding(unsigned char opcode, float min[], float max[])
Definition: BOpcodeHandler.h:5458
void SetOptions(int o)
Definition: BOpcodeHandler.h:6070
void SetWindow(int n, float const w[])
Definition: BOpcodeHandler.h:5184
int m_max_degree
For internal use only.
Definition: BOpcodeHandler.h:2528
void SetLodRatios(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3667
TK_Font()
Definition: BOpcodeHandler.h:6999
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:2592
void GetDPosition(double p[]) const
Definition: BOpcodeHandler.h:5051
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:1877
float * GetPoints()
Definition: BOpcodeHandler.h:5652
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5768
void SetColorLineLockMask(int m)
Definition: BOpcodeHandler.h:2830
int GetColorVertexLockMask() const
Definition: BOpcodeHandler.h:2996
void SetValue(float a, float b, float c)
Definition: BOpcodeHandler.h:2001
void SetLayout(int l)
Definition: BOpcodeHandler.h:5417
float * GetPoints()
Definition: BOpcodeHandler.h:5971
TK_Conditions()
Definition: BOpcodeHandler.h:4690
unsigned char m_tessellations
For internal use only.
Definition: BOpcodeHandler.h:2553
int GetColorFaceContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3330
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:5064
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:3584
int GetGreenMapping() const
Definition: BOpcodeHandler.h:7350
channel m_mirror
internal use
Definition: BOpcodeHandler.h:1736
void SetColorLineContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3451
float m_curve_max_angle
For internal use only.
Definition: BOpcodeHandler.h:2546
void SetMajor(float const m[])
Definition: BOpcodeHandler.h:6308
int GetDebug() const
Definition: BOpcodeHandler.h:2694
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5894
float * m_knots
Definition: BOpcodeHandler.h:5781
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:2600
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5860
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:6419
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:6050
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:7918
int GetParameterSource() const
Definition: BOpcodeHandler.h:7330
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:3610
TK_Color_By_Value()
Definition: BOpcodeHandler.h:1965
void SetEnd(float e)
Definition: BOpcodeHandler.h:5735
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1388
double const * GetTextRegionDPoints() const
Definition: BOpcodeHandler.h:6923
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2403
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:6654
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3433
void SetMiddle(float const m[])
Definition: BOpcodeHandler.h:6181
char const * GetSegment() const
Definition: BOpcodeHandler.h:7628
char * GetName()
Definition: BOpcodeHandler.h:7672
void SetCulling(int c)
Definition: BOpcodeHandler.h:4112
float * m_data
Definition: BOpcodeHandler.h:7528
TK_File_Info()
Definition: BOpcodeHandler.h:907
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:5234
char * m_name
Definition: BOpcodeHandler.h:7478
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:5865
unsigned char m_region_options
Definition: BOpcodeHandler.h:6845
self-explanatory
Definition: BOpcodeEnums.h:272
HLONG GetValue() const
Definition: BOpcodeHandler.h:4984
void SetVisibilityLockMask(int m)
Definition: BOpcodeHandler.h:2738
Handles the TKE_Open_Segment opcode.
Definition: BOpcodeHandler.h:1169
unsigned char m_antialias
For internal use only.
Definition: BOpcodeHandler.h:2616
int GetColorLineContrastLockMask() const
Definition: BOpcodeHandler.h:3042
float GetVertexDecimation() const
Definition: BOpcodeHandler.h:3996
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:5174
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:2550
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:4613
double m_dradius
Definition: BOpcodeHandler.h:6374
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2471
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:5218
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:7041
double * GetDPoints()
Definition: BOpcodeHandler.h:5660
void SetIndices(int count)
Definition: BOpcodeHandler.h:4934
void SetOptions(int o)
Definition: BOpcodeHandler.h:7862
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:6313
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:186
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:5367
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:3773
void SetCutGeometryUsage(int u)
Definition: BOpcodeHandler.h:3794
void SetOptions(int o)
Definition: BOpcodeHandler.h:5738
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3502
float * GetWeights()
Definition: BOpcodeHandler.h:5729
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:6067
double const * GetDPlane() const
Definition: BOpcodeHandler.h:6125
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:1866
char * GetDiffuseName()
Definition: BOpcodeHandler.h:1808
void SetStart(float s)
Definition: BOpcodeHandler.h:5733
int GetSpace() const
Definition: BOpcodeHandler.h:1998
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:6859
bump map
Definition: BOpcodeEnums.h:276
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1262
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:4136
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:7358
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:5950
int const * GetStringCursors() const
Definition: BOpcodeHandler.h:6935
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:2593
TK_Cylinder()
Definition: BOpcodeHandler.h:6497
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1552
int m_length
Definition: BOpcodeHandler.h:8101
unsigned char m_optionals
Definition: BOpcodeHandler.h:5683
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:2562
format mask
Definition: BOpcodeEnums.h:1427
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6366
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:2547
int GetChannels() const
Definition: BOpcodeHandler.h:1793
int m_name_length
Definition: BOpcodeHandler.h:7233
void SetRef2(float const r[])
Definition: BOpcodeHandler.h:6750
void SetOptions(int o)
Definition: BOpcodeHandler.h:7784
TK_User_Index()
Definition: BOpcodeHandler.h:4867
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:5409
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5238
int GetCaps() const
Definition: BOpcodeHandler.h:6554
short m_options
Definition: BOpcodeHandler.h:4725
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4856
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:3804
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:2527
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:5724
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:5345
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7187
int m_mask
internal use
Definition: BOpcodeHandler.h:2069
int GetLodMaxDegree() const
Definition: BOpcodeHandler.h:3640
float m_tolerance
For internal use only.
Definition: BOpcodeHandler.h:2529
Definition: BStream.h:305
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:5370
mask of bits requiring extended
Definition: BOpcodeEnums.h:836
int GetLodNumLevels() const
Definition: BOpcodeHandler.h:3632
int GetForcedLockValue() const
Definition: BOpcodeHandler.h:3135
int GetSelectionCulling() const
Definition: BOpcodeHandler.h:4118
//// Default reader provided for "W3D Image XRef"
Definition: BOpcodeEnums.h:157
int m_data_size
Definition: BOpcodeHandler.h:7104
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6824
int m_name_length
Definition: BOpcodeHandler.h:8143
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3261
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:3071
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:6919
int GetTransparentStyle() const
Definition: BOpcodeHandler.h:2679
static TK_Status GetData(BStreamFileToolkit &tk, unsigned short *s, int n)
Definition: BOpcodeHandler.h:298
void SetDMatrix(double const m[])
Definition: BOpcodeHandler.h:4506
unsigned char m_options
Definition: BOpcodeHandler.h:6844
Definition: BOpcodeHandler.h:829
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:8125
char * m_condition
Definition: BOpcodeHandler.h:1294
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7096
int GetCoordinateSystemCount() const
Definition: BOpcodeHandler.h:4287
char * m_name
internal use: name
Definition: BOpcodeHandler.h:2368
void SetPlane(float const p[])
Definition: BOpcodeHandler.h:6118
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:4102
float * GetPoints()
Definition: BOpcodeHandler.h:7831
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6975
int GetAntiAlias() const
Definition: BOpcodeHandler.h:3991
virtual TK_Status Read(BStreamFileToolkit &tk)=0
int GetRenderer() const
Definition: BOpcodeHandler.h:5378
void SetName(char const *string)
Definition: BOpcodeHandler.h:8164
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:3019
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4818
int * GetIndices()
Definition: BOpcodeHandler.h:4890
void SetView(int length)
Definition: BOpcodeHandler.h:5143
Internal_Translator::Index_Key_Pair * m_item
internal use; cache lookup in Pending cases
Definition: BOpcodeHandler.h:1643
int GetColorEdgeContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3422
unsigned char * GetTextLeaderFlags()
Definition: BOpcodeHandler.h:6950
float m_inner
for internal use only
Definition: BOpcodeHandler.h:6006
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1102
float * m_weights
Definition: BOpcodeHandler.h:5689
void SetCenter(float const c[])
Definition: BOpcodeHandler.h:6198
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:3789
void SetPoints(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5967
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6435
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:6047
float const * GetCenter() const
Definition: BOpcodeHandler.h:6215
void SetProjection(int p)
Definition: BOpcodeHandler.h:5135
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:900
float const * GetRef2() const
Definition: BOpcodeHandler.h:6752
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:5692
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3410
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1712
double * GetDPoints()
Definition: BOpcodeHandler.h:5981
void SetColorWindowLockValue(int v)
Definition: BOpcodeHandler.h:2910
Handles the TKE_Heuristics opcode.
Definition: BOpcodeHandler.h:4009
int m_value
specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:5210
double const * GetDField() const
Definition: BOpcodeHandler.h:5107
Definition: BOpcodeHandler.h:1055
void SetSimpleShadowLight(float x, float y, float z)
Definition: BOpcodeHandler.h:3848
unsigned char m_simple_shadow_blur
For internal use only.
Definition: BOpcodeHandler.h:2576
char m_decimation
Definition: BOpcodeHandler.h:7242
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:3724
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:3826
void SetFormat(int f)
Definition: BOpcodeHandler.h:7460
char m_threshold_type
For internal use only.
Definition: BOpcodeHandler.h:2524
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes...
Definition: BOpcodeHandler.h:6145
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:3620
double GetDRadius() const
Definition: BOpcodeHandler.h:6548
int * GetIndices()
Definition: BOpcodeHandler.h:4943
void SetHlrLinePattern(int p)
Definition: BOpcodeHandler.h:3574
short color_window_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1076
void SetSlant(float s)
Definition: BOpcodeHandler.h:5330
void SetViewVolume(float const v[])
Definition: BOpcodeHandler.h:4174
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:4156
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:3141
char * GetName()
Definition: BOpcodeHandler.h:7167
char const * GetSegment() const
Definition: BOpcodeHandler.h:1335
char * GetMetalnessMap()
Definition: BOpcodeHandler.h:2279
void SetSimpleShadowLight(float const l[])
Definition: BOpcodeHandler.h:3854
void set_points(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5628
double * m_dleaders
Definition: BOpcodeHandler.h:6856
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6034
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1073
Definition: BStream.h:279
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:5388
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:3741
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4514
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:6687
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:5455
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:3192
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3479
float GetRotation() const
Definition: BOpcodeHandler.h:5327
float const * GetPosition() const
Definition: BOpcodeHandler.h:5039
void SetBaseColorFactor(float const rgba[])
Definition: BOpcodeHandler.h:2309
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:3903
int GetSize() const
Definition: BOpcodeHandler.h:7922
TK_Compression(char opcode)
Definition: BOpcodeHandler.h:1037
int GetColorTextContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3514
void SetColorFaceContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3325
Definition: BOpcodeHandler.h:4584
float * GetPoints()
Definition: BOpcodeHandler.h:5824
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:5215
char * GetNames()
Definition: BOpcodeHandler.h:5284
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:5235
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:3662
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:4559
float const * GetImageScale() const
Definition: BOpcodeHandler.h:3969
int GetLodFallback() const
Definition: BOpcodeHandler.h:3648
void SetIndices(int count, int const indices[], void const *values[], int const sizes[])
Definition: BOpcodeHandler.h:4929
TK_XML()
Definition: BOpcodeHandler.h:7982
void SetLodClamp(int v)
Definition: BOpcodeHandler.h:3634
static TK_Status PutData(BStreamFileToolkit &tk, unsigned int const &i)
Definition: BOpcodeHandler.h:464
void SetFogLimits(float n, float f)
Definition: BOpcodeHandler.h:2717
void SetQuantization(int q)
Definition: BOpcodeHandler.h:2687
int GetValue() const
Definition: BOpcodeHandler.h:5275
char m_lod_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2519
void SetMirrorName(char const *name)
Definition: BOpcodeHandler.h:1830
char * m_cut_geometry_edge_pattern
for internal use only.
Definition: BOpcodeHandler.h:2572
int GetFormat() const
Definition: BOpcodeHandler.h:2148
float GetIndex() const
Definition: BOpcodeHandler.h:2107
Handles the TKE_URL opcodes.
Definition: BOpcodeHandler.h:8021
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5938
void SetOrigin(float const o[])
Definition: BOpcodeHandler.h:6728
void SetSimpleReflectionOpacity(float o)
Definition: BOpcodeHandler.h:3918
void SetMetalnessMap(char const *name)
Definition: BOpcodeHandler.h:2273
int GetIndex()
Definition: BOpcodeHandler.h:1495
char * GetShaderSource()
Definition: BOpcodeHandler.h:7298
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:3608
unsigned char * GetDTextLeaderFlags()
Definition: BOpcodeHandler.h:6963
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6082
char const * GetComment() const
Definition: BOpcodeHandler.h:987
int GetCount() const
Definition: BOpcodeHandler.h:4886
float * GetUKnots()
Definition: BOpcodeHandler.h:5913
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:4194
int GetColorLineForcedLockMask() const
Definition: BOpcodeHandler.h:3238
virtual TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant=0)
int GetOptions() const
Definition: BOpcodeHandler.h:6072
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:3203
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:5047
float GetHardEdgeAngle() const
Definition: BOpcodeHandler.h:3770
void SetLodThresholdType(int v)
Definition: BOpcodeHandler.h:3683
char * GetBaseColorMap()
Definition: BOpcodeHandler.h:2252
self-explanatory
Definition: BOpcodeEnums.h:271
void SetName(int length)
Definition: BOpcodeHandler.h:7285
TK_Callback()
Definition: BOpcodeHandler.h:2415
TK_Complex_Clip_Region()
Definition: BOpcodeHandler.h:7809
void GetTarget(float t[]) const
Definition: BOpcodeHandler.h:5061
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:7353
char const * GetNames() const
Definition: BOpcodeHandler.h:5282
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7572
double * GetDRef1()
Definition: BOpcodeHandler.h:6777
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6036
float m_surface_max_facet_deviation
For internal use only.
Definition: BOpcodeHandler.h:2544
int m_allocated
internal use
Definition: BOpcodeHandler.h:943
int GetTextRegionOptions() const
Definition: BOpcodeHandler.h:6925
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:5220
//– would like this to be obsolete, but...
Definition: BOpcodeEnums.h:153
int GetColorEdgeForcedLockValue() const
Definition: BOpcodeHandler.h:3226
void SetField(float const f[])
Definition: BOpcodeHandler.h:5096
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:7152
void SetIndex(float i)
Definition: BOpcodeHandler.h:1893
char * GetConditions()
Definition: BOpcodeHandler.h:4709
void SetMatrix(float const m[])
Definition: BOpcodeHandler.h:4502
self-explanatory
Definition: BOpcodeEnums.h:1158
float GetEnd() const
Definition: BOpcodeHandler.h:5736
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:6816
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7798
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:3895
void SetOptions(int o)
Definition: BOpcodeHandler.h:5547
char * m_string
Definition: BOpcodeHandler.h:8064
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:7338
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:3840
void SetName(int length)
Definition: BOpcodeHandler.h:7163
int GetCount() const
Definition: BOpcodeHandler.h:5984
void SetName(char const *string)
Definition: BOpcodeHandler.h:7032
void SetCutVisualizationAlpha(float a)
Definition: BOpcodeHandler.h:4313
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5239
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:2892
TK_User_Options()
Definition: BOpcodeHandler.h:4785
unsigned char m_region_fit
Definition: BOpcodeHandler.h:6846
double * m_dpoints
Definition: BOpcodeHandler.h:5625
int m_selection_culling
internal use; selection culling options
Definition: BOpcodeHandler.h:4022
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:5219
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2074
char * GetName()
Definition: BOpcodeHandler.h:7613
int m_coordinate_system_count
internal use
Definition: BOpcodeHandler.h:4232
int GetHardExtent() const
Definition: BOpcodeHandler.h:4142
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:6817
void SetField(float w, float h)
Definition: BOpcodeHandler.h:5094
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4388
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:4844
char * GetCallback()
Definition: BOpcodeHandler.h:2434
int GetOptions() const
Definition: BOpcodeHandler.h:7723
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6894
float GetStart() const
Definition: BOpcodeHandler.h:5734
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:4140
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:6012
void SetImageTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3976
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3307
void SetOuter(float o)
Definition: BOpcodeHandler.h:6055
void SetSize(int size)
Definition: BOpcodeHandler.h:1693
float GetLineSpacing() const
Definition: BOpcodeHandler.h:5352
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4146
float m_compression_quality
Definition: BOpcodeHandler.h:7114
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6897
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1061
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:7363
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:5074
int m_camera_length
Definition: BOpcodeHandler.h:7236
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1454
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:7975
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:274
short color_line_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1083
char * m_bytes
Definition: BOpcodeHandler.h:7098
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:8060
Definition: BOpcodeHandler.h:4525
TK_Material()
Definition: BOpcodeHandler.h:7957
int m_allocated
Definition: BOpcodeHandler.h:5623
TK_Bounding(unsigned char opcode, float center[], float radius)
Definition: BOpcodeHandler.h:5464
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:2575
void SetFlags(int f)
Definition: BOpcodeHandler.h:7319
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:3111
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1925
char * GetName()
Definition: BOpcodeHandler.h:7289
float const * GetOrientation() const
Definition: BOpcodeHandler.h:4277
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:3175
float GetRadius() const
Definition: BOpcodeHandler.h:6405
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1449
double const * GetDPoint() const
Definition: BOpcodeHandler.h:5544
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:3799
void SetHSR(int h)
Definition: BOpcodeHandler.h:2667
int GetLength()
Definition: BOpcodeHandler.h:4711
void SetName(char const *string)
Definition: BOpcodeHandler.h:7161
unsigned char m_cut_geometry_edge_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2571
char * m_string
Definition: BOpcodeHandler.h:2406
int GetUSize() const
Definition: BOpcodeHandler.h:5903
void SetLodCutoffs(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3707
int m_count
Definition: BOpcodeHandler.h:5622
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:3760
float GetStart() const
Definition: BOpcodeHandler.h:5828
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:5801
for further expansion
Definition: BOpcodeEnums.h:1189
char m_num_cutoffs
For internal use only.
Definition: BOpcodeHandler.h:2531
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1978
Handles the TKE_NURBS_Curve opcode.
Definition: BOpcodeHandler.h:5681
void SetDiffuseTextureTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3981
int GetColorFaceLockValue() const
Definition: BOpcodeHandler.h:2800
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:3937
int GetLodNumCutoffs() const
Definition: BOpcodeHandler.h:3716
Handles the TKE_Conditions opcode.
Definition: BOpcodeHandler.h:4683
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:2545
char m_blue_mapping
Definition: BOpcodeHandler.h:7245
float * m_points
Definition: BOpcodeHandler.h:6582
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:3705
unsigned char m_optionals
Definition: BOpcodeHandler.h:5856
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:5347
unsigned char m_shadow_map_samples
For internal use only.
Definition: BOpcodeHandler.h:2585
int GetSimpleShadow() const
Definition: BOpcodeHandler.h:3835
int m_value
internal use; specifies what values to set for boolean options. For internal use only.
Definition: BOpcodeHandler.h:4333
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:7916
void SetNames(char const *names)
Definition: BOpcodeHandler.h:5278
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:5595
char * m_names
for internal use only
Definition: BOpcodeHandler.h:5212
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:5800
char const * GetImage() const
Definition: BOpcodeHandler.h:7305
void SetLodNumLevels(int v)
Definition: BOpcodeHandler.h:3630
TK_Dictionary_Locater()
Definition: BOpcodeHandler.h:1678
env map
Definition: BOpcodeEnums.h:275
int GetMask() const
Definition: BOpcodeHandler.h:4264
int GetCutGeometryColorMatch() const
Definition: BOpcodeHandler.h:3791
static TK_Status GetData(BStreamFileToolkit &tk, int &i)
Definition: BOpcodeHandler.h:310
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7558
float GetLodTolerance() const
Definition: BOpcodeHandler.h:3644
int const * GetCounts() const
Definition: BOpcodeHandler.h:6796
////
Definition: BOpcodeEnums.h:150
int GetDegree() const
Definition: BOpcodeHandler.h:5726
int m_index
Definition: BOpcodeHandler.h:1383
int m_dleader_count
Definition: BOpcodeHandler.h:6855
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:6813
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:3566
float GetOuter() const
Definition: BOpcodeHandler.h:6057
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:4531
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2481
int * GetCounts()
Definition: BOpcodeHandler.h:6798
float m_hlr_threshold
for internal use only.
Definition: BOpcodeHandler.h:2492
float * GetRadii()
Definition: BOpcodeHandler.h:6635
float const * GetDiffuseTextureTintColor() const
Definition: BOpcodeHandler.h:3986
int m_offset
internal use
Definition: BOpcodeHandler.h:1674
void SetStart(float const s[])
Definition: BOpcodeHandler.h:6173
double const * GetDStart() const
Definition: BOpcodeHandler.h:6258
char m_alpha_mapping
Definition: BOpcodeHandler.h:7246
float const * GetCutVisualizationColor() const
Definition: BOpcodeHandler.h:4310
void SetNormalMap(char const *name)
Definition: BOpcodeHandler.h:2255
unsigned char m_buffer_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2480
void SetBufferOptionsValue(int v)
Definition: BOpcodeHandler.h:3535
int GetSelectionBias() const
Definition: BOpcodeHandler.h:4122
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:443
int GetMoveUp() const
Definition: BOpcodeHandler.h:4463
float const * GetTextLeaders() const
Definition: BOpcodeHandler.h:6944
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:5221
int GetCaps() const
Definition: BOpcodeHandler.h:6672
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:5842
char * GetStyle()
Definition: BOpcodeHandler.h:5302
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:4332
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3244
char * m_comment
internal use
Definition: BOpcodeHandler.h:945
float * m_points
Definition: BOpcodeHandler.h:7738
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:6085
float const * GetMiddle() const
Definition: BOpcodeHandler.h:6211
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:3053
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:5236
void GetDTarget(double t[]) const
Definition: BOpcodeHandler.h:5071
static short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:505
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:5633
void SetDepthRange(float const l[])
Definition: BOpcodeHandler.h:3931
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:2589
channel m_environment
internal use; note: environment & bump are never a simple RGB type color
Definition: BOpcodeHandler.h:1739
char const * GetName() const
Definition: BOpcodeHandler.h:2390
void SetRadius(float r)
Definition: BOpcodeHandler.h:6524
int GetVDegree() const
Definition: BOpcodeHandler.h:5901
char const * GetBytes() const
Definition: BOpcodeHandler.h:7027
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:5397
int GetOptions() const
Definition: BOpcodeHandler.h:5194
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:4025
unsigned char m_clamp
For internal use only.
Definition: BOpcodeHandler.h:2526
char const * GetBumpName() const
Definition: BOpcodeHandler.h:1884
bool GetFollow()
Definition: BOpcodeHandler.h:1435
void SetColorWindowContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3359
float * GetKnots()
Definition: BOpcodeHandler.h:5731
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:3065
float const * GetPosition() const
Definition: BOpcodeHandler.h:7184
void SetVisibilityForcedLockValue(int v)
Definition: BOpcodeHandler.h:3152
char * GetTransmissionName()
Definition: BOpcodeHandler.h:1853
void SetColorTextContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3520
TK_User_Value()
Definition: BOpcodeHandler.h:4971
int m_cond_length
Definition: BOpcodeHandler.h:7580
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:2991
char * GetCondition()
Definition: BOpcodeHandler.h:4750
int * GetSizes()
Definition: BOpcodeHandler.h:4955
void SetLodBounding(float const p[])
Definition: BOpcodeHandler.h:3660
//// pseudo-handler (non-zero value)
Definition: BOpcodeEnums.h:159
char const * GetString() const
Definition: BOpcodeHandler.h:2175
void SetValue(HLONG v)
Definition: BOpcodeHandler.h:4982
char * GetLookup()
Definition: BOpcodeHandler.h:7047
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:3210
int m_count
Definition: BOpcodeHandler.h:7737
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:6350
void SetIndices(int count, int const indices[], POINTER_SIZED_INT const values[])
Definition: BOpcodeHandler.h:4881
unsigned char m_flags
Definition: BOpcodeHandler.h:6587
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3376
void GetUpVector(float u[]) const
Definition: BOpcodeHandler.h:5081
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:6226
int GetMetalnessMapChannel() const
Definition: BOpcodeHandler.h:2343
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:4087
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1557
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7692
void SetLockValue(int v)
Definition: BOpcodeHandler.h:2730
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:7670
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:4128
char const * GetShape() const
Definition: BOpcodeHandler.h:5291
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:2534
unsigned char m_compression
Definition: BOpcodeHandler.h:7109
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5207
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:7780
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:5089
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:6304
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:4860
static TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:470
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4904
int m_size
Definition: BOpcodeHandler.h:7477
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:2510
int GetCount() const
Definition: BOpcodeHandler.h:5727
double const * GetDTextLeaders() const
Definition: BOpcodeHandler.h:6957
int GetGeometry() const
Definition: BOpcodeHandler.h:4362
void SetCollectionPart(bool n)
Definition: BOpcodeHandler.h:203
float const * GetAxis() const
Definition: BOpcodeHandler.h:6416
int GetOptions() const
Definition: BOpcodeHandler.h:5989
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:7023
float * GetVKnots()
Definition: BOpcodeHandler.h:5917
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:91
Definition: BOpcodeHandler.h:4552
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3456
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:3933
void GetPosition(float p[]) const
Definition: BOpcodeHandler.h:5041
int m_name_length
Definition: BOpcodeHandler.h:7525
char * GetOcclusionMap()
Definition: BOpcodeHandler.h:2297
unsigned char * m_leader_flags
Definition: BOpcodeHandler.h:6854
Handles the TKE_Dictionary opcode.
Definition: BOpcodeHandler.h:1636
float * GetLodRatios()
Definition: BOpcodeHandler.h:3680
char const * GetCutGeometryEdgePattern() const
Definition: BOpcodeHandler.h:3818
int GetColorLockValue() const
Definition: BOpcodeHandler.h:2777
void SetValue(int v)
Definition: BOpcodeHandler.h:5273
int GetStringCursorCount() const
Definition: BOpcodeHandler.h:6933
float const * GetWindow() const
Definition: BOpcodeHandler.h:5189
void SetOrientation(int count, float const o[])
Definition: BOpcodeHandler.h:4267
void reset_string(char *&s)
internal use
Definition: BOpcodeHandler.h:2213
char * GetRoughnessMap()
Definition: BOpcodeHandler.h:2288
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:7296
void SetLayout(int p)
Definition: BOpcodeHandler.h:7368
char m_param_function
Definition: BOpcodeHandler.h:7247
char * m_definition
Definition: BOpcodeHandler.h:7647
int m_string_length
internal use
Definition: BOpcodeHandler.h:2123
int GetCount() const
Definition: BOpcodeHandler.h:5663
int GetColorLineLockValue() const
Definition: BOpcodeHandler.h:2846
char m_num_cylinder
For internal use only.
Definition: BOpcodeHandler.h:2554
int m_surface_budget
For internal use only.
Definition: BOpcodeHandler.h:2540
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1580
float const * GetWeights() const
Definition: BOpcodeHandler.h:5728
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4474
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:5927
internal use, indicates bits which require TKO_Geo_Extended
Definition: BOpcodeEnums.h:179
float * m_isoline_weights_value
for internal use only.
Definition: BOpcodeHandler.h:2509
short color_cut_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1095
Definition: BStream.h:278
void SetRotation(float r)
Definition: BOpcodeHandler.h:5325
//
Definition: BOpcodeEnums.h:144
float * m_weights
Definition: BOpcodeHandler.h:5861
int GetTextLeaderCount() const
Definition: BOpcodeHandler.h:6942
void SetColorBackLockMask(int m)
Definition: BOpcodeHandler.h:2968
Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes.
Definition: BOpcodeHandler.h:5501
int GetSize() const
Definition: BOpcodeHandler.h:8009
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:2938
TK_PolyCylinder()
Definition: BOpcodeHandler.h:6592
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:7712
void SetUpVector(float const u[])
Definition: BOpcodeHandler.h:5077
unsigned char m_tq
internal use; low half technology, high half quantization. For internal use only. ...
Definition: BOpcodeHandler.h:2470
unsigned char m_general_flags
Basic flags common to many handlers.
Definition: BOpcodeHandler.h:66
char * m_name
Definition: BOpcodeHandler.h:7646
int m_evalue
internal use
Definition: BOpcodeHandler.h:4014
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:4967
char * GetCondition()
Definition: BOpcodeHandler.h:1361
double const * GetDRef1() const
Definition: BOpcodeHandler.h:6775
float const * GetVKnots() const
Definition: BOpcodeHandler.h:5915
float const * GetPoints() const
Definition: BOpcodeHandler.h:5650
unsigned char m_type
Definition: BOpcodeHandler.h:6983
void SetDMajor(double const m[])
Definition: BOpcodeHandler.h:6336
void SetScreenRange(float const l[])
Definition: BOpcodeHandler.h:3942
char * GetName()
Definition: BOpcodeHandler.h:4639
char * GetShape()
Definition: BOpcodeHandler.h:5293
int GetDecimation() const
Definition: BOpcodeHandler.h:7340
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:3965
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:4670
void SetSpace(int s)
Definition: BOpcodeHandler.h:1996
float GetCutVisualizationScale() const
Definition: BOpcodeHandler.h:4320
int GetCutGeometryEdgeWeightUnits() const
Definition: BOpcodeHandler.h:3811
void SetEnvironmentName(int length)
Definition: BOpcodeHandler.h:1873
int m_index
internal use
Definition: BOpcodeHandler.h:2021
void SetRadius(float r)
Definition: BOpcodeHandler.h:6403
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:3169
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:5773
TK_Open_Segment()
Definition: BOpcodeHandler.h:1182
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:3030
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5606
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:3618
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:2858
int GetTransforms() const
Definition: BOpcodeHandler.h:5357
void SetVector(float const v[])
Definition: BOpcodeHandler.h:4152
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:2674
extended bits for common/shared items
Definition: BOpcodeEnums.h:178
BBaseOpcodeHandler * m_complex
Definition: BOpcodeHandler.h:7740
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:5414
Definition: BOpcodeHandler.h:1720
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:6177
short m_channels
internal use
Definition: BOpcodeHandler.h:1715
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7195
self-explanatory
Definition: BOpcodeEnums.h:1278
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2487
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:5222
void SetLodMinimumTriangleCount(int v)
Definition: BOpcodeHandler.h:3626
int GetQuantization() const
Definition: BOpcodeHandler.h:2689
char * m_condition
Definition: BOpcodeHandler.h:1386
void SetMetalnessMapChannel(int c)
Definition: BOpcodeHandler.h:2341
float const * GetLimits() const
Definition: BOpcodeHandler.h:6354
char const * GetCamera() const
Definition: BOpcodeHandler.h:7314
float m_start
Definition: BOpcodeHandler.h:5691
void SetDOrigin(double const o[])
Definition: BOpcodeHandler.h:6762
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:6284
TK_Heuristics()
Definition: BOpcodeHandler.h:4044
void SetHlrFaceDisplacement(float d)
Definition: BOpcodeHandler.h:3570
void SetPoints(float const s[], float const m[], float const e[], float const c[]=0)
Definition: BOpcodeHandler.h:6203
char * GetString()
Definition: BOpcodeHandler.h:8049
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:6218
void SetDiffuseTextureTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3984
void SetEmissiveMap(int length)
Definition: BOpcodeHandler.h:2266
void ** GetValues()
Definition: BOpcodeHandler.h:4949
void SetEmission(float const rgb[])
Definition: BOpcodeHandler.h:1858
void SetOptions(int f)
Definition: BOpcodeHandler.h:7207
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:7450
int GetFormat() const
Definition: BOpcodeHandler.h:7204
int GetMoveDown() const
Definition: BOpcodeHandler.h:4452
void SetMask(int m)
Definition: BOpcodeHandler.h:4059
void SetConcentration(float c)
Definition: BOpcodeHandler.h:6065
char m_param_source
Definition: BOpcodeHandler.h:7240
float const * GetKnots() const
Definition: BOpcodeHandler.h:5838
float GetCutGeometryEdgeWeight() const
Definition: BOpcodeHandler.h:3809
int GetEncoding() const
Definition: BOpcodeHandler.h:6912
int GetSizeUnits() const
Definition: BOpcodeHandler.h:5312
float * GetWeights()
Definition: BOpcodeHandler.h:5836
int m_buffer_size
Definition: BOpcodeHandler.h:7891
static void fix_out(double *d, int n)
for internal use only
Definition: BOpcodeHandler.h:608
char * GetName()
Definition: BOpcodeHandler.h:2392
void SetColorBackForcedLockValue(int v)
Definition: BOpcodeHandler.h:3382
unsigned short m_simple_shadow_resolution
For internal use only.
Definition: BOpcodeHandler.h:2577
float GetWidthScale() const
Definition: BOpcodeHandler.h:5337
int GetParameterFunction() const
Definition: BOpcodeHandler.h:7365
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:6109
char const * GetName() const
Definition: BOpcodeHandler.h:7036
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:7585
Lock_Masks m_filter
for internal use only
Definition: BOpcodeHandler.h:1301
float GetStereoDistance() const
Definition: BOpcodeHandler.h:3551
int GetVisibilityLockMask() const
Definition: BOpcodeHandler.h:2743
void SetColorTextForcedLockMask(int m)
Definition: BOpcodeHandler.h:3279
char * GetName(void)
Definition: BOpcodeHandler.h:8170
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:4204
void SetColorLockMask(int m)
Definition: BOpcodeHandler.h:2761
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:4484
void SetWindow(float const w[], float const o[])
Definition: BOpcodeHandler.h:5181
void SetIndex(int i)
Definition: BOpcodeHandler.h:4541
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:3994
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:3146
double const * GetDMinor() const
Definition: BOpcodeHandler.h:6347
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:1802
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:4892
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:3364
int GetColorTextForcedLockMask() const
Definition: BOpcodeHandler.h:3284
char * GetCylinderTessellations()
Definition: BOpcodeHandler.h:3743
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:6039
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:3745
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:2979
void SetAction(int at)
Definition: BOpcodeHandler.h:4755
int GetType() const
Definition: BOpcodeHandler.h:7017
float m_index
internal use
Definition: BOpcodeHandler.h:2070
char const * GetBytes() const
Definition: BOpcodeHandler.h:7156
void SetDAxis(double const s[], double const e[])
Definition: BOpcodeHandler.h:6535
char * GetSegment()
Definition: BOpcodeHandler.h:1213
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7455
double const * GetDTarget() const
Definition: BOpcodeHandler.h:6052
void SetColorVertexContrastLockValue(int v)
Definition: BOpcodeHandler.h:3094
int m_general_displacement
For internal use only.
Definition: BOpcodeHandler.h:2611
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:6899
int m_definition_length
Definition: BOpcodeHandler.h:7645
static TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:271
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:5570
int m_stage
The writing stage.
Definition: BOpcodeHandler.h:63
void SetColorLineContrastLockMask(int m)
Definition: BOpcodeHandler.h:3037
void SetColorVertexForcedLockValue(int v)
Definition: BOpcodeHandler.h:3405
float * m_planes
internal use
Definition: BOpcodeHandler.h:6084
Handles the TKE_Image_XRef opcodes.
Definition: BOpcodeHandler.h:8140
void SetTiling(int p)
Definition: BOpcodeHandler.h:7373
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1081
void SetDMinor(double const m[])
Definition: BOpcodeHandler.h:6345
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6579
int * GetLengths()
Definition: BOpcodeHandler.h:7852
char m_type
internal use
Definition: BOpcodeHandler.h:5451
all
Definition: BOpcodeEnums.h:360
mask of bits in second byte
Definition: BOpcodeEnums.h:788
unsigned short m_shadow_map
For internal use only.
Definition: BOpcodeHandler.h:2583
int GetColorTextLockMask() const
Definition: BOpcodeHandler.h:2881
float m_stereo_distance
For internal use only.
Definition: BOpcodeHandler.h:2551
double const * GetDPlanes() const
Definition: BOpcodeHandler.h:6130
int m_length
Definition: BOpcodeHandler.h:4774
int GetBlueMapping() const
Definition: BOpcodeHandler.h:7355
static TK_Status LookatData(BStreamFileToolkit &tk, unsigned char &b)
Definition: BOpcodeHandler.h:343
int m_length
Definition: BOpcodeHandler.h:2405
int visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:1097
int GetTextRegionFitting() const
Definition: BOpcodeHandler.h:6927
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3509
double const * GetDRef2() const
Definition: BOpcodeHandler.h:6786
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4469
mask for HLR suboptions; refer to HC_Set_Rendering_Options for description
Definition: BOpcodeEnums.h:676
void SetKey(ID_Key k)
Definition: BOpcodeHandler.h:1595
int m_placeholder
internal use
Definition: BOpcodeHandler.h:1639
int GetProjection() const
Definition: BOpcodeHandler.h:5137
unsigned char * m_dleader_flags
Definition: BOpcodeHandler.h:6857
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:2614
char * GetName()
Definition: BOpcodeHandler.h:7553
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3256
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:7333
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6431
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:6341
float * GetMatrix()
Definition: BOpcodeHandler.h:4512
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:6724
int m_length
Definition: BOpcodeHandler.h:4685
int GetLayout() const
Definition: BOpcodeHandler.h:7370
char m_marker_drawing_preference
For internal use only.
Definition: BOpcodeHandler.h:2623
int m_allocated
Definition: BOpcodeHandler.h:1290
unsigned char size_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6823
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:8099
float m_outer
for internal use only
Definition: BOpcodeHandler.h:6005
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5620
char m_apply_mode
Definition: BOpcodeHandler.h:7253
int * m_cursors
Definition: BOpcodeHandler.h:6851
HLONG * GetValues()
Definition: BOpcodeHandler.h:4894
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:4024
double const * GetDStart() const
Definition: BOpcodeHandler.h:6541
int m_count
internal use
Definition: BOpcodeHandler.h:6086
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:4017
void SetRef1(float const r[])
Definition: BOpcodeHandler.h:6739
unsigned char m_type
Definition: BOpcodeHandler.h:5774
void SetColorFaceContrastLockValue(int v)
Definition: BOpcodeHandler.h:2933
char const * GetRoughnessMap() const
Definition: BOpcodeHandler.h:2286
Handles the TKE_Bounding and TKE_Bounding_Info opcodes.
Definition: BOpcodeHandler.h:5447
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:5004
char m_tint_effect
For internal use only.
Definition: BOpcodeHandler.h:2515
void SetColorFaceForcedLockValue(int v)
Definition: BOpcodeHandler.h:3198
TK_User_Data()
Definition: BOpcodeHandler.h:7898
float const * GetViewVolume() const
Definition: BOpcodeHandler.h:4163
void SetRGB(float const rgb[])
Definition: BOpcodeHandler.h:1945
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:5857
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:4029
int m_index
Definition: BOpcodeHandler.h:1258
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:5533
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:4099
void SetSelectionSorting(int s)
Definition: BOpcodeHandler.h:4199
////
Definition: BOpcodeEnums.h:97
const int TK_Image_Bytes_Per_Pixel[]
Specifies the number of bytes per pixel for each format.
TK_Glyph_Definition()
Definition: BOpcodeHandler.h:7483
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7523
float * GetTextLeaders()
Definition: BOpcodeHandler.h:6946
double m_dradius
Definition: BOpcodeHandler.h:6492
void GetField(float f[]) const
Definition: BOpcodeHandler.h:5100
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:3083
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:5360
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:3622
char * GetEmissionName()
Definition: BOpcodeHandler.h:1868
int GetApplicationMode() const
Definition: BOpcodeHandler.h:7385
void SetBaseColorMap(int length)
Definition: BOpcodeHandler.h:2248
void GetDUpVector(double u[]) const
Definition: BOpcodeHandler.h:5091
unsigned short m_tint_options
For internal use only.
Definition: BOpcodeHandler.h:2512
int m_maximum_extent_mode
internal use; maximum extent mode – int! argh...
Definition: BOpcodeHandler.h:4026
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1103
void SetWindow(float const w[])
Definition: BOpcodeHandler.h:5179
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:1734
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2087
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:6465
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:5386
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:6921
float * GetValues()
Definition: BOpcodeHandler.h:2158
float * m_radii
Definition: BOpcodeHandler.h:6585
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4994
int m_mask
internal use
Definition: BOpcodeHandler.h:2020
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:4089
float GetRadius() const
Definition: BOpcodeHandler.h:6526
int GetIndex() const
Definition: BOpcodeHandler.h:4543
float m_index
internal use
Definition: BOpcodeHandler.h:1742
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:4842
int GetLodNumThresholds() const
Definition: BOpcodeHandler.h:3698
bool validate_count(int count, int limit=1<< 24) const
Definition: BOpcodeHandler.h:689
void SetLodThreshold(float r)
Definition: BOpcodeHandler.h:3687
int GetNumSphereTessellations() const
Definition: BOpcodeHandler.h:3756
float m_start_u
Definition: BOpcodeHandler.h:5782
void SetName(int length)
Definition: BOpcodeHandler.h:8166
int GetType() const
Definition: BOpcodeHandler.h:5818
unsigned short m_transparency_options
internal use; low nibble style, next peeling flags, then zsort
Definition: BOpcodeHandler.h:2563
int m_total_size
the total size of the blind material data
Definition: BOpcodeHandler.h:7949
int m_mask
internal use
Definition: BOpcodeHandler.h:1714
//
Definition: BOpcodeEnums.h:38
char m_interpolation
Definition: BOpcodeHandler.h:7241
void SetNURBSCurveContinuedBudget(int b)
Definition: BOpcodeHandler.h:3600
void SetHlrOptions(int o)
Definition: BOpcodeHandler.h:3555
void SetStereoDistance(float d)
Definition: BOpcodeHandler.h:3549
Handles the TKE_Text and TKE_Text_With_Encoding opcodes.
Definition: BOpcodeHandler.h:6836
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:5232
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:8062
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:6818
char m_param_offset
Definition: BOpcodeHandler.h:7254
int m_substage
Definition: BOpcodeHandler.h:5772
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:3007
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5723
double * GetDRef2()
Definition: BOpcodeHandler.h:6788
void SetOcclusionMapChannel(int c)
Definition: BOpcodeHandler.h:2351
char const * GetString() const
Definition: BOpcodeHandler.h:6889
float * m_weights
Definition: BOpcodeHandler.h:5780
void SetFlags(int f)
Definition: BOpcodeHandler.h:923
char * GetLoggingString()
Definition: BOpcodeHandler.h:248
void SetDebug(int d)
Definition: BOpcodeHandler.h:2692
int m_lod_options_value
For internal use only.
Definition: BOpcodeHandler.h:2518
float const * GetLodThresholds() const
Definition: BOpcodeHandler.h:3700
char * GetDefinition()
Definition: BOpcodeHandler.h:7681
float GetNearLimit() const
Definition: BOpcodeHandler.h:5131
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:4187
float * m_points
Definition: BOpcodeHandler.h:7804
unsigned char m_format
Definition: BOpcodeHandler.h:7107
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:5890
int m_length
Definition: BOpcodeHandler.h:6982
oblique y setting
Definition: BOpcodeEnums.h:1156
void SetEValue(int v)
Definition: BOpcodeHandler.h:4082
Handles the TKE_Rendering_Options opcode.
Definition: BOpcodeHandler.h:2464
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:3947
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7839
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:4138
virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
Definition: BOpcodeHandler.h:216
secondary extended bits
Definition: BOpcodeEnums.h:207
char const * GetString() const
Definition: BOpcodeHandler.h:8047
void SetViewVolume(float ax, float ay, float az, float bx, float by, float bz)
Definition: BOpcodeHandler.h:4165
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:4555
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:1821
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6295
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:978
unsigned char m_flags
Definition: BOpcodeHandler.h:6151
int GetEncoding() const
Definition: BOpcodeHandler.h:7052
int GetColorBackLockMask() const
Definition: BOpcodeHandler.h:2973
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:4510
float const * GetRef1() const
Definition: BOpcodeHandler.h:6741
int GetOcclusionMapChannel() const
Definition: BOpcodeHandler.h:2353
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3267
self-explanatory
Definition: BOpcodeEnums.h:1593
void SetDAxis(double const a[])
Definition: BOpcodeHandler.h:6537
Definition: BOpcodeHandler.h:854
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1067
char * GetSegment()
Definition: BOpcodeHandler.h:7633
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:2508
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:7388
Contains enum types which are used by BBaseOpcodeHandler.
char * m_string
Definition: BOpcodeHandler.h:8025
int m_buffer_size_limit
For internal use only.
Definition: BOpcodeHandler.h:2482
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:3295
char * GetString()
Definition: BOpcodeHandler.h:6891
int GetCount() const
Definition: BOpcodeHandler.h:4937
int GetNURBSSurfaceBudget() const
Definition: BOpcodeHandler.h:3606
unsigned char m_hsr
internal use; low half hsr, high half thsr. For internal use only.
Definition: BOpcodeHandler.h:2469
void SetDiffuseName(char const *name)
Definition: BOpcodeHandler.h:1800
float const * GetCenter() const
Definition: BOpcodeHandler.h:6301
int GetMask() const
Definition: BOpcodeHandler.h:4065
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2488
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:7947
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:3545
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2428
int GetCompression() const
Definition: BOpcodeHandler.h:7214
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:277
void SetCaps(int f)
Definition: BOpcodeHandler.h:6552
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5156
int GetLength() const
Definition: BOpcodeHandler.h:2160
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:4778
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:5509
int m_length
Definition: BOpcodeHandler.h:6840
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:4777
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:7448
unsigned char m_encoding
Definition: BOpcodeHandler.h:6843
TK_LOD()
Definition: BOpcodeHandler.h:1520
char const * GetName(void) const
Definition: BOpcodeHandler.h:8168
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3486
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:4570
void SetAxis(float const s[])
Definition: BOpcodeHandler.h:6414
void SetValue(int m)
Definition: BOpcodeHandler.h:4368
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4330
unsigned short m_selection_bias
internal use; selection bias options
Definition: BOpcodeHandler.h:4023
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:3685
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:3157
void SetPoint(float const p[])
Definition: BOpcodeHandler.h:5535
void SetExtras(int e)
Definition: BOpcodeHandler.h:4107
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1433
char const * GetName() const
Definition: BOpcodeHandler.h:4637
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2491
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:7590
void SetCutVisualizationMode(int m)
Definition: BOpcodeHandler.h:4299
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:7438
unsigned char m_cut_geometry_match
For internal use only.
Definition: BOpcodeHandler.h:2567
char * m_string
Definition: BOpcodeHandler.h:1291
int const * GetSize() const
Definition: BOpcodeHandler.h:7199
void SetPoints(float const p[])
Definition: BOpcodeHandler.h:5590
double * GetDPoints()
Definition: BOpcodeHandler.h:7841
void SetTransparentStyle(int s)
Definition: BOpcodeHandler.h:2677
int GetHlrLinePattern() const
Definition: BOpcodeHandler.h:3576
float const * GetSimpleReflectionPlane() const
Definition: BOpcodeHandler.h:3915
int m_length
Definition: BOpcodeHandler.h:1289
internal use, indicates bits which require TKO_Geo_Extended2
Definition: BOpcodeEnums.h:208
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:2499
short color_text_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1089
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6539
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:6821
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:2565
char m_type
Definition: BOpcodeHandler.h:6706
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:5322
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:193
char * m_shape
for internal use only
Definition: BOpcodeHandler.h:5227
char const * GetBaseColorMap() const
Definition: BOpcodeHandler.h:2250
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4911
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:3233
char * GetView()
Definition: BOpcodeHandler.h:5147
void SetRoughnessFactor(float f)
Definition: BOpcodeHandler.h:2325
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:5335
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:2807
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3336
unsigned char m_degree
Definition: BOpcodeHandler.h:5684
int GetNumCylinderTessellations() const
Definition: BOpcodeHandler.h:3739
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1365
int GetLodMinimumTriangleCount() const
Definition: BOpcodeHandler.h:3628
char * GetSpecularName()
Definition: BOpcodeHandler.h:1823
int m_name_length
Definition: BOpcodeHandler.h:7644
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:2704
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5854
int m_reference_length
Definition: BOpcodeHandler.h:7106
void SetCutVisualizationSCale(float s)
Definition: BOpcodeHandler.h:4318
char * m_data
Definition: BOpcodeHandler.h:7978
float * m_points
internal use
Definition: BOpcodeHandler.h:5941
float const * GetVector() const
Definition: BOpcodeHandler.h:4144
float const * GetCenter() const
Definition: BOpcodeHandler.h:6399
void SetOptions(int o)
Definition: BOpcodeHandler.h:5987
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:5211
int GetOptions() const
Definition: BOpcodeHandler.h:5832
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1389
void SetDField(double const f[])
Definition: BOpcodeHandler.h:5105
struct vlist_s * m_data
Definition: BOpcodeHandler.h:7953
unsigned char m_geometry_options
For internal use only.
Definition: BOpcodeHandler.h:2602
Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode.
Definition: BOpcodeHandler.h:2018
void SetEMask(int m)
Definition: BOpcodeHandler.h:4073
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2038
void SetNormalFactor(float f)
Definition: BOpcodeHandler.h:2315
TK_Shape_Definition()
Definition: BOpcodeHandler.h:7532
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:2841
void SetIndices(int count)
Definition: BOpcodeHandler.h:4884
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:2789
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:4031
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:4104
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2612
char const * GetXML() const
Definition: BOpcodeHandler.h:8005
int GetCount() const
Definition: BOpcodeHandler.h:6133
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:6825
int GetColorWindowLockMask() const
Definition: BOpcodeHandler.h:2904
void SetCylinderTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3730
char const * GetCondition() const
Definition: BOpcodeHandler.h:1424
void SetNearLimit(float l)
Definition: BOpcodeHandler.h:5126
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2498
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:5340
#define ID_Key
Definition: BStream.h:253
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:4228
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5054
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:2649
int m_cond_allocated
Definition: BOpcodeHandler.h:7581
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:5362
unsigned char m_flags
Definition: BOpcodeHandler.h:6493
char * name
the font name
Definition: BOpcodeHandler.h:6810
double * GetDPoints()
Definition: BOpcodeHandler.h:7776
wchar_t * GetString()
Definition: BOpcodeHandler.h:8127
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:6664
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, int variant)
Definition: BOpcodeHandler.h:966
#define TKO_Rendo_Extended
Definition: BOpcodeEnums.h:451
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6242
double * m_dradii
Definition: BOpcodeHandler.h:6586
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:871
char const * GetConditions() const
Definition: BOpcodeHandler.h:4707
float GetCutGeometryTolerance() const
Definition: BOpcodeHandler.h:3801
int GetCutGeometry() const
Definition: BOpcodeHandler.h:3781
unsigned short m_isoline_options
for internal use only.
Definition: BOpcodeHandler.h:2497
internal use, indicates bits which require TKO_Geo_Extended_Colors
Definition: BOpcodeEnums.h:194
void SetPoints(float x1, float y1, float z1, float x2, float y2, float z2)
Definition: BOpcodeHandler.h:5581
int m_index
internal use
Definition: BOpcodeHandler.h:1479
float * GetPoints()
Definition: BOpcodeHandler.h:6623
int m_simple_reflection_visibility_value
For internal use only.
Definition: BOpcodeHandler.h:2594
int GetJoinCutoffAngle() const
Definition: BOpcodeHandler.h:2714
int GetGeometry() const
Definition: BOpcodeHandler.h:1993
void SetSimpleReflectionPlane(float const p[])
Definition: BOpcodeHandler.h:3913
float m_concentration
for internal use only
Definition: BOpcodeHandler.h:6007
void SetString(int length)
Definition: BOpcodeHandler.h:6887
float * GetWeights()
Definition: BOpcodeHandler.h:5909
void SetTransform(int length)
Definition: BOpcodeHandler.h:7401
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:5320
int GetEValue() const
Definition: BOpcodeHandler.h:4084
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:2823
double const * GetDRadii() const
Definition: BOpcodeHandler.h:6656
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:3758
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3313
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:7396
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:7417
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4772
int m_margin_count
for internal use only
Definition: BOpcodeHandler.h:5229
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5866
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:3133
int GetValue() const
Definition: BOpcodeHandler.h:4070
int m_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2472
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:5592
extended 2
Definition: BOpcodeEnums.h:856
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7734
void SetSegment(int length)
Definition: BOpcodeHandler.h:1331
float const * GetStart() const
Definition: BOpcodeHandler.h:6519
unsigned char m_display_list_level
For internal use only.
Definition: BOpcodeHandler.h:2615
float const * GetRGB() const
Definition: BOpcodeHandler.h:1947
int GetInterpolation() const
Definition: BOpcodeHandler.h:7335
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:5751
char * GetImage()
Definition: BOpcodeHandler.h:7307
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3525
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:1804
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:4191
float GetGloss() const
Definition: BOpcodeHandler.h:1891
float GetSize() const
Definition: BOpcodeHandler.h:5307
float const * GetTarget() const
Definition: BOpcodeHandler.h:6044
TK_Color_Map()
Definition: BOpcodeHandler.h:2132
float GetSlant() const
Definition: BOpcodeHandler.h:5332
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:934
int m_size
Definition: BOpcodeHandler.h:7526
char * m_string
Definition: BOpcodeHandler.h:4686
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:3929
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:4661
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:2950
int GetType() const
Definition: BOpcodeHandler.h:6803
static void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:546
int const * GetSizes() const
Definition: BOpcodeHandler.h:4952
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4458
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:5391
void SetCutGeometry(int m)
Definition: BOpcodeHandler.h:3779
void SetBaseColorMap(char const *name)
Definition: BOpcodeHandler.h:2246
void SetEndNormal(int index, float const normal[]=0)
Definition: BOpcodeHandler.h:6675
TK_Bounding(unsigned char opcode, double center[], double radius)
Definition: BOpcodeHandler.h:5477
void GetOblique(float o[]) const
Definition: BOpcodeHandler.h:5123
char * m_debug_string
Definition: BOpcodeHandler.h:71
char m_tiling
Definition: BOpcodeHandler.h:7249
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3394
int m_cursor_count
Definition: BOpcodeHandler.h:6850
float const * GetUpVector() const
Definition: BOpcodeHandler.h:5079
void SetSimpleReflection(int m)
Definition: BOpcodeHandler.h:3901
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:2522
float m_contour_value_translate
for internal use only.
Definition: BOpcodeHandler.h:2500
int m_mask
internal use
Definition: BOpcodeHandler.h:1959
TK_Named(unsigned char opcode)
Definition: BOpcodeHandler.h:4619
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:6508
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:1862
char * m_name
Definition: BOpcodeHandler.h:6977
int GetIndex() const
Definition: BOpcodeHandler.h:4644
int GetOptions() const
Definition: BOpcodeHandler.h:4761
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4859
float const * GetMinor() const
Definition: BOpcodeHandler.h:6319
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:3856
void SetDStart(double const s[])
Definition: BOpcodeHandler.h:6222
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3428
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:5217
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:5712
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:7584
char * m_name
Definition: BOpcodeHandler.h:7099
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1391
int GetUDegree() const
Definition: BOpcodeHandler.h:5899
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4391
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4491
void SetDMiddle(double const m[])
Definition: BOpcodeHandler.h:6230
unsigned short m_simple_reflection
For internal use only.
Definition: BOpcodeHandler.h:2587
static float read_float(char const *cp, char **newcpp)
for internal use only
Definition: BOpcodeHandler.h:696
int GetColorWindowLockValue() const
Definition: BOpcodeHandler.h:2915
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:4657
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2477
unsigned char * m_data
Definition: BOpcodeHandler.h:7890
int GetGeometry() const
Definition: BOpcodeHandler.h:1785
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3249
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:7348
void SetLodThresholds(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3689
float const * GetLodRatios() const
Definition: BOpcodeHandler.h:3678
void SetRectangle(float const *rect)
Definition: BOpcodeHandler.h:7715
TK_Status SetDPoints(int count, double const points[]=0)
void SetOptions(int at)
Definition: BOpcodeHandler.h:4759
Base class for shell and mesh.
Definition: BPolyhedron.h:22
int GetHSR() const
Definition: BOpcodeHandler.h:2669
char m_options
Definition: BOpcodeHandler.h:7736
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:4908
int GetGreekingMode() const
Definition: BOpcodeHandler.h:5372
char * m_string
Definition: BOpcodeHandler.h:1173
int m_hlr_options
For internal use only.
Definition: BOpcodeHandler.h:2484
TK_User_Index_Data()
Definition: BOpcodeHandler.h:4918
int GetExtras() const
Definition: BOpcodeHandler.h:4109
void SetDCenter(double const c[])
Definition: BOpcodeHandler.h:6247
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:4130
void SetCompression(int c)
Definition: BOpcodeHandler.h:7212
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2025
char * m_reference
Definition: BOpcodeHandler.h:7100
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3906
extends font options to a second byte
Definition: BOpcodeEnums.h:1179
int GetHlrOptions() const
Definition: BOpcodeHandler.h:3564
void SetRenderer(int r)
Definition: BOpcodeHandler.h:5376
int m_name_length
Definition: BOpcodeHandler.h:6980
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4722
TK_Geometry_Options()
Definition: BOpcodeHandler.h:4245
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:1860
char * m_bytes
Definition: BOpcodeHandler.h:6979
int m_vertex_displacement
For internal use only.
Definition: BOpcodeHandler.h:2473
void SetHardEdgeAngle(int m)
Definition: BOpcodeHandler.h:3768
char const * GetNormalMap() const
Definition: BOpcodeHandler.h:2259
float m_surface_max_trim_curve_deviation
For internal use only.
Definition: BOpcodeHandler.h:2542
void SetColorEdgeContrastLockValue(int v)
Definition: BOpcodeHandler.h:3025
int GetMask(int index=0) const
Definition: BOpcodeHandler.h:2659
float const * GetLodCutoffs() const
Definition: BOpcodeHandler.h:3718
float GetStereoSeparation() const
Definition: BOpcodeHandler.h:3547
Handles the TKE_Start_User_Data opcode.
Definition: BOpcodeHandler.h:7887
TK_Animation()
Definition: BOpcodeHandler.h:2372
float m_size
for internal use only
Definition: BOpcodeHandler.h:5213
float * GetKnots()
Definition: BOpcodeHandler.h:5840
int m_length
internal use
Definition: BOpcodeHandler.h:2120
float GetCutVisualizationAlpha() const
Definition: BOpcodeHandler.h:4315
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:7283
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:6978
int GetShadowMap() const
Definition: BOpcodeHandler.h:3887
int GetLoops() const
Definition: BOpcodeHandler.h:7858
TK_Window()
Definition: BOpcodeHandler.h:5163
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:3117
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:4590
int GetCulling() const
Definition: BOpcodeHandler.h:4114
float const * GetWeights() const
Definition: BOpcodeHandler.h:5834
int m_radius_count
Definition: BOpcodeHandler.h:6584
void SetSimpleShadowResolution(int m)
Definition: BOpcodeHandler.h:3843
void SetIndex(int index)
Definition: BOpcodeHandler.h:1407
int GetTargetVersion() const
Definition: BStreamFileToolkit.h:987
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6327
void SetDRef2(double const r[])
Definition: BOpcodeHandler.h:6784
TK_Line_Style()
Definition: BOpcodeHandler.h:7651
Definition: BOpcodeHandler.h:4655
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:6457
float * GetRef1()
Definition: BOpcodeHandler.h:6743
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:2520
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:5365
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:4020
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:5350
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6910
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1034
int GetPreference() const
Definition: BOpcodeHandler.h:5399
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6264
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5069
unsigned short * m_string
Definition: BOpcodeHandler.h:4821
static void fix_out(float *f, int n)
for internal use only
Definition: BOpcodeHandler.h:591
void SetColorWindowContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3348
void SetPreferences(int r1, int r2)
Definition: BOpcodeHandler.h:5402
TK_Texture()
Definition: BOpcodeHandler.h:7265
char * m_gooch_color_map_segment
For internal use only.
Definition: BOpcodeHandler.h:2561
void SetColorEdgeContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3417
int GetColorVertexContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3491
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1047
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6546
int m_allocated
Definition: BOpcodeHandler.h:8063
static TK_Status PutData(BStreamFileToolkit &tk, double const *d, int n)
Definition: BOpcodeHandler.h:417
int GetColorMarkerContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3468
float m_gooch_diffuse_weight
For internal use only.
Definition: BOpcodeHandler.h:2560
void SetColorEdgeContrastLockMask(int m)
Definition: BOpcodeHandler.h:3014
int GetSimpleShadowResolution() const
Definition: BOpcodeHandler.h:3845
void SetAmbientUpVector(float x, float y, float z)
Definition: BOpcodeHandler.h:3957
float const * GetPlanes() const
Definition: BOpcodeHandler.h:6128
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:7920
int GetColorEdgeLockMask() const
Definition: BOpcodeHandler.h:2812
extended bits for color
Definition: BOpcodeEnums.h:193
void SetColorWindowLockMask(int m)
Definition: BOpcodeHandler.h:2899
int m_total
Definition: BOpcodeHandler.h:7802
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:5844
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:3879
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5658
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:2956
char * GetName()
Definition: BOpcodeHandler.h:7504
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:6169
char const * GetLookup() const
Definition: BOpcodeHandler.h:7045
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:3978
void SetIndex(int i)
Definition: BOpcodeHandler.h:2056
int m_substage
Definition: BOpcodeHandler.h:6860
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:2367
int m_options
internal use
Definition: BOpcodeHandler.h:1455
int GetUnits() const
Definition: BOpcodeHandler.h:4577
char * GetComment()
Definition: BOpcodeHandler.h:992
short color_line_mask
For internal use only.
Definition: BOpcodeHandler.h:1065
int GetGeometryOptionsMask() const
Definition: BOpcodeHandler.h:3765
extra item for color; refer to HC_Set_Color for a description
Definition: BOpcodeEnums.h:216
int GetLayout() const
Definition: BOpcodeHandler.h:5419
void SetSimpleShadowPlane(float const p[])
Definition: BOpcodeHandler.h:3866
float const * GetPoints() const
Definition: BOpcodeHandler.h:6621
int GetGeometry() const
Definition: BOpcodeHandler.h:2053
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:6234
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:6260
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:3164
self-explanatory
Definition: BOpcodeEnums.h:1317
int m_lod_options_mask
For internal use only.
Definition: BOpcodeHandler.h:2517
float * m_isoline_colors
for internal use only.
Definition: BOpcodeHandler.h:2505
void SetColorEdgeLockValue(int v)
Definition: BOpcodeHandler.h:2818
void SetDisplayListLevel(int m)
Definition: BOpcodeHandler.h:3824
TK_URL()
Definition: BOpcodeHandler.h:8029
float const * GetDefinition() const
Definition: BOpcodeHandler.h:7560
unsigned char Opcode() const
Definition: BOpcodeHandler.h:163
int m_allocated
Definition: BOpcodeHandler.h:8024
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3747
void SetImage(char const *image)
Definition: BOpcodeHandler.h:7301
int GetLength()
Definition: BOpcodeHandler.h:4752
float const * GetPoints() const
Definition: BOpcodeHandler.h:5969
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:7343
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1477
void SetMinor(float const m[])
Definition: BOpcodeHandler.h:6317
double * GetDPoints()
Definition: BOpcodeHandler.h:6646
char const * GetOptions() const
Definition: BOpcodeHandler.h:4803
float * GetOrigin()
Definition: BOpcodeHandler.h:6732
void SetColorMarkerContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3474
TK_Default()
Definition: BOpcodeHandler.h:837
int GetBufferSizeLimit() const
Definition: BOpcodeHandler.h:3541
int GetOptions() const
Definition: BOpcodeHandler.h:7209
char const * GetReference() const
Definition: BOpcodeHandler.h:7174
float const * GetRadii() const
Definition: BOpcodeHandler.h:6633
short m_fbe_mask
For internal use only.
Definition: BOpcodeHandler.h:2618
void SetColorFaceForcedLockMask(int m)
Definition: BOpcodeHandler.h:3187
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:2533
int * GetStringCursors()
Definition: BOpcodeHandler.h:6937
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1296
int GetEMask() const
Definition: BOpcodeHandler.h:4079
char * GetDefinition()
Definition: BOpcodeHandler.h:7513
int m_count
for internal use only
Definition: BOpcodeHandler.h:4906
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:7383
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:5999
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:5015
char const * GetStyle() const
Definition: BOpcodeHandler.h:5300
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:5381
void SetMirror(float const rgb[])
Definition: BOpcodeHandler.h:1828
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:1815
int GetParameterOffset() const
Definition: BOpcodeHandler.h:7390
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:6213
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:1832
bool GetFollow()
Definition: BOpcodeHandler.h:1367
char * m_string
Definition: BOpcodeHandler.h:6842
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:3892
TK_Text_Font()
Definition: BOpcodeHandler.h:5247
int GetFormat() const
Definition: BOpcodeHandler.h:7462
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:3099
char const * GetTransform() const
Definition: BOpcodeHandler.h:7403
int m_length
Definition: BOpcodeHandler.h:4820
float * m_values
internal use
Definition: BOpcodeHandler.h:2122
void SetSize(float s)
Definition: BOpcodeHandler.h:5305
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4390
void SetOptions(int length)
Definition: BOpcodeHandler.h:4801
int m_cond_length
Definition: BOpcodeHandler.h:1384
char * m_name
Definition: BOpcodeHandler.h:7527
char const * GetName() const
Definition: BOpcodeHandler.h:7611
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:4196
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:4179
int const * GetIndices() const
Definition: BOpcodeHandler.h:4888
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:3076
float GetExtraSpace() const
Definition: BOpcodeHandler.h:5342
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:6769
void SetLodMaxDegree(int v)
Definition: BOpcodeHandler.h:3638
void SetSegment(int length)
Definition: BOpcodeHandler.h:1203
float m_simple_reflection_hither
For internal use only.
Definition: BOpcodeHandler.h:2591
float const * GetMirror() const
Definition: BOpcodeHandler.h:1834
void SetSimpleShadow(int m)
Definition: BOpcodeHandler.h:3829
void SetNURBSCurveBudget(int b)
Definition: BOpcodeHandler.h:3596
int GetLockMask() const
Definition: BOpcodeHandler.h:2727
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1773
float const * GetValues() const
Definition: BOpcodeHandler.h:2156
int GetAction() const
Definition: BOpcodeHandler.h:4757
float const * GetScreenRange() const
Definition: BOpcodeHandler.h:3952
extra item for visibility; refer to HC_Set_Visibility for a description
Definition: BOpcodeEnums.h:258
void SetCutGeometryLevel(int m)
Definition: BOpcodeHandler.h:3784
virtual TK_Status Error(char const *msg=0) const
unsigned char m_depth_peeling_algorithm
For internal use only.
Definition: BOpcodeHandler.h:2609
char * GetNormalMap()
Definition: BOpcodeHandler.h:2261
float const * GetPoint() const
Definition: BOpcodeHandler.h:5537
void SetIndex(int i)
Definition: BOpcodeHandler.h:4642
int m_value
internal use
Definition: BOpcodeHandler.h:4012
int GetOptions() const
Definition: BOpcodeHandler.h:5549
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:2853
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5044
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5561
float m_slant
for internal use only
Definition: BOpcodeHandler.h:5216
int GetTechnology() const
Definition: BOpcodeHandler.h:2684
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:5785
void SetDown(int m)
Definition: BOpcodeHandler.h:4425
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7453
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6441
float const * GetTarget() const
Definition: BOpcodeHandler.h:5059
int GetCutVisualizationMask() const
Definition: BOpcodeHandler.h:4296
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:2984
char * m_string
Definition: BOpcodeHandler.h:4727
int m_substage
Definition: BOpcodeHandler.h:7238
void SetColorTextForcedLockValue(int v)
Definition: BOpcodeHandler.h:3290
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:267
void SetSizeUnits(int u)
Definition: BOpcodeHandler.h:5310
void SetEmission(float r, float g, float b)
Definition: BOpcodeHandler.h:1856
void SetLodRatio(float r)
Definition: BOpcodeHandler.h:3665
void SetDPoint(double const p[])
Definition: BOpcodeHandler.h:5542
TK_Visibility(void)
Definition: BOpcodeHandler.h:4337
int m_control_point_count
Definition: BOpcodeHandler.h:5685
char m_index
internal use
Definition: BOpcodeHandler.h:4527
int GetColorLockMask() const
Definition: BOpcodeHandler.h:2766
int GetTotal() const
Definition: BOpcodeHandler.h:7856
char * GetReference()
Definition: BOpcodeHandler.h:7176
self-explanatory
Definition: BOpcodeEnums.h:270
void SetSimpleShadowColor(float const rgb[])
Definition: BOpcodeHandler.h:3874
void SetColorLineContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3440
int m_related
internal use
Definition: BOpcodeHandler.h:4016
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:3602
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4907
void SetUp(int m)
Definition: BOpcodeHandler.h:4436
void SetMask(int m)
Definition: BOpcodeHandler.h:5262
int GetStaticOptions() const
Definition: BOpcodeHandler.h:4211
void SetGeometryOptionsMask(int m)
Definition: BOpcodeHandler.h:3763
int GetColorMarkerLockValue() const
Definition: BOpcodeHandler.h:2869
float GetAlphaFactor() const
Definition: BOpcodeHandler.h:2337
Lock_Masks m_forced
For internal use only.
Definition: BOpcodeHandler.h:2478
int GetLength()
Definition: BOpcodeHandler.h:4807
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:7378
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6193
int GetCount() const
Definition: BOpcodeHandler.h:6662
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7192
float const * GetKnots() const
Definition: BOpcodeHandler.h:5730
char * m_camera
Definition: BOpcodeHandler.h:7232
int m_image_length
Definition: BOpcodeHandler.h:7235
unsigned char const * GetTextLeaderFlags() const
Definition: BOpcodeHandler.h:6948
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:1875
TK_Selectability(void)
Definition: BOpcodeHandler.h:4396
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:3221
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6543
int m_length
Definition: BOpcodeHandler.h:8023
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:2584
float m_hlr_face_displacement
For internal use only.
Definition: BOpcodeHandler.h:2486
int m_tmp
Definition: BOpcodeHandler.h:6861
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6276
short m_fbe_value
For internal use only.
Definition: BOpcodeHandler.h:2619
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:6780
float const * GetWeights() const
Definition: BOpcodeHandler.h:5907
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5049
int GetLodOptionsMask() const
Definition: BOpcodeHandler.h:3616
float horizontal_offset
offset, positive or negative, from the standard position. units are specified separately in horizonta...
Definition: BOpcodeHandler.h:6815
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:1723
self-explanatory
Definition: BOpcodeEnums.h:269
Definition: BOpcodeHandler.h:6809
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:6446
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:6332
void SetForcedLockMask(int m)
Definition: BOpcodeHandler.h:3128
void SetSpecular(float r, float g, float b)
Definition: BOpcodeHandler.h:1811
void SetColorMarkerLockValue(int v)
Definition: BOpcodeHandler.h:2864
int GetGeneralDisplacement() const
Definition: BOpcodeHandler.h:2709
float const * GetPlane() const
Definition: BOpcodeHandler.h:6123
int * m_lengths
Definition: BOpcodeHandler.h:7803
int m_cond_allocated
Definition: BOpcodeHandler.h:1293
int const * GetPreferences() const
Definition: BOpcodeHandler.h:5404
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3341
void SetTransforms(int t)
Definition: BOpcodeHandler.h:5355
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:3130
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6704
char * GetCamera()
Definition: BOpcodeHandler.h:7316
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:6262
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:440
refer to HC_Set_Heuristics
Definition: BOpcodeEnums.h:919
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3387
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:6812
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:5317
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:2485
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:7586
float GetMaxDistance() const
Definition: BOpcodeHandler.h:4160
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:2539
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:6792
int m_length
Definition: BOpcodeHandler.h:4726
indicates that the 2nd byte should be written
Definition: BOpcodeEnums.h:787
char * m_segment
Definition: BOpcodeHandler.h:7578
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:2607
float m_cut_geometry_edge_weight
for internal use only.
Definition: BOpcodeHandler.h:2570
int GetColorWindowContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3353
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6397
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:1836
virtual TK_Status Write(BStreamFileToolkit &tk)=0
void SetOptions(int opt)
Definition: BOpcodeHandler.h:5192
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:3651
int m_isoline_position_count
for internal use only.
Definition: BOpcodeHandler.h:2502
void SetDField(double w, double h)
Definition: BOpcodeHandler.h:5103
float * GetPoints()
Definition: BOpcodeHandler.h:5722
Flags
Definition: BOpcodeHandler.h:6471
short color_simple_reflection_mask
For internal use only.
Definition: BOpcodeHandler.h:1091
void SetColorTextLockMask(int m)
Definition: BOpcodeHandler.h:2876
extended bit
Definition: BOpcodeEnums.h:835
void SetLodTolerance(float v)
Definition: BOpcodeHandler.h:3642
int GetTiling() const
Definition: BOpcodeHandler.h:7375
bool GetLogging() const
Definition: BStreamFileToolkit.h:1006
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6023
void SetOptions(int o)
Definition: BOpcodeHandler.h:5920
float GetHlrFaceDisplacement() const
Definition: BOpcodeHandler.h:3572
int m_cond_length
Definition: BOpcodeHandler.h:1292
float m_curve_max_length
For internal use only.
Definition: BOpcodeHandler.h:2548
int m_isoline_pattern_count
for internal use only.
Definition: BOpcodeHandler.h:2506
char * GetBytes()
Definition: BOpcodeHandler.h:7158
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:4132
int m_emask
internal use
Definition: BOpcodeHandler.h:4013
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:7380
float const * GetMajor() const
Definition: BOpcodeHandler.h:6310
void SetDPlane(double const p[])
Definition: BOpcodeHandler.h:6120
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:4021
Handles the TKE_PBR opcode.
Definition: BOpcodeHandler.h:2191
int GetDegree() const
Definition: BOpcodeHandler.h:5826
float * m_knots
Definition: BOpcodeHandler.h:5690
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:4126
char m_options
internal use
Definition: BOpcodeHandler.h:5943
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5034
static TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:304
void SetStaticOptions(int o)
Definition: BOpcodeHandler.h:4209
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:2697
char * GetBytes()
Definition: BOpcodeHandler.h:7029
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:4965
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:3578
int GetForceDefer() const
Definition: BOpcodeHandler.h:4206
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:5820
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeEnums.h:675
char * m_string
Definition: BOpcodeHandler.h:4775
void SetColorTextContrastLockMask(int m)
Definition: BOpcodeHandler.h:3106
Handles the TKE_Color_By_FIndex opcode.
Definition: BOpcodeHandler.h:2067
int m_mask
internal use
Definition: BOpcodeHandler.h:4011
void SetImageTintColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3973
unsigned char m_cut_geometry_level
For internal use only.
Definition: BOpcodeHandler.h:2566
short color_vertex_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1088
char * m_data
Definition: BOpcodeHandler.h:7479
double const * GetDMajor() const
Definition: BOpcodeHandler.h:6338
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1080
int GetSelectionSorting() const
Definition: BOpcodeHandler.h:4201
unsigned char m_hlr_threshold_units
for internal use only.
Definition: BOpcodeHandler.h:2493
void SetType(int t)
Definition: BOpcodeHandler.h:7015
char const * GetView() const
Definition: BOpcodeHandler.h:5145
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:5214
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:6758
void SetSimpleShadowPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3859
void SetFormat(int f)
Definition: BOpcodeHandler.h:2146
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6393
int m_isoline_color_count
for internal use only.
Definition: BOpcodeHandler.h:2504
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:5540
Capping_Options
Definition: BOpcodeHandler.h:6559
char * GetOptions()
Definition: BOpcodeHandler.h:4805
char * GetMirrorName()
Definition: BOpcodeHandler.h:1838
char const * GetString() const
Definition: BOpcodeHandler.h:8086
float const * GetOblique() const
Definition: BOpcodeHandler.h:5121
entity is double precision
Definition: BStream.h:356
void SetOcclusionMap(int length)
Definition: BOpcodeHandler.h:2293
double * GetDMatrix()
Definition: BOpcodeHandler.h:4516
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:3215
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:3720
bool m_jpeg_native
Definition: BOpcodeHandler.h:7116
float const * GetValue() const
Definition: BOpcodeHandler.h:2007
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:2721
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4350
float const * GetBaseColorFactor() const
Definition: BOpcodeHandler.h:2312
void SetColorVertexLockValue(int v)
Definition: BOpcodeHandler.h:3002
float GetOcclusionFactor() const
Definition: BOpcodeHandler.h:2332
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6907
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4392
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3871
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6323
void SetMask(int m)
Definition: BOpcodeHandler.h:4262
int GetLodClamp() const
Definition: BOpcodeHandler.h:3636
void SetRGB(float r, float g, float b)
Definition: BOpcodeHandler.h:1943
void SetDOrtho(double const s[])
Definition: BOpcodeHandler.h:6463