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 
4017 
4018  unsigned char m_extras;
4021  unsigned short m_selection_bias;
4028  float m_vector[3];
4031  float m_view_volume[6];
4032 
4033  unsigned char m_ordered_weights_mask;
4034  float m_ordered_weights[TKO_Heur_Order_Count];
4035  unsigned char m_selection_level;
4036  unsigned char m_selection_sorting;
4037  unsigned char m_model_type;
4038  unsigned short m_static_options;
4039 
4040  public:
4042  TK_Heuristics () : BBaseOpcodeHandler (TKE_Heuristics),
4043  m_mask (0), m_value (0), m_culling(0), m_selection_culling(0), m_selection_bias(0),
4044  m_pixel_threshold (0), m_maximum_extent (0), m_maximum_extent_mode(0) {}
4045  ~TK_Heuristics ();
4046 
4049  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4050 
4051  TK_Status ReadAscii (BStreamFileToolkit & tk);
4052  TK_Status WriteAscii (BStreamFileToolkit & tk);
4053 
4055  void SetMask (int m) {
4056  m_mask = m;
4057  if ((m & TKO_Heuristic_Extended_Mask) != 0)
4058  m_mask |= TKO_Heuristic_Extended;
4059  }
4061  int GetMask () const { return m_mask; }
4062 
4064  void SetValue (int v) { m_value = v; }
4066  int GetValue () const { return m_value; }
4067 
4069  void SetRelatedSelectionLimit (int r) { m_related = r; }
4071  int GetRelatedSelectionLimit () const { return m_related; }
4072 
4074  void SetInternalSelectionLimit (int i) { m_internal_shell = m_internal_polyline = i; }
4076  int GetInternalSelectionLimit () const { return m_internal_shell; }
4077 
4079  void SetInternalShellSelectionLimit (int i) { m_internal_shell = i; }
4081  int GetInternalShellSelectionLimit () const { return m_internal_shell; }
4082 
4084  void SetInternalPolylineSelectionLimit (int i) { m_internal_polyline = i; }
4086  int GetInternalPolylineSelectionLimit () const { return m_internal_polyline; }
4087 
4089  void SetExtras (int e) { m_extras = (unsigned char)e; }
4091  int GetExtras () const { return (int)m_extras; }
4092 
4094  void SetCulling (int c) { m_culling = c; }
4096  int GetCulling () const { return (int)m_culling; }
4098  void SetSelectionCulling (int c) { m_selection_culling = (unsigned short)c; }
4100  int GetSelectionCulling () const { return (int)m_selection_culling; }
4102  void SetSelectionBias (int c) { m_selection_bias = (unsigned short)c; }
4104  int GetSelectionBias () const { return (int)m_selection_bias; }
4106  void SetPixelThreshold (int c) { m_pixel_threshold = c; }
4108  int GetPixelThreshold () const { return m_pixel_threshold; }
4110  void SetMaximumExtent (int c) { m_maximum_extent = c; }
4112  int GetMaximumExtent () const { return m_maximum_extent; }
4114  int GetMaximumExtentMode () const { return m_maximum_extent_mode; }
4116  void SetMaximumExtentMode (int c) { m_maximum_extent_mode = c; }
4118  int GetMaximumExtentLevel () const { return m_maximum_extent_level; }
4120  void SetMaximumExtentLevel (int c) { m_maximum_extent_level = (unsigned char)c; }
4122  void SetHardExtent (int c) { m_hard_extent = c; }
4124  int GetHardExtent () const { return m_hard_extent; }
4126  float const * GetVector () const { return m_vector; }
4128  void SetVector (float x, float y, float z) {
4129  m_vector[0] = x;
4130  m_vector[1] = y;
4131  m_vector[2] = z;
4132  }
4134  void SetVector (float const v[]) { SetVector(v[0], v[1], v[2]); }
4136  float GetVectorTolerance () const { return m_vector_tolerance; }
4138  void SetVectorTolerance (float tol) { m_vector_tolerance = tol; }
4139 
4140  void SetMaxDistance (float m) { m_max_distance = m; }
4142  float GetMaxDistance () const { return m_max_distance; }
4143 
4145  float const * GetViewVolume () const { return m_view_volume; }
4147  void SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) {
4148  m_view_volume[0] = ax;
4149  m_view_volume[1] = ay;
4150  m_view_volume[2] = az;
4151  m_view_volume[3] = bx;
4152  m_view_volume[4] = by;
4153  m_view_volume[5] = bz;
4154  }
4156  void SetViewVolume (float const v[]) { SetViewVolume(v[0], v[1], v[2], v[3], v[4], v[5]); }
4157 
4159  void SetOrderedWeightsMask (int c) { m_ordered_weights_mask = (unsigned char)c; }
4161  int GetOrderedWeightsMask () const { return (int)m_ordered_weights_mask; }
4162 
4164  void SetOrderedWeight (int index, float weight) {
4165  m_ordered_weights[index] = weight;
4166  m_ordered_weights_mask |= 1<<index;
4167  }
4169  float GetOrderedWeight (int index) const { return m_ordered_weights[index]; }
4171  float const * GetOrderedWeights () const { return m_ordered_weights; }
4173  float * GetOrderedWeights () { return m_ordered_weights; }
4174 
4176  void SetSelectionLevel (int l) { m_selection_level = (unsigned char)l; }
4178  int GetSelectionLevel () const { return (int)m_selection_level; }
4179 
4181  void SetSelectionSorting (int s) { m_selection_sorting = (unsigned char)s; }
4183  int GetSelectionSorting () const { return (int)m_selection_sorting; }
4184 
4186  void SetForceDefer (int l) { m_force_defer = l; }
4188  int GetForceDefer () const { return m_force_defer; }
4189 
4191  void SetStaticOptions (int o) { m_static_options = (unsigned short)o; }
4193  int GetStaticOptions () const { return (int)m_static_options; }
4194 
4195 };
4196 
4198 
4199 
4201 
4207 class BBINFILETK_API TK_Geometry_Options : public BBaseOpcodeHandler {
4208  protected:
4209  unsigned short m_mask;
4210  unsigned short m_value;
4211 
4213  float m_orientation[6];
4216 
4217  struct {
4218  unsigned char mask;
4219  unsigned char mode;
4220  float color[3];
4221  float alpha;
4222  float scale;
4223  } m_cut_visualization;
4224 
4225  public:
4227  TK_Geometry_Options () : BBaseOpcodeHandler (TKE_Geometry_Options),
4228  m_mask (0), m_value (0), m_orientation_count (0),
4229  m_coordinate_system_count (0), m_coordinate_systems (0) {
4230  m_cut_visualization.mask = 0;
4231  }
4232  ~TK_Geometry_Options ();
4233 
4234  void Reset ();
4235 
4238  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4239 
4240  TK_Status ReadAscii (BStreamFileToolkit & tk);
4241  TK_Status WriteAscii (BStreamFileToolkit & tk);
4242 
4244  void SetMask (int m) { m_mask = (unsigned short)m; }
4246  int GetMask () const { return (int)m_mask; }
4247 
4249  void SetOrientation (int count, float const o[]) {
4250  if (count != 3 && count != 6)
4251  return;
4252  m_orientation_count = (unsigned char)count;
4253  while (count-- > 0)
4254  m_orientation[count] = o[count];
4255  }
4257  int GetOrientationCount () const { return (int) m_orientation_count; }
4259  float const * GetOrientation () const { return m_orientation; }
4260 
4262  void SetCoordinateSystems (int count, char const cs[]) {
4263  m_coordinate_system_count = count;
4264  m_coordinate_systems = new char [count];
4265  while (count-- > 0)
4266  m_coordinate_systems[count] = cs[count];
4267  }
4269  int GetCoordinateSystemCount () const { return m_coordinate_system_count; }
4271  char const * GetCoordinateSystems () const { return m_coordinate_systems; }
4272 
4273 
4274 
4276  void SetCutVisualizationMask (int m) { m_cut_visualization.mask = (unsigned char)m; }
4278  int GetCutVisualizationMask () const { return (int)m_cut_visualization.mask; }
4279 
4281  void SetCutVisualizationMode (int m) { m_cut_visualization.mode = (unsigned char)m; }
4283  int GetCutVisualizationMode () const { return (int)m_cut_visualization.mode; }
4284 
4286  void SetCutVisualizationColor (float const * c) {
4287  m_cut_visualization.color[0] = c[0];
4288  m_cut_visualization.color[1] = c[1];
4289  m_cut_visualization.color[2] = c[2];
4290  }
4292  float const * GetCutVisualizationColor () const { return m_cut_visualization.color; }
4293 
4295  void SetCutVisualizationAlpha (float a) { m_cut_visualization.alpha = a; }
4297  float GetCutVisualizationAlpha () const { return m_cut_visualization.alpha; }
4298 
4300  void SetCutVisualizationSCale (float s) { m_cut_visualization.scale = s; }
4302  float GetCutVisualizationScale () const { return m_cut_visualization.scale; }
4303 };
4304 
4307 
4312 class BBINFILETK_API TK_Visibility : public BBaseOpcodeHandler {
4313  protected:
4314  int m_mask;
4315  int m_value;
4316 
4317  public:
4320  : BBaseOpcodeHandler (TKE_Visibility), m_mask (0), m_value (0) {}
4321 
4324  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4325 
4326  TK_Status ReadAscii (BStreamFileToolkit & tk);
4327  TK_Status WriteAscii (BStreamFileToolkit & tk);
4328 
4332  void SetGeometry (int m) {
4333  m_mask = m & TKO_Geo_All_Visibles;
4334  if ((m & TKO_Geo_Extended_Mask) != 0) {
4335  m_mask |= TKO_Geo_Extended;
4336  if ((m & TKO_Geo_Extended2_Mask) != 0)
4337  m_mask |= TKO_Geo_Extended2;
4338  }
4339  }
4344  int GetGeometry () const { return m_mask; }
4345 
4350  void SetValue (int m) { m_value = m; }
4355  int GetValue () const { return m_value; }
4356 };
4357 
4360 
4367 class BBINFILETK_API TK_Selectability : public BBaseOpcodeHandler {
4368  protected:
4369  int m_mask;
4370  int m_down;
4371  int m_up;
4375 
4376  public:
4379  : BBaseOpcodeHandler (TKE_Selectability),
4380  m_mask (0), m_down (0), m_up (0), m_move_down (0), m_move_up (0), m_invisible (0) {}
4381 
4384  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4385 
4386  TK_Status ReadAscii (BStreamFileToolkit & tk);
4387  TK_Status WriteAscii (BStreamFileToolkit & tk);
4388 
4392  void SetGeometry (int m) {
4393  m_mask = m & TKO_Geo_All_Selects;
4394  if ((m & TKO_Geo_Extended_Mask) != 0)
4395  m_mask |= TKO_Geo_Extended;
4396  }
4401  int GetGeometry () const { return m_mask; }
4402 
4407  void SetDown (int m) { m_down = m; }
4412  int GetDown () const { return m_down; }
4413 
4418  void SetUp (int m) { m_up = m; }
4423  int GetUp () const { return m_up; }
4424 
4429  void SetMoveDown (int m) { m_move_down = m; }
4434  int GetMoveDown () const { return m_move_down; }
4435 
4440  void SetMoveUp (int m) { m_move_up = m; }
4445  int GetMoveUp () const { return m_move_up; }
4446 
4451  void SetWhenInvisible (int m) { m_invisible = m; }
4456  int GetWhenInvisible () const { return m_invisible; }
4457 };
4458 
4460 
4466 class BBINFILETK_API TK_Matrix : public BBaseOpcodeHandler {
4467  protected:
4468  float m_matrix[16];
4469  double m_dmatrix[16];
4470 
4471  public:
4473  TK_Matrix (unsigned char opcode)
4474  : BBaseOpcodeHandler (opcode) {}
4475 
4478  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4479 
4480  TK_Status ReadAscii (BStreamFileToolkit & tk);
4481  TK_Status WriteAscii (BStreamFileToolkit & tk);
4482 
4484  void SetMatrix (float const m[]) {
4485  int i; for (i=0; i<16; i++) m_matrix[i] = m[i];
4486  }
4488  void SetDMatrix (double const m[]) {
4489  int i; for (i=0; i<16; i++) m_dmatrix[i] = m[i];
4490  }
4492  float const * GetMatrix () const { return m_matrix; }
4494  float * GetMatrix () { return m_matrix; }
4496  double const * GetDMatrix () const { return m_dmatrix; }
4498  double * GetDMatrix () { return m_dmatrix; }
4499 };
4500 
4501 
4507 class BBINFILETK_API TK_Enumerated : public BBaseOpcodeHandler {
4508  protected:
4509  char m_index;
4510 
4511  public:
4513  TK_Enumerated (unsigned char opcode)
4514  : BBaseOpcodeHandler (opcode), m_index (0) {}
4515 
4518  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4519 
4520  TK_Status ReadAscii (BStreamFileToolkit & tk);
4521  TK_Status WriteAscii (BStreamFileToolkit & tk);
4522 
4523  void SetIndex (int i) { m_index = (char)i; }
4525  int GetIndex () const { return (int)m_index; }
4526 };
4527 
4528 
4534 class BBINFILETK_API TK_Size : public BBaseOpcodeHandler {
4535  protected:
4536  float m_value;
4537  unsigned char m_units;
4538 
4539  public:
4541  TK_Size (unsigned char opcode)
4542  : BBaseOpcodeHandler (opcode), m_value (0.0f), m_units (TKO_Generic_Size_Unspecified) {}
4543 
4546  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4547 
4548  TK_Status ReadAscii (BStreamFileToolkit & tk);
4549  TK_Status WriteAscii (BStreamFileToolkit & tk);
4550 
4552  void SetSize (float value, int units = TKO_Generic_Size_Unspecified) {
4553  m_value = (value > 0.0f) ? value : 0.0f;
4554  m_units = (m_value > 0.0f) ? (unsigned char) units : (unsigned char) TKO_Generic_Size_Unspecified;
4555  }
4557  float GetSize () const { return m_value; }
4559  int GetUnits () const { return m_units; }
4560 };
4561 
4566 class BBINFILETK_API TK_Linear_Pattern : public BBaseOpcodeHandler {
4567  protected:
4568  unsigned short m_pattern;
4569 
4570  public:
4572  TK_Linear_Pattern (unsigned char opcode)
4573  : BBaseOpcodeHandler (opcode), m_pattern (0) {}
4574 
4577  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4578 
4579  TK_Status ReadAscii (BStreamFileToolkit & tk);
4580  TK_Status WriteAscii (BStreamFileToolkit & tk);
4581 
4583  void SetPattern (int p) { m_pattern = (unsigned short)p; }
4585  int GetPattern () const { return (int)m_pattern; }
4586 };
4587 
4593 class BBINFILETK_API TK_Named : public BBaseOpcodeHandler {
4594  protected:
4596  char * m_name;
4597  int m_index;
4598 
4599  public:
4601  TK_Named (unsigned char opcode)
4602  : BBaseOpcodeHandler (opcode), m_name_length (0), m_name (0), m_index (0) {}
4603  ~TK_Named();
4604 
4607  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4608 
4609  TK_Status ReadAscii (BStreamFileToolkit & tk);
4610  TK_Status WriteAscii (BStreamFileToolkit & tk);
4611 
4612  void Reset ();
4613 
4615  void SetName (char const * name);
4617  void SetName (int length);
4619  char const * GetName () const { return m_name; }
4621  char * GetName () { return m_name; }
4622 
4624  void SetIndex (int i) { Reset(); m_index = i; }
4626  int GetIndex () const { return (int)m_index; }
4627 };
4628 
4629 
4630 
4637 class BBINFILETK_API TK_Streaming : public BBaseOpcodeHandler {
4638  protected:
4639  bool m_flag;
4640 
4641  public:
4644 
4647  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4648 
4649  TK_Status ReadAscii (BStreamFileToolkit & tk);
4650  TK_Status WriteAscii (BStreamFileToolkit & tk);
4651 
4652  void SetStreaming (bool s) { m_flag = s; }
4654  bool GetStreaming () const { return m_flag; }
4655 };
4656 
4659 
4665 class BBINFILETK_API TK_Conditions : public BBaseOpcodeHandler {
4666  protected:
4667  int m_length;
4668  char * m_string;
4670  public:
4672  TK_Conditions () : BBaseOpcodeHandler (TKE_Conditions), m_length (0), m_string (0) {}
4673  ~TK_Conditions();
4674 
4677  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4678 
4679  TK_Status ReadAscii (BStreamFileToolkit & tk);
4680  TK_Status WriteAscii (BStreamFileToolkit & tk);
4681 
4682  void Reset ();
4683 
4685  void SetConditions (char const * options);
4687  void SetConditions (int length);
4689  char const * GetConditions () const { return m_string; }
4691  char * GetConditions () { return m_string; }
4693  int GetLength() { return m_length; }
4694 };
4695 
4696 
4699 
4704 class BBINFILETK_API TK_Conditional_Action : public BBaseOpcodeHandler {
4705  protected:
4706  short m_type;
4707  short m_options;
4708  int m_length;
4709  char * m_string;
4711  public:
4713  TK_Conditional_Action () : BBaseOpcodeHandler (TKE_Conditional_Action), m_length (0), m_string (0) {}
4715 
4718  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4719 
4720  TK_Status ReadAscii (BStreamFileToolkit & tk);
4721  TK_Status WriteAscii (BStreamFileToolkit & tk);
4722 
4723  void Reset ();
4724 
4726  void SetCondition (char const * options);
4728  void SetCondition (int length);
4730  char const * GetCondition () const { return m_string; }
4732  char * GetCondition () { return m_string; }
4734  int GetLength() { return m_length; }
4735 
4737  void SetAction (int at) { m_type = (short)at; }
4739  int GetAction () const { return (int)m_type; }
4741  void SetOptions (int at) { m_options = (short)at; }
4743  int GetOptions () const { return (int)m_options; }
4744 };
4745 
4748 
4754 class BBINFILETK_API TK_User_Options : public BBaseOpcodeHandler {
4755  protected:
4756  int m_length;
4757  char * m_string;
4762  void set_options (char const * options);
4763  void set_options (int length);
4764 
4765  public:
4767  TK_User_Options () : BBaseOpcodeHandler (TKE_User_Options), m_length (0), m_string (0),
4768  m_indices (0), m_unicode (0), m_index_data(0) {}
4769  ~TK_User_Options();
4770 
4773  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4774 
4775  TK_Status ReadAscii (BStreamFileToolkit & tk);
4776  TK_Status WriteAscii (BStreamFileToolkit & tk);
4777 
4778  void Reset ();
4779 
4781  void SetOptions (char const * options) { set_options (options); }
4783  void SetOptions (int length) { set_options (length); }
4785  char const * GetOptions () const { return m_string; }
4787  char * GetOptions () { return m_string; }
4789  int GetLength() { return m_length; }
4790 };
4791 
4794 
4800 class BBINFILETK_API TK_Unicode_Options : public BBaseOpcodeHandler {
4801  protected:
4802  int m_length;
4803  unsigned short * m_string;
4805  public:
4807  TK_Unicode_Options () : BBaseOpcodeHandler (TKE_Unicode_Options), m_length (0), m_string (0) {}
4808  ~TK_Unicode_Options();
4809 
4812  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4813 
4814  TK_Status ReadAscii (BStreamFileToolkit & tk);
4815  TK_Status WriteAscii (BStreamFileToolkit & tk);
4816 
4817  void Reset ();
4818 
4820  void SetOptions (unsigned short const * options);
4822  void SetOptions (int length);
4824  unsigned short const * GetOptions () const { return m_string; }
4826  unsigned short * GetOptions () { return m_string; }
4828  int GetLength() { return m_length; }
4829 };
4830 
4832 
4838 class BBINFILETK_API TK_User_Index : public BBaseOpcodeHandler {
4839  protected:
4840  int m_count;
4841  int * m_indices;
4842  HLONG * m_values;
4844  void set_indices (int count, int const indices[], POINTER_SIZED_INT const values[]);
4845  void set_indices (int count);
4846 
4847  public:
4850  : BBaseOpcodeHandler (TKE_User_Index), m_count (0), m_indices (0), m_values (0), m_current_value(0) {}
4851  ~TK_User_Index();
4852 
4855  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4856 
4857  TK_Status ReadAscii (BStreamFileToolkit & tk);
4858  TK_Status WriteAscii (BStreamFileToolkit & tk);
4859 
4860  void Reset ();
4861 
4863  void SetIndices (int count, int const indices[], POINTER_SIZED_INT const values[])
4864  { set_indices (count, indices, values); }
4866  void SetIndices (int count) { set_indices (count); }
4868  int GetCount () const { return m_count; }
4870  int const * GetIndices () const { return m_indices; }
4872  int * GetIndices () { return m_indices; }
4874  HLONG const * GetValues () const { return m_values; }
4876  HLONG * GetValues () { return m_values; }
4877 };
4878 
4880 
4886 class BBINFILETK_API TK_User_Index_Data : public BBaseOpcodeHandler {
4887 protected:
4888  int m_count;
4889  int * m_indices;
4890  void ** m_values;
4891  int * m_sizes;
4892 
4894  void set_indices (int count, int const indices[], void const * values[], int const sizes[]);
4895  void set_indices (int count);
4896  void FreeMem ();
4897 
4898 public:
4901  : BBaseOpcodeHandler (TKE_User_Index_Data), m_count (0), m_indices (0), m_values (0), m_sizes(0), m_current_value(0) {}
4902  ~TK_User_Index_Data();
4903 
4906  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4907 
4908  void Reset ();
4909 
4911  void SetIndices (int count, int const indices[], void const * values[], int const sizes[]) {
4912  set_indices (count, indices, values, sizes);
4913  }
4914 
4916  void SetIndices (int count) { set_indices (count);}
4917 
4919  int GetCount () const { return m_count;}
4920 
4922  int const * GetIndices () const { return m_indices;}
4923 
4925  int * GetIndices () { return m_indices;}
4926 
4928  void ** GetValues () const { return m_values;}
4929 
4931  void ** GetValues () { return m_values;}
4932 
4934  int const * GetSizes () const { return m_sizes;}
4935 
4937  int * GetSizes () { return m_sizes;}
4938 };
4939 
4940 
4942 
4947 class BBINFILETK_API TK_User_Value : public BBaseOpcodeHandler {
4948  protected:
4949  HLONG m_value;
4950 
4951  public:
4954  : BBaseOpcodeHandler (TKE_User_Value), m_value (0) {}
4955 
4958  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
4959 
4960  TK_Status ReadAscii (BStreamFileToolkit & tk);
4961  TK_Status WriteAscii (BStreamFileToolkit & tk);
4962 
4964  void SetValue (HLONG v) { m_value = v; }
4966  HLONG GetValue () const { return m_value; }
4967 };
4968 
4969 
4971 
4976 class BBINFILETK_API2 TK_Camera : public BBaseOpcodeHandler {
4977  protected:
4981  float m_settings[14];
4983  double m_dsettings[14];
4985  float m_details[3];
4986  unsigned char m_projection;
4987  int m_length;
4988  char * m_name;
4991  void set_name (char const * name);
4992 
4993  void set_name (int length);
4994 
4995  public:
4997  TK_Camera (unsigned char opcode = TKE_Camera)
4998  : BBaseOpcodeHandler (opcode), m_length (0), m_name (0) {
4999  int i;
5000  int count = (int)(sizeof(m_settings) / sizeof(m_settings[0]));
5001  for (i = 0; i < count; i++) {
5002  m_settings[i] = 0;
5003  m_dsettings[i] = 0;
5004  }
5005  }
5006  ~TK_Camera();
5007 
5010  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5011 
5012  TK_Status ReadAscii (BStreamFileToolkit & tk);
5013  TK_Status WriteAscii (BStreamFileToolkit & tk);
5014 
5016  void SetPosition (float x, float y, float z)
5017  { m_settings[0] = x; m_settings[1] = y; m_settings[2] = z; }
5019  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
5021  float const * GetPosition () const { return &m_settings[0]; }
5023  void GetPosition (float p[]) const { memcpy(p, GetPosition(), 3*sizeof(float)); }
5024 
5026  void SetDPosition (double x, double y, double z)
5027  { m_dsettings[0] = x; m_dsettings[1] = y; m_dsettings[2] = z; }
5029  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
5031  double const * GetDPosition () const { return &m_dsettings[0]; }
5033  void GetDPosition (double p[]) const { memcpy(p, GetDPosition(), 3*sizeof(double)); }
5034 
5036  void SetTarget (float x, float y, float z)
5037  { m_settings[3] = x; m_settings[4] = y; m_settings[5] = z; }
5039  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
5041  float const * GetTarget () const { return &m_settings[3]; }
5043  void GetTarget (float t[]) const { memcpy(t, GetTarget(), 3*sizeof(float)); }
5044 
5046  void SetDTarget (double x, double y, double z)
5047  { m_dsettings[3] = x; m_dsettings[4] = y; m_dsettings[5] = z; }
5049  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
5051  double const * GetDTarget () const { return &m_dsettings[3]; }
5053  void GetDTarget (double t[]) const { memcpy(t, GetDTarget(), 3*sizeof(double)); }
5054 
5056  void SetUpVector (float x, float y, float z)
5057  { m_settings[6] = x; m_settings[7] = y; m_settings[8] = z; }
5059  void SetUpVector (float const u[]) { SetUpVector (u[0], u[1], u[2]); }
5061  float const * GetUpVector () const { return &m_settings[6]; }
5063  void GetUpVector (float u[]) const { memcpy(u,GetUpVector(),3*sizeof(float)); }
5064 
5066  void SetDUpVector (double x, double y, double z)
5067  { m_dsettings[6] = x; m_dsettings[7] = y; m_dsettings[8] = z; }
5069  void SetDUpVector (double const u[]) { SetDUpVector (u[0], u[1], u[2]); }
5071  double const * GetDUpVector () const { return &m_dsettings[6]; }
5073  void GetDUpVector (double u[]) const { memcpy(u, GetDUpVector(), 3*sizeof(double)); }
5074 
5076  void SetField (float w, float h) { m_settings[9] = w; m_settings[10] = h; }
5078  void SetField (float const f[]) { SetField (f[0], f[1]); }
5080  float const * GetField () const { return &m_settings[9]; }
5082  void GetField (float f[]) const { memcpy(f,GetField(),2*sizeof(float)); }
5083 
5085  void SetDField (double w, double h) { m_dsettings[9] = w; m_dsettings[10] = h; }
5087  void SetDField (double const f[]) { SetDField (f[0], f[1]); }
5089  double const * GetDField () const { return &m_dsettings[9]; }
5091  void GetDField (double f[]) const { memcpy(f, GetDField(), 2*sizeof(double)); }
5092 
5093 
5095  void SetOblique (float h, float v) { m_details[0] = h; m_details[1] = v;
5096  m_projection &= ~TKO_Camera_Oblique_Mask;
5097  if (h != 0.0f) m_projection |= TKO_Camera_Oblique_Y;
5098  if (v != 0.0f) m_projection |= TKO_Camera_Oblique_Mask;
5099  }
5101  void SetOblique (float const o[]) { SetOblique (o[0], o[1]); }
5103  float const * GetOblique () const { return m_details; }
5105  void GetOblique (float o[]) const { memcpy(o, GetOblique(), 2*sizeof(float)); }
5106 
5108  void SetNearLimit (float l) { m_details[2] = l;
5109  m_projection &= ~TKO_Camera_Near_Limit;
5110  if (l != 0.0f) m_projection |= TKO_Camera_Near_Limit;
5111  }
5113  float GetNearLimit () const { return m_details[2]; }
5114 
5115 
5117  void SetProjection (int p) { m_projection = (char)p; }
5119  int GetProjection () const { return (int)m_projection; }
5120 
5121 
5123  void SetView (char const * name) { set_name (name); }
5125  void SetView (int length) { set_name (length); }
5127  char const * GetView () const { return m_name; }
5129  char * GetView () { return m_name; }
5130 };
5131 
5133 
5138 class BBINFILETK_API TK_Window : public BBaseOpcodeHandler {
5139  protected:
5140  float m_window[8];
5141  unsigned char m_options;
5142 
5143  public:
5146  : BBaseOpcodeHandler (TKE_Window), m_options (0) {}
5147 
5150  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5151 
5152  TK_Status ReadAscii (BStreamFileToolkit & tk);
5153  TK_Status WriteAscii (BStreamFileToolkit & tk);
5154 
5156  void SetWindow (float l, float r, float b, float t,
5157  float lo = 0, float ro = 0, float bo = 0, float to = 0)
5158  { m_window[0] = l; m_window[1] = r; m_window[2] = b; m_window[3] = t;
5159  m_window[4] = lo; m_window[5] = ro; m_window[6] = bo; m_window[7] = to; }
5161  void SetWindow (float const w[]) { SetWindow (w[0], w[1], w[2], w[3]); }
5163  void SetWindow (float const w[], float const o[])
5164  { SetWindow (w[0], w[1], w[2], w[3], o[0], o[1], o[2], o[3]); }
5166  void SetWindow (int n, float const w[])
5167  { if (n == 8) SetWindow (w[0], w[1], w[2], w[4], w[5], w[6], w[7], w[8]);
5168  else SetWindow (w[0], w[1], w[2], w[3]);
5169  }
5171  float const * GetWindow () const { return m_window; }
5172 
5174  void SetOptions (int opt) { m_options = (unsigned char)opt; }
5176  int GetOptions () const { return m_options; }
5177 };
5178 
5179 
5180 
5182 
5189 class BBINFILETK_API TK_Text_Font : public BBaseOpcodeHandler {
5190  protected:
5191  int m_mask;
5192  int m_value;
5194  char * m_names;
5195  float m_size;
5196  float m_tolerance;
5197  float m_rotation;
5198  float m_slant;
5205  int m_renderers[2];
5206  int m_preferences[2];
5209  char * m_shape;
5210  char * m_style;
5212  float m_margins[4];
5213  unsigned char m_margin_units[4];
5214  unsigned char m_size_units;
5215  unsigned char m_tolerance_units;
5216  unsigned char m_space_units;
5217  unsigned char m_greeking_units;
5218  unsigned char m_greeking_mode;
5219  unsigned char m_transforms;
5220  unsigned char m_renderer_cutoff_units;
5222  unsigned char m_layout;
5223 
5224  void set_names (int length);
5225  void set_names (char const * names);
5226 
5227  public:
5230  : BBaseOpcodeHandler (TKE_Text_Font), m_names_length (0), m_names (0)
5231  , m_shape_length (0), m_style_length (0), m_shape (0), m_style (0) {}
5232  ~TK_Text_Font ();
5233 
5236  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5237 
5238  TK_Status ReadAscii (BStreamFileToolkit & tk);
5239  TK_Status WriteAscii (BStreamFileToolkit & tk);
5240 
5241  void Reset ();
5242 
5244  void SetMask (int m) {
5245  m_mask = m;
5246  if ((m & TKO_Font_Extended2_Mask) != 0)
5247  m_mask |= TKO_Font_Extended2;
5248  if ((m & TKO_Font_Extended_Mask) != 0)
5249  m_mask |= TKO_Font_Extended;
5250  }
5252  int GetMask () const { return m_mask; }
5253 
5255  void SetValue (int v) { m_value = v; }
5257  int GetValue () const { return m_value; }
5258 
5260  void SetNames (char const * names) { set_names (names); }
5262  void SetNames (int length) { set_names (length); }
5264  char const * GetNames () const { return m_names; }
5266  char * GetNames () { return m_names; }
5267 
5269  void SetShape (char const * shape);
5271  void SetShape (int length);
5273  char const * GetShape () const { return m_shape; }
5275  char * GetShape () { return m_shape; }
5276 
5278  void SetStyle (char const * shape);
5280  void SetStyle (int length);
5282  char const * GetStyle () const { return m_style; }
5284  char * GetStyle () { return m_style; }
5285 
5287  void SetSize (float s) { m_size = s; }
5289  float GetSize () const { return m_size; }
5290 
5292  void SetSizeUnits (int u) { m_size_units = (unsigned char)u; }
5294  int GetSizeUnits () const { return (int)m_size_units; }
5295 
5297  void SetTolerance (float t) { m_tolerance = t; }
5299  float GetTolerance () const { return m_tolerance; }
5300 
5302  void SetToleranceUnits (int u) { m_tolerance_units = (unsigned char)u; }
5304  int GetToleranceUnits () const { return (int)m_tolerance_units; }
5305 
5307  void SetRotation (float r) { m_rotation = r; }
5309  float GetRotation () const { return m_rotation; }
5310 
5312  void SetSlant (float s) { m_slant = s; }
5314  float GetSlant () const { return m_slant; }
5315 
5317  void SetWidthScale (float s) { m_width_scale = s; }
5319  float GetWidthScale () const { return m_width_scale; }
5320 
5322  void SetExtraSpace (float s) { m_extra_space = s; }
5324  float GetExtraSpace () const { return m_extra_space; }
5325 
5327  void SetExtraSpaceUnits (int u) { m_space_units = (unsigned char)u; }
5329  int GetExtraSpaceUnits () const { return (int)m_space_units; }
5330 
5332  void SetLineSpacing (float s) { m_line_spacing = s; }
5334  float GetLineSpacing () const { return m_line_spacing; }
5335 
5337  void SetTransforms (int t) { m_transforms = (unsigned char)t; }
5339  int GetTransforms () const { return (int)m_transforms; }
5340 
5342  void SetGreekingLimit (float s) { m_greeking_limit = s; }
5344  float GetGreekingLimit () const { return m_greeking_limit; }
5345 
5347  void SetGreekingLimitUnits (int u) { m_greeking_units = (unsigned char)u; }
5349  int GetGreekingLimitUnits () const { return (int)m_greeking_units; }
5350 
5352  void SetGreekingMode (int m) { m_greeking_mode = (unsigned char)m; }
5354  int GetGreekingMode () const { return (int)m_greeking_mode; }
5355 
5356 
5358  void SetRenderer (int r) { m_renderers[0] = m_renderers[1] = r; }
5360  int GetRenderer () const { return m_renderers[0]; }
5361 
5363  void SetRenderers (int r1, int r2) { m_renderers[0] = r1; m_renderers[1] = r2; }
5365  int const * GetRenderers () const { return m_renderers; }
5366 
5368  void SetRendererCutoff (float s) { m_renderer_cutoff = s; }
5370  float GetRendererCutoff () const { return m_renderer_cutoff; }
5371 
5373  void SetRendererCutoffUnits (int u) { m_renderer_cutoff_units = (unsigned char)u; }
5375  int GetRendererCutoffUnits () const { return (int)m_renderer_cutoff_units; }
5376 
5377 
5379  void SetPreference (int r) { m_preferences[0] = m_preferences[1] = r; }
5381  int GetPreference () const { return m_preferences[0]; }
5382 
5384  void SetPreferences (int r1, int r2) { m_preferences[0] = r1; m_preferences[1] = r2; }
5386  int const * GetPreferences () const { return m_preferences; }
5387 
5389  void SetPreferenceCutoff (float s) { m_preference_cutoff = s; }
5391  float GetPreferenceCutoff () const { return m_preference_cutoff; }
5392 
5394  void SetPreferenceCutoffUnits (int u) { m_preference_cutoff_units = (unsigned char)u; }
5396  int GetPreferenceCutoffUnits () const { return (int)m_preference_cutoff_units; }
5397 
5399  void SetLayout (int l) {m_layout = (unsigned char)l;}
5401  int GetLayout () const {return (int)m_layout;}
5402 };
5403 
5405 
5407 
5417 
5429 class BBINFILETK_API2 TK_Bounding : public BBaseOpcodeHandler {
5430  protected:
5431  double m_dvalues[6];
5432  float m_values[6];
5433  char m_type;
5434  bool m_is_valid;
5435  public:
5437  TK_Bounding (unsigned char opcode)
5438  : BBaseOpcodeHandler (opcode) {}
5440  TK_Bounding (unsigned char opcode, float min[], float max[])
5441  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5442  m_values[0] = min[0]; m_values[1] = min[1]; m_values[2] = min[2];
5443  m_values[3] = max[0]; m_values[4] = max[1]; m_values[5] = max[2];
5444  }
5446  TK_Bounding (unsigned char opcode, float center[], float radius)
5447  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5448  m_values[0] = center[0]; m_values[1] = center[1]; m_values[2] = center[2];
5449  m_values[3] = radius;
5450  }
5452  TK_Bounding (unsigned char opcode, double min[], double max[])
5453  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Cuboid), m_is_valid (true) {
5454  m_dvalues[0] = min[0]; m_dvalues[1] = min[1]; m_dvalues[2] = min[2];
5455  m_dvalues[3] = max[0]; m_dvalues[4] = max[1]; m_dvalues[5] = max[2];
5457  }
5459  TK_Bounding (unsigned char opcode, double center[], double radius)
5460  : BBaseOpcodeHandler (opcode), m_type (TKO_Bounding_Type_Sphere), m_is_valid (true) {
5461  m_dvalues[0] = center[0]; m_dvalues[1] = center[1]; m_dvalues[2] = center[2];
5462  m_dvalues[3] = radius;
5464  }
5465 
5468  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5469 
5470  TK_Status ReadAscii (BStreamFileToolkit & tk);
5471  TK_Status WriteAscii (BStreamFileToolkit & tk);
5472 };
5473 
5475 
5477 
5483 class BBINFILETK_API TK_Point : public BBaseOpcodeHandler {
5484  protected:
5485  float m_point[3];
5486  double m_dpoint[3];
5487  char m_options;
5488 
5489  public:
5491  TK_Point (unsigned char opcode)
5492  : BBaseOpcodeHandler (opcode) {
5493  m_point[0] = m_point[1] = m_point[2] = 0;
5494  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5495  m_options = 0;
5496  };
5497 
5500  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5501 
5502  TK_Status ReadAscii (BStreamFileToolkit & tk);
5503  TK_Status WriteAscii (BStreamFileToolkit & tk);
5504 
5505  void Reset(void) {
5506  m_point[0] = m_point[1] = m_point[2] = 0;
5507  m_dpoint[0] = m_dpoint[1] = m_dpoint[2] = 0;
5508  m_options = 0;
5510  };
5511 
5512 
5513 
5515  void SetPoint (float x, float y, float z) { m_point[0] = x; m_point[1] = y; m_point[2] = z; }
5517  void SetPoint (float const p[]) { SetPoint (p[0], p[1], p[2]); }
5519  float const * GetPoint () const { return m_point; }
5520 
5522  void SetDPoint (double x, double y, double z) { m_dpoint[0] = x; m_dpoint[1] = y; m_dpoint[2] = z; }
5524  void SetDPoint (double const p[]) { SetDPoint (p[0], p[1], p[2]); }
5526  double const * GetDPoint () const { return m_dpoint; }
5527 
5529  void SetOptions (int o) { m_options = (char)o; }
5531  int GetOptions () const { return (int)m_options; }
5532 
5533 };
5534 
5535 
5536 
5538 
5543 class BBINFILETK_API TK_Line : public BBaseOpcodeHandler {
5544  protected:
5546  float m_points[6];
5548  double m_dpoints[6];
5549 
5550  public:
5552  TK_Line (unsigned char opcode = TKE_Line)
5553  : BBaseOpcodeHandler (opcode) {}
5554 
5557  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5558 
5559  TK_Status ReadAscii (BStreamFileToolkit & tk);
5560  TK_Status WriteAscii (BStreamFileToolkit & tk);
5561 
5563  void SetPoints (float x1, float y1, float z1, float x2, float y2, float z2) {
5564  m_points[0] = x1; m_points[1] = y1; m_points[2] = z1;
5565  m_points[3] = x2; m_points[4] = y2; m_points[5] = z2;
5566  }
5568  void SetPoints (float const s[], float const e[]) {
5569  SetPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5570  }
5572  void SetPoints (float const p[]) { SetPoints (&p[0], &p[3]); }
5574  float const * GetPoints () const { return m_points; }
5575 
5577  void SetDPoints (double x1, double y1, double z1, double x2, double y2, double z2) {
5578  m_dpoints[0] = x1; m_dpoints[1] = y1; m_dpoints[2] = z1;
5579  m_dpoints[3] = x2; m_dpoints[4] = y2; m_dpoints[5] = z2;
5580  }
5582  void SetDPoints (double const s[], double const e[]) {
5583  SetDPoints (s[0], s[1], s[2], e[0], e[1], e[2]);
5584  }
5586  void SetDPoints (double const p[]) { SetDPoints (&p[0], &p[3]); }
5588  double const * GetDPoints () const { return m_dpoints; }
5589 
5590 };
5591 
5592 
5593 
5595 
5602 class BBINFILETK_API TK_Polypoint : public BBaseOpcodeHandler {
5603  protected:
5604  int m_count;
5606  float * m_points;
5607  double * m_dpoints;
5610  void set_points (int count, float const points[] = 0) { SetPoints (count, points); }
5611  public:
5615  TK_Polypoint (unsigned char opcode)
5616  : BBaseOpcodeHandler (opcode), m_count (0), m_allocated (0), m_points (0), m_dpoints (0) {}
5617  ~TK_Polypoint();
5618 
5621  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5622 
5623  TK_Status ReadAscii (BStreamFileToolkit & tk);
5624  TK_Status WriteAscii (BStreamFileToolkit & tk);
5625 
5626  void Reset ();
5627 
5630  void SetPoints (int count, float const points[] = 0);
5632  float const * GetPoints () const { return m_points; }
5634  float * GetPoints () { return m_points; }
5635 
5638  void SetDPoints (int count, double const points[] = 0);
5640  double const * GetDPoints () const { return m_dpoints; }
5642  double * GetDPoints () { return m_dpoints; }
5643 
5645  int GetCount () const { return m_count; }
5646 
5647 };
5648 
5649 
5650 
5651 
5652 #define NC_HAS_WEIGHTS 0x01
5653 #define NC_HAS_KNOTS 0x02
5654 #define NC_HAS_START 0x04
5655 #define NC_HAS_END 0x08
5656 
5657 
5663 class BBINFILETK_API TK_NURBS_Curve : public BBaseOpcodeHandler {
5664  protected:
5665  unsigned char m_optionals;
5666  unsigned char m_degree;
5671  float *m_weights;
5672  float *m_knots;
5673  float m_start;
5674  float m_end;
5676  void set_curve (int degree, int control_count, float const points[] = 0,
5678  float const weights[] = 0, float const knots[] = 0,
5679  float start = 0.0f, float end = 1.0f);
5680  public:
5681  TK_NURBS_Curve();
5682  ~TK_NURBS_Curve();
5683 
5686  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5687 
5688  TK_Status ReadAscii (BStreamFileToolkit & tk);
5689  TK_Status WriteAscii (BStreamFileToolkit & tk);
5690 
5691  void Reset ();
5692 
5694  void SetCurve (int degree, int control_count, float const points[] = 0,
5695  float const weights[] = 0, float const knots[] = 0,
5696  float start = 0.0f, float end = 1.0f) {
5697  set_curve (degree, control_count, points, weights, knots, start, end);
5698  }
5699  void SetDCurve (int degree, int control_count, double const points[] = 0,
5700  float const weights[] = 0, float const knots[] = 0,
5701  float start = 0.0f, float end = 1.0f);
5702 
5703  float const * GetPoints () const { return m_control_points; }
5704  float * GetPoints () { return m_control_points; }
5705  double const * GetDPoints () const { return m_dcontrol_points; }
5706  double * GetDPoints () { return m_dcontrol_points; }
5708  int GetDegree () const { return m_degree; }
5709  int GetCount () const { return m_control_point_count; }
5710  float const * GetWeights () const { return m_weights; }
5711  float * GetWeights () { return m_weights; }
5712  float const * GetKnots () const { return m_knots; }
5713  float * GetKnots () { return m_knots; }
5715  void SetStart (float s) { m_start = s; }
5716  float GetStart () const { return m_start; }
5717  void SetEnd (float e) { m_end = e; }
5718  float GetEnd () const { return m_end; }
5720  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5721  int GetOptions () const { return m_optionals; }
5723 };
5724 
5725 
5726 
5727 
5728 
5729 #define NS_HAS_WEIGHTS 0x01
5730 #define NS_HAS_KNOTS 0x02
5731 #define NS_HAS_TRIMS 0x04
5732 
5733 #define NS_TRIM_END 0
5734 #define NS_TRIM_POLY 1
5735 #define NS_TRIM_CURVE 2
5736 #define NS_TRIM_COLLECTION 3
5737 #define NS_TRIM_LAST_KNOWN_TYPE 3
5738 
5739 #define NS_TRIM_KEEP 0x01
5740 #define NS_TRIM_HAS_WEIGHTS 0x02
5741 #define NS_TRIM_HAS_KNOTS 0x04
5742 
5743 
5750 class BBINFILETK_API HT_NURBS_Trim : public BBaseOpcodeHandler {
5751  friend class TK_NURBS_Surface;
5752  protected:
5753  //first 5 are relevant to polys and curves
5756  unsigned char m_type;
5757  int m_count;
5758  float * m_points;
5759  //next 6 are specific to curves
5760  unsigned char m_degree;
5761  unsigned char m_options;
5762  float * m_weights;
5763  float * m_knots;
5764  float m_start_u;
5765  float m_end_u;
5769  HT_NURBS_Trim();
5770  TK_Status read_collection(BStreamFileToolkit & tk);
5771  TK_Status write_collection(BStreamFileToolkit & tk);
5774  public:
5775  ~HT_NURBS_Trim();
5776  void SetPoly (int count, float const points[] = 0);
5777  void SetCurve (int degree, int control_count, float const points[] = 0,
5778  float const weights[] = 0, float const knots[] = 0, float start_u = 0, float end_u = 1);
5779  void SetCollection ();
5780  HT_NURBS_Trim * PrependCollection();
5781  void SetOptions (int o) { m_options = (unsigned char)o; }
5782  void SetList (HT_NURBS_Trim *node) { m_list = node; }
5783  void SetNext (HT_NURBS_Trim *next) { m_next = next; }
5784  void SetStart(float start) { m_start_u = start; }
5785  void SetEnd(float end) { m_end_u = end; }
5786 
5789 
5792 
5793  TK_Status read_collection_ascii(BStreamFileToolkit & tk);
5794  TK_Status write_collection_ascii(BStreamFileToolkit & tk);
5795 
5797  HT_NURBS_Trim * GetNext (void) { return m_next; }
5798  HT_NURBS_Trim const * GetNext (void) const { return m_next; }
5800  int GetType () const { return m_type; }
5802  int GetCount () const { return m_count; }
5804  float const * GetPoints () const { return m_points; }
5806  float * GetPoints () { return m_points; }
5808  int GetDegree () const { return m_degree; }
5810  float GetStart() const { return m_start_u; }
5812  float GetEnd() const { return m_end_u; }
5814  int GetOptions () const { return m_options; }
5816  float const * GetWeights () const { return m_weights; }
5818  float * GetWeights () { return m_weights; }
5820  float const * GetKnots () const { return m_knots; }
5822  float * GetKnots () { return m_knots; }
5824  HT_NURBS_Trim const *GetList () const { return m_list; }
5826  HT_NURBS_Trim * GetList () { return m_list; }
5827 
5828 };
5829 
5831 
5836 class BBINFILETK_API TK_NURBS_Surface : public BBaseOpcodeHandler {
5837  protected:
5838  unsigned char m_optionals;
5839  unsigned char m_degree[2];
5840  int m_size[2];
5843  float * m_weights;
5844  float * m_u_knots;
5845  float * m_v_knots;
5851  public:
5852  TK_NURBS_Surface();
5853  ~TK_NURBS_Surface();
5854 
5857  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5858 
5859  TK_Status ReadAscii (BStreamFileToolkit & tk);
5860  TK_Status WriteAscii (BStreamFileToolkit & tk);
5861 
5862  void Reset ();
5864  void SetSurface (int u_degree, int v_degree, int u_size, int v_size,
5865  float const points[] = 0, float const weights[] = 0,
5866  float const u_knots[] = 0, float const v_knots[] = 0);
5867  void SetDSurface (int u_degree, int v_degree, int u_size, int v_size,
5868  double const points[] = 0, float const weights[] = 0,
5869  float const u_knots[] = 0, float const v_knots[] = 0);
5872  float const * GetPoints () const { return m_control_points; }
5874  float * GetPoints () { return m_control_points; }
5876  double const * GetDPoints () const { return m_dcontrol_points; }
5878  double * GetDPoints () { return m_dcontrol_points; }
5879 
5881  int GetUDegree () const { return m_degree[0]; }
5883  int GetVDegree () const { return m_degree[1]; }
5885  int GetUSize () const { return m_size[0]; }
5887  int GetVSize () const { return m_size[1]; }
5889  float const * GetWeights () const { return m_weights; }
5891  float * GetWeights () { return m_weights; }
5893  float const * GetUKnots () const { return m_u_knots; }
5895  float * GetUKnots () { return m_u_knots; }
5897  float const * GetVKnots () const { return m_v_knots; }
5899  float * GetVKnots () { return m_v_knots; }
5900 
5902  void SetOptions (int o) { m_optionals = (unsigned char)o; }
5904  int GetOptions () const { return m_optionals; }
5905 
5907  HT_NURBS_Trim * NewTrim (int type = NS_TRIM_END);
5909  HT_NURBS_Trim * GetTrims () { return m_trims; }
5910 
5911 
5912 };
5913 
5915 
5920 class BBINFILETK_API TK_Area_Light : public BBaseOpcodeHandler {
5921  protected:
5922  int m_count;
5923  float * m_points;
5924  double * m_dpoints;
5925  char m_options;
5926 
5928  void set_points (int count, float const points[] = 0);
5929 
5930  public:
5933  : BBaseOpcodeHandler (TKE_Area_Light), m_count (0), m_points (0), m_dpoints (0), m_options (0) {}
5934  ~TK_Area_Light();
5935 
5938  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
5939 
5940  TK_Status ReadAscii (BStreamFileToolkit & tk);
5941  TK_Status WriteAscii (BStreamFileToolkit & tk);
5942 
5943  void Reset ();
5944 
5949  void SetPoints (int count, float const points[] = 0) { set_points (count, points); }
5951  float const * GetPoints () const { return m_points; }
5953  float * GetPoints () { return m_points; }
5954 
5959  void SetDPoints (int count, double const points[] = 0) ;
5961  double const * GetDPoints () const { return m_dpoints; }
5963  double * GetDPoints () { return m_dpoints; }
5964 
5966  int GetCount () const { return m_count; }
5967 
5969  void SetOptions (int o) { m_options = (char)o; }
5971  int GetOptions () const { return (int)m_options; }
5972 };
5973 
5974 
5976 
5981 class BBINFILETK_API TK_Spot_Light : public BBaseOpcodeHandler {
5982  protected:
5983  float m_position[3];
5984  float m_target[3];
5985  double m_dposition[3];
5986  double m_dtarget[3];
5987  float m_outer;
5988  float m_inner;
5990  char m_options;
5991 
5992  public:
5995  : BBaseOpcodeHandler (TKE_Spot_Light), m_options (0) {}
5996 
5999  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6000 
6001  TK_Status ReadAscii (BStreamFileToolkit & tk);
6002  TK_Status WriteAscii (BStreamFileToolkit & tk);
6003 
6005  void SetPosition (float x, float y, float z)
6006  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6008  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6010  float const * GetPosition () const { return m_position; }
6011 
6013  void SetDPosition (double x, double y, double z)
6014  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6016  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6018  double const * GetDPosition () const { return m_dposition; }
6019 
6021  void SetTarget (float x, float y, float z)
6022  { m_target[0] = x; m_target[1] = y; m_target[2] = z; }
6024  void SetTarget (float const t[]) { SetTarget (t[0], t[1], t[2]); }
6026  float const * GetTarget () const { return m_target; }
6027 
6029  void SetDTarget (double x, double y, double z)
6030  { m_dtarget[0] = x; m_dtarget[1] = y; m_dtarget[2] = z; }
6032  void SetDTarget (double const t[]) { SetDTarget (t[0], t[1], t[2]); }
6034  double const * GetDTarget () const { return m_dtarget; }
6035 
6037  void SetOuter (float o) { m_outer = o; }
6039  float GetOuter () const { return m_outer; }
6040 
6042  void SetInner (float i) { m_inner = i; }
6044  float GetInner () const { return m_inner; }
6045 
6047  void SetConcentration (float c) { m_concentration = c; }
6049  float GetConcentration () const { return m_concentration; }
6050 
6052  void SetOptions (int o) { m_options = (char)o; }
6054  int GetOptions () const { return (int)m_options; }
6055 };
6056 
6057 
6059 
6064 class BBINFILETK_API TK_Cutting_Plane : public BBaseOpcodeHandler {
6065  protected:
6066  float * m_planes;
6067  double * m_dplanes;
6068  int m_count;
6069 
6070  public:
6073  : BBaseOpcodeHandler (TKE_Cutting_Plane), m_planes (0), m_dplanes (0), m_count (0) {}
6074  ~TK_Cutting_Plane ();
6075 
6078  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6079 
6080  TK_Status ReadAscii (BStreamFileToolkit & tk);
6081  TK_Status WriteAscii (BStreamFileToolkit & tk);
6082 
6083  void Reset ();
6084 
6086  void SetPlanes (int count, float const p[]=0);
6088  void SetDPlanes (int count, double const p[]=0);
6089 
6091  void SetPlane (float a, float b, float c, float d)
6092  { SetPlanes(1);
6093  m_planes[0] = a; m_planes[1] = b; m_planes[2] = c; m_planes[3] = d; }
6095  void SetDPlane (double a, double b, double c, double d)
6096  { SetDPlanes(1);
6097  m_dplanes[0] = a; m_dplanes[1] = b; m_dplanes[2] = c; m_dplanes[3] = d; }
6098 
6100  void SetPlane (float const p[]) { SetPlanes (1, p); }
6102  void SetDPlane (double const p[]) { SetDPlanes (1, p); }
6103 
6105  float const * GetPlane () const { return m_planes; }
6107  double const * GetDPlane () const { return m_dplanes; }
6108 
6110  float const * GetPlanes () const { return m_planes; }
6112  double const * GetDPlanes () const { return m_dplanes; }
6113 
6115  int GetCount () const { return m_count; }
6116 };
6117 
6118 
6120 
6127 class BBINFILETK_API TK_Circle : public BBaseOpcodeHandler {
6128  protected:
6129  float m_points[9];
6130  float m_center[3];
6131  double m_dpoints[9];
6132  double m_dcenter[3];
6133  unsigned char m_flags;
6136  public:
6138  TK_Circle (unsigned char opcode)
6139  : BBaseOpcodeHandler (opcode), m_flags (0) {}
6140 
6143  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6144 
6145  TK_Status ReadAscii (BStreamFileToolkit & tk);
6146  TK_Status WriteAscii (BStreamFileToolkit & tk);
6147 
6148  void Reset ();
6149 
6151  void SetStart (float x, float y, float z) {
6152  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6153  }
6155  void SetStart (float const s[]) {
6156  SetStart (s[0], s[1], s[2]);
6157  }
6159  void SetMiddle (float x, float y, float z) {
6160  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6161  }
6163  void SetMiddle (float const m[]) {
6164  SetMiddle (m[0], m[1], m[2]);
6165  }
6167  void SetEnd (float x, float y, float z) {
6168  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6169  }
6171  void SetEnd (float const e[]) {
6172  SetEnd (e[0], e[1], e[2]);
6173  }
6175  void SetCenter (float x, float y, float z) {
6176  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6177  m_flags = TKO_Circular_Center;
6178  }
6180  void SetCenter (float const c[]) {
6181  if (c) SetCenter (c[0], c[1], c[2]);
6182  else m_flags = 0;
6183  }
6185  void SetPoints (float const s[], float const m[], float const e[],
6186  float const c[] = 0) {
6187  SetStart (s); SetMiddle (m); SetEnd (e); SetCenter (c);
6188  }
6189 
6191  float const * GetStart () const { return &m_points[0]; }
6193  float const * GetMiddle () const { return &m_points[3]; }
6195  float const * GetEnd () const { return &m_points[6]; }
6197  float const * GetCenter () const { return (m_flags & TKO_Circular_Center) ? m_center : 0; }
6198 
6200  void SetDStart (double x, double y, double z) {
6201  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6202  }
6204  void SetDStart (double const s[]) {
6205  SetDStart (s[0], s[1], s[2]);
6206  }
6208  void SetDMiddle (double x, double y, double z) {
6209  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6210  }
6212  void SetDMiddle (double const m[]) {
6213  SetDMiddle (m[0], m[1], m[2]);
6214  }
6216  void SetDEnd (double x, double y, double z) {
6217  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6218  }
6220  void SetDEnd (double const e[]) {
6221  SetDEnd (e[0], e[1], e[2]);
6222  }
6224  void SetDCenter (double x, double y, double z) {
6225  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6226  m_flags = TKO_Circular_Center;
6227  }
6229  void SetDCenter (double const c[]) {
6230  if (c) SetDCenter (c[0], c[1], c[2]);
6231  else m_flags = 0;
6232  }
6234  void SetDPoints (double const s[], double const m[], double const e[],
6235  double const c[] = 0) {
6236  SetDStart (s); SetDMiddle (m); SetDEnd (e); SetDCenter (c);
6237  }
6238 
6240  double const * GetDStart () const { return &m_dpoints[0]; }
6242  double const * GetDMiddle () const { return &m_dpoints[3]; }
6244  double const * GetDEnd () const { return &m_dpoints[6]; }
6246  double const * GetDCenter () const { return (m_flags & TKO_Circular_Center) ? m_dcenter : 0; }
6247 };
6248 
6249 
6251 
6258 class BBINFILETK_API TK_Ellipse : public BBaseOpcodeHandler {
6259  protected:
6260  float m_points[9];
6261  double m_dpoints[9];
6262  float m_limits[2];
6264  public:
6266  TK_Ellipse (unsigned char opcode)
6267  : BBaseOpcodeHandler (opcode) {}
6268 
6271  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6272 
6273  TK_Status ReadAscii (BStreamFileToolkit & tk);
6274  TK_Status WriteAscii (BStreamFileToolkit & tk);
6275 
6277  void SetCenter (float x, float y, float z) {
6278  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6279  }
6281  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6283  float const * GetCenter () const { return &m_points[0]; }
6284 
6286  void SetMajor (float x, float y, float z) {
6287  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6288  }
6290  void SetMajor (float const m[]) { SetMajor (m[0], m[1], m[2]); }
6292  float const * GetMajor () const { return &m_points[3]; }
6293 
6295  void SetMinor (float x, float y, float z) {
6296  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6297  }
6299  void SetMinor (float const m[]) { SetMinor (m[0], m[1], m[2]); }
6301  float const * GetMinor () const { return &m_points[6]; }
6302 
6303 
6305  void SetDCenter (double x, double y, double z) {
6306  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6307  }
6309  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6311  double const * GetDCenter () const { return &m_dpoints[0]; }
6312 
6314  void SetDMajor (double x, double y, double z) {
6315  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6316  }
6318  void SetDMajor (double const m[]) { SetDMajor (m[0], m[1], m[2]); }
6320  double const * GetDMajor () const { return &m_dpoints[3]; }
6321 
6323  void SetDMinor (double x, double y, double z) {
6324  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6325  }
6327  void SetDMinor (double const m[]) { SetDMinor (m[0], m[1], m[2]); }
6329  double const * GetDMinor () const { return &m_dpoints[6]; }
6330 
6332  void SetLimits (float s, float e) {
6333  m_limits[0] = s; m_limits[1] = e;
6334  }
6336  float const * GetLimits () const { return m_limits; }
6337 };
6338 
6339 
6341 
6348 class BBINFILETK_API TK_Sphere : public BBaseOpcodeHandler {
6349  protected:
6350  unsigned char m_flags;
6351  float m_center[3];
6352  float m_radius;
6353  float m_axis[3];
6354  float m_ortho[3];
6355  double m_dcenter[3];
6356  double m_dradius;
6357  double m_daxis[3];
6358  double m_dortho[3];
6360  public:
6363  : BBaseOpcodeHandler (TKE_Sphere) { Reset(); }
6364 
6367  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6368 
6369  TK_Status ReadAscii (BStreamFileToolkit & tk);
6370  TK_Status WriteAscii (BStreamFileToolkit & tk);
6371 
6372  void Reset ();
6373 
6375  void SetCenter (float x, float y, float z) {
6376  m_center[0] = x; m_center[1] = y; m_center[2] = z;
6377  }
6379  void SetCenter (float const s[]) { SetCenter (s[0], s[1], s[2]); }
6381  float const * GetCenter () const { return m_center; }
6382 
6383 
6385  void SetRadius (float r) { m_radius = r; }
6387  float GetRadius () const { return m_radius; }
6388 
6390  void SetAxis (float x, float y, float z) {
6391  m_axis[0] = x; m_axis[1] = y; m_axis[2] = z;
6392  if (x != 0.0f || y != 1.0f || z != 0.0f)
6393  m_flags &= ~TKSPH_NULL_AXIS;
6394  }
6396  void SetAxis (float const s[]) { SetAxis (s[0], s[1], s[2]); }
6398  float const * GetAxis () const { return m_axis; }
6399 
6401  void SetOrtho (float x, float y, float z) {
6402  m_ortho[0] = x; m_ortho[1] = y; m_ortho[2] = z;
6403  if (x != 1.0f || y != 0.0f || z != 0.0f)
6404  m_flags &= ~TKSPH_NULL_AXIS;
6405  }
6407  void SetOrtho (float const s[]) { SetOrtho (s[0], s[1], s[2]); }
6409  float const * GetOrtho () const { return m_ortho; }
6410 
6411 
6413  void SetDCenter (double x, double y, double z) {
6414  m_dcenter[0] = x; m_dcenter[1] = y; m_dcenter[2] = z;
6415  }
6417  void SetDCenter (double const s[]) { SetDCenter (s[0], s[1], s[2]);}
6419  double const * GetDCenter () const { return m_dcenter; }
6420 
6421 
6423  void SetDRadius (double r) { m_dradius = r; }
6425  double GetDRadius () const { return m_dradius; }
6426 
6428  void SetDAxis (double x, double y, double z) {
6429  m_daxis[0] = x; m_daxis[1] = y; m_daxis[2] = z;
6430  if (x != 0.0f || y != 1.0f || z != 0.0f)
6431  m_flags &= ~TKSPH_NULL_AXIS;
6432  }
6434  void SetDAxis (double const s[]) { SetDAxis (s[0], s[1], s[2]); }
6436  double const * GetDAxis () const { return m_daxis; }
6437 
6439  void SetDOrtho (double x, double y, double z) {
6440  m_dortho[0] = x; m_dortho[1] = y; m_dortho[2] = z;
6441  if (x != 1.0f || y != 0.0f || z != 0.0f)
6442  m_flags &= ~TKSPH_NULL_AXIS;
6443  }
6445  void SetDOrtho (double const s[]) { SetDOrtho (s[0], s[1], s[2]); }
6447  double const * GetDOrtho () const { return m_dortho; }
6448 
6449 
6453  enum Flags {
6454  TKSPH_NONE = 0x0,
6455  TKSPH_NULL_AXIS = 0x1
6456  };
6457 
6458 };
6459 
6460 
6462 
6469 class BBINFILETK_API TK_Cylinder : public BBaseOpcodeHandler {
6470  protected:
6471  float m_axis[6];
6472  float m_radius;
6473  double m_daxis[6];
6474  double m_dradius;
6475  unsigned char m_flags;
6477  public:
6480  : BBaseOpcodeHandler (TKE_Cylinder) {}
6481 
6484  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6485 
6486  TK_Status ReadAscii (BStreamFileToolkit & tk);
6487  TK_Status WriteAscii (BStreamFileToolkit & tk);
6488 
6490  void SetAxis (float x1, float y1, float z1, float x2, float y2, float z2) {
6491  m_axis[0] = x1; m_axis[1] = y1; m_axis[2] = z1;
6492  m_axis[3] = x2; m_axis[4] = y2; m_axis[5] = z2;
6493  }
6495  void SetAxis (float const s[], float const e[]) { SetAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6497  void SetAxis (float const a[]) { SetAxis (&a[0], &a[3]); }
6499  float const * GetAxis () const { return m_axis; }
6501  float const * GetStart () const { return &m_axis[0]; }
6503  float const * GetEnd () const { return &m_axis[3]; }
6504 
6506  void SetRadius (float r) { m_radius = r; }
6508  float GetRadius () const { return m_radius; }
6509 
6510 
6512  void SetDAxis (double x1, double y1, double z1, double x2, double y2, double z2) {
6513  m_daxis[0] = x1; m_daxis[1] = y1; m_daxis[2] = z1;
6514  m_daxis[3] = x2; m_daxis[4] = y2; m_daxis[5] = z2;
6515  }
6517  void SetDAxis (double const s[], double const e[]) { SetDAxis (s[0], s[1], s[2], e[0], e[1], e[2]); }
6519  void SetDAxis (double const a[]) { SetDAxis (&a[0], &a[3]); }
6521  double const * GetDAxis () const { return m_daxis; }
6523  double const * GetDStart () const { return &m_daxis[0]; }
6525  double const * GetDEnd () const { return &m_daxis[3]; }
6526 
6528  void SetDRadius (double r) { m_dradius = r; }
6530  double GetDRadius () const { return m_dradius; }
6531 
6532 
6534  void SetCaps (int f) { m_flags = (unsigned char)f; }
6536  int GetCaps () const { return m_flags; }
6537 
6542  TKCYL_NONE = 0,
6543  TKCYL_FIRST = 1,
6544  TKCYL_SECOND = 2,
6545  TKCYL_BOTH = 3
6546  };
6547 
6548 };
6549 
6550 
6552 
6559 #include "BPolyhedron.h"
6560 
6561 class BBINFILETK_API TK_PolyCylinder : public TK_Polyhedron {
6562  protected:
6563  int m_count;
6564  float * m_points;
6565  double * m_dpoints;
6567  float * m_radii;
6568  double * m_dradii;
6569  unsigned char m_flags;
6570  float m_normals[6];
6572  public:
6575  : TK_Polyhedron (TKE_PolyCylinder), m_count (0), m_points (0), m_dpoints (0),
6576  m_radius_count (0), m_radii (0), m_dradii (0) {}
6577  ~TK_PolyCylinder();
6578 
6581  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6582 
6583  TK_Status ReadAscii (BStreamFileToolkit & tk);
6584  TK_Status WriteAscii (BStreamFileToolkit & tk);
6585 
6586  virtual void Reset ();
6587 
6592  TKCYL_NORMAL_FIRST = 0x04,
6593  TKCYL_NORMAL_SECOND = 0x08,
6594  TKCYL_OPTIONALS = 0x10
6595  };
6596 
6601  void SetPoints (int count, float const points[] = 0);
6603  float const * GetPoints () const { return m_points; }
6605  float * GetPoints () { return m_points; }
6606 
6611  void SetRadii (int count, float const radii[] = 0);
6613  void SetRadius (float radius) { SetRadii (1, &radius); }
6615  float const * GetRadii () const { return m_radii; }
6617  float * GetRadii () { return m_radii; }
6618 
6619 
6624  void SetDPoints (int count, double const points[] = 0);
6626  double const * GetDPoints () const { return m_dpoints; }
6628  double * GetDPoints () { return m_dpoints; }
6629 
6634  void SetDRadii (int count, double const radii[] = 0);
6636  void SetDRadius (double radius) { SetDRadii (1, &radius); }
6638  double const * GetDRadii () const { return m_dradii; }
6640  double * GetDRadii () { return m_dradii; }
6641 
6642 
6644  int GetCount () const { return m_count; }
6646  int GetRadiusCount () const { return m_radius_count; }
6647 
6648 
6649 
6650 
6652  void SetCaps (int f) { m_flags &= ~0x03; m_flags |= f; }
6654  int GetCaps () const { return m_flags & 0x03; }
6655 
6657  void SetEndNormal (int index, float const normal[] = 0) {
6658  int mask = 0x40 << index;
6659  if (normal == 0)
6660  m_flags &= ~mask;
6661  else {
6662  m_flags |= mask;
6663  m_normals[3*index+0] = normal[0];
6664  m_normals[3*index+1] = normal[1];
6665  m_normals[3*index+2] = normal[2];
6666  }
6667  }
6669  float const * GetEndNormal (int index) const {
6670  int mask = 0x40 << index;
6671  if (m_flags & mask)
6672  return &m_normals[3*index];
6673  else
6674  return 0;
6675  }
6676 };
6677 
6678 
6680 
6686 class BBINFILETK_API TK_Grid : public BBaseOpcodeHandler {
6687  protected:
6688  char m_type;
6689  float m_points[9];
6690  double m_dpoints[9];
6691  int m_counts[2];
6693  public:
6696  : BBaseOpcodeHandler (TKE_Grid) {}
6697 
6700  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6701 
6702  TK_Status ReadAscii (BStreamFileToolkit & tk);
6703  TK_Status WriteAscii (BStreamFileToolkit & tk);
6704 
6706  void SetOrigin (float x, float y, float z) {
6707  m_points[0] = x; m_points[1] = y; m_points[2] = z;
6708  }
6710  void SetOrigin (float const o[]) { SetOrigin (o[0], o[1], o[2]); }
6712  float const * GetOrigin () const { return &m_points[0]; }
6714  float * GetOrigin () { return &m_points[0]; }
6715 
6717  void SetRef1 (float x, float y, float z) {
6718  m_points[3] = x; m_points[4] = y; m_points[5] = z;
6719  }
6721  void SetRef1 (float const r[]) { SetRef1 (r[0], r[1], r[2]); }
6723  float const * GetRef1 () const { return &m_points[3]; }
6725  float * GetRef1 () { return &m_points[3]; }
6726 
6728  void SetRef2 (float x, float y, float z) {
6729  m_points[6] = x; m_points[7] = y; m_points[8] = z;
6730  }
6732  void SetRef2 (float const r[]) { SetRef2 (r[0], r[1], r[2]); }
6734  float const * GetRef2 () const { return &m_points[6]; }
6736  float * GetRef2 () { return &m_points[6]; }
6737 
6738 
6740  void SetDOrigin (double x, double y, double z) {
6741  m_dpoints[0] = x; m_dpoints[1] = y; m_dpoints[2] = z;
6742  }
6744  void SetDOrigin (double const o[]) { SetDOrigin (o[0], o[1], o[2]);}
6746  double const * GetDOrigin () const { return &m_dpoints[0]; }
6748  double * GetDOrigin () { return &m_dpoints[0]; }
6749 
6751  void SetDRef1 (double x, double y, double z) {
6752  m_dpoints[3] = x; m_dpoints[4] = y; m_dpoints[5] = z;
6753  }
6755  void SetDRef1 (double const r[]) { SetDRef1 (r[0], r[1], r[2]); }
6757  double const * GetDRef1 () const { return &m_dpoints[3]; }
6759  double * GetDRef1 () { return &m_dpoints[3]; }
6760 
6762  void SetDRef2 (double x, double y, double z) {
6763  m_dpoints[6] = x; m_dpoints[7] = y; m_dpoints[8] = z;
6764  }
6766  void SetDRef2 (double const r[]) { SetDRef2 (r[0], r[1], r[2]); }
6768  double const * GetDRef2 () const { return &m_dpoints[6]; }
6770  double * GetDRef2 () { return &m_dpoints[6]; }
6771 
6772 
6774  void SetCounts (int c1, int c2) {
6775  m_counts[0] = c1; m_counts[1] = c2;
6776  }
6778  int const * GetCounts () const { return m_counts; }
6780  int * GetCounts () { return m_counts; }
6781 
6783  void SetType (int t) { m_type = (char)t; }
6785  int GetType () const { return (int)m_type; }
6786 };
6787 
6789 
6792  char * name;
6793 
6794  float color[3];
6795  float size;
6798  float slant;
6799  float rotation;
6800  float width_scale;
6801 
6802  unsigned short mask;
6803  unsigned short value;
6804 
6805  unsigned char size_units;
6806  unsigned char vertical_offset_units;
6807  unsigned char horizontal_offset_units;
6808 };
6809 
6810 
6812 
6818 class BBINFILETK_API TK_Text : public BBaseOpcodeHandler {
6819  protected:
6820  float m_position[3];
6821  double m_dposition[3];
6822  int m_length;
6824  char * m_string;
6825  unsigned char m_encoding;
6826  unsigned char m_options;
6827  unsigned char m_region_options;
6828  unsigned char m_region_fit;
6829  unsigned char m_region_count;
6830  float m_region[4*3];
6831  double m_dregion[4*3];
6833  int * m_cursors;
6835  float * m_leaders;
6836  unsigned char * m_leader_flags;
6838  double * m_dleaders;
6839  unsigned char * m_dleader_flags;
6840  int m_count;
6843  int m_tmp;
6845  void set_string (char const * string);
6846  void set_string (int length);
6847 
6848  public:
6850  TK_Text (unsigned char opcode);
6851  ~TK_Text();
6852 
6855  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6856 
6857  TK_Status ReadAscii (BStreamFileToolkit & tk);
6858  TK_Status WriteAscii (BStreamFileToolkit & tk);
6859 
6860  void Reset ();
6861 
6863  void SetString (char const * string) { set_string (string); }
6865  void SetString (unsigned short const * string);
6867  void SetString (unsigned int const * string);
6869  void SetString (int length) { set_string (length); }
6871  char const * GetString () const { return m_string; }
6873  char * GetString () { return m_string; }
6874 
6876  void SetPosition (float x, float y, float z)
6877  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
6879  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
6881  float const * GetPosition () const { return &m_position[0]; }
6882 
6884  void SetDPosition (double x, double y, double z)
6885  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
6887  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
6889  double const * GetDPosition () const { return &m_dposition[0]; }
6890 
6892  void SetEncoding (int e) { m_encoding = (unsigned char)e; }
6894  int GetEncoding () const { return (int)m_encoding; }
6895 
6897  void SetTextRegion (int c, float const p[], int o=0, int f=0);
6899  void SetTextDRegion (int c, double const p[], int o=0, int f=0);
6901  int GetTextRegionCount () const { return (int)m_region_count; }
6903  float const * GetTextRegionPoints () const { return m_region; }
6905  double const * GetTextRegionDPoints () const { return m_dregion; }
6907  int GetTextRegionOptions () const { return (int)m_region_options; }
6909  int GetTextRegionFitting () const { return (int)m_region_fit; }
6910 
6911 
6913  void SetStringCursors (int length, int * locations = 0);
6915  int GetStringCursorCount () const { return m_cursor_count; }
6917  int const * GetStringCursors () const { return m_cursors; }
6919  int * GetStringCursors () { return m_cursors; }
6920 
6922  void SetTextLeaders (int length, float * locations = 0, unsigned char * flags = 0);
6924  int GetTextLeaderCount () const { return m_leader_count; }
6926  float const * GetTextLeaders () const { return m_leaders; }
6928  float * GetTextLeaders () { return m_leaders; }
6930  unsigned char const * GetTextLeaderFlags () const { return m_leader_flags; }
6932  unsigned char * GetTextLeaderFlags () { return m_leader_flags; }
6933 
6935  void SetDTextLeaders (int length, double * locations = 0, unsigned char * flags = 0);
6937  int GetDTextLeaderCount () const { return m_dleader_count; }
6939  double const * GetDTextLeaders () const { return m_dleaders; }
6941  double * GetDTextLeaders () { return m_dleaders; }
6943  unsigned char const * GetDTextLeaderFlags () const { return m_dleader_flags; }
6945  unsigned char * GetDTextLeaderFlags () { return m_dleader_flags; }
6946 };
6947 
6949 
6951 
6957 class BBINFILETK_API TK_Font : public BBaseOpcodeHandler {
6958  protected:
6959  char * m_name;
6960  char * m_lookup;
6961  char * m_bytes;
6964  int m_length;
6965  unsigned char m_type;
6966  unsigned char m_encoding;
6968  void set_bytes (int size, char const * bytes = 0);
6971  void set_name (char const * string);
6973  void set_name (int length);
6975  void set_lookup (char const * string);
6977  void set_lookup (int length);
6978 
6979  public:
6981  TK_Font () : BBaseOpcodeHandler (TKE_Font),
6982  m_name (0), m_lookup (0), m_bytes (0), m_name_length (0), m_lookup_length (0), m_length (0),
6983  m_type (0), m_encoding (0) {}
6984  ~TK_Font();
6985 
6988  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
6989 
6990  TK_Status ReadAscii (BStreamFileToolkit & tk);
6991  TK_Status WriteAscii (BStreamFileToolkit & tk);
6992 
6993  void Reset ();
6994 
6995 
6997  void SetType (int t) { m_type = (unsigned char)t;}
6999  int GetType () const { return (int)m_type; }
7000 
7005  void SetBytes (int size, char const * bytes = 0) { set_bytes (size, bytes); }
7007  int GetBytesCount () const { return m_length; }
7009  char const * GetBytes () const { return m_bytes; }
7011  char * GetBytes () { return m_bytes; }
7012 
7014  void SetName (char const * string) { set_name (string); }
7016  void SetName (int length) { set_name (length); }
7018  char const * GetName () const { return m_name; }
7020  char * GetName () { return m_name; }
7021 
7023  void SetLookup (char const * string) { set_lookup (string); }
7025  void SetLookup (int length) { set_lookup (length); }
7027  char const * GetLookup () const { return m_lookup; }
7029  char * GetLookup () { return m_lookup; }
7030 
7032  void SetEncoding (int e) { m_encoding = (unsigned char)e;}
7034  int GetEncoding () const { return (int)m_encoding; }
7035 };
7036 
7038 
7039 
7041 extern const int TK_Image_Bytes_Per_Pixel[];
7042 
7043 #ifndef DOXYGEN_SHOULD_SKIP_THIS
7044 
7045 class BBINFILETK_API2 TK_Image_Data_Buffer {
7046  protected:
7047  unsigned char * m_buffer;
7048  unsigned int m_allocated;
7049  unsigned int m_used;
7050 
7051  public:
7053  TK_Image_Data_Buffer() : m_buffer (0), m_allocated (0), m_used (0) {}
7054  ~TK_Image_Data_Buffer();
7055 
7056  void Resize (unsigned int size);
7057  void Expand (unsigned int size) { Resize (Size() + size); }
7058  void Reset ();
7059 
7060  unsigned int const & Size () const { return m_allocated; }
7061  unsigned int const & Used () const { return m_used; }
7062  unsigned int & Used () { return m_used; }
7063  unsigned char const * Buffer () const { return m_buffer; }
7064  unsigned char * Buffer () { return m_buffer; }
7065 };
7066 
7067 
7068 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
7069 
7070 
7072 
7078 class BBINFILETK_API2 TK_Image : public BBaseOpcodeHandler {
7079  protected:
7080  char * m_bytes;
7081  char * m_name;
7082  char * m_reference;
7083  float m_position[3];
7084  double m_dposition[3];
7085  int m_size[2];
7089  unsigned char m_format;
7090  unsigned int m_options;
7091  unsigned char m_compression;
7092  unsigned char m_bytes_format;
7093  float m_explicit_size[2];
7094  unsigned char m_explicit_units[2];
7095  TK_Image_Data_Buffer m_work_area[2];
7100  void set_data (int size, char const * bytes = 0, unsigned char data_format = TKO_Compression_None);
7103  void set_name (char const * string);
7105  void set_name (int length);
7106 
7108  TK_Status compress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7110  TK_Status decompress_image (BStreamFileToolkit & tk, int active_work_area = 0);
7112  TK_Status read_jpeg_header ();
7113 
7114  public:
7116  TK_Image ();
7117  ~TK_Image();
7118 
7121  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7122 
7123  TK_Status ReadAscii (BStreamFileToolkit & tk);
7124  TK_Status WriteAscii (BStreamFileToolkit & tk);
7125  TK_Status compress_image_ascii (BStreamFileToolkit & tk);
7126 
7127 
7128  void Reset ();
7129 
7134  void SetBytes (int size, char const * bytes = 0,
7135  unsigned char data_format = TKO_Compression_None)
7136  { set_data (size, bytes, data_format); }
7138  char const * GetBytes () const { return m_bytes; }
7140  char * GetBytes () { return m_bytes; }
7141 
7143  void SetName (char const * string) { set_name (string); }
7145  void SetName (int length) { set_name (length); }
7147  char const * GetName () const { return m_name; }
7149  char * GetName () { return m_name; }
7150 
7152  void SetReference (char const * string);
7154  void SetReference (int length);
7156  char const * GetReference () const { return m_reference; }
7158  char * GetReference () { return m_reference; }
7159 
7161  void SetPosition (float x, float y, float z)
7162  { m_position[0] = x; m_position[1] = y; m_position[2] = z; }
7164  void SetPosition (float const p[]) { SetPosition (p[0], p[1], p[2]); }
7166  float const * GetPosition () const { return &m_position[0]; }
7167 
7169  void SetDPosition (double x, double y, double z)
7170  { m_dposition[0] = x; m_dposition[1] = y; m_dposition[2] = z; }
7172  void SetDPosition (double const p[]) { SetDPosition (p[0], p[1], p[2]); }
7174  double const * GetDPosition () const { return &m_dposition[0]; }
7175 
7177  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7179  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7181  int const * GetSize () const { return m_size; }
7182 
7184  void SetFormat (int f) { m_format = (unsigned char)(f & TKO_Image_Format_Mask); }
7186  int GetFormat () const { return (int)m_format; }
7187 
7189  void SetOptions (int f) { m_options = (unsigned char)(f & TKO_Image_Options_Mask); }
7191  int GetOptions () const { return (int)m_options; }
7192 
7194  void SetCompression (int c) { m_compression = (unsigned char)c; }
7196  int GetCompression () const { return (int)m_compression; }
7197 };
7198 
7199 
7201 
7203 
7209 class BBINFILETK_API2 TK_Texture : public BBaseOpcodeHandler {
7210  protected:
7211  char * m_name;
7213  char * m_image;
7214  char * m_camera;
7219  int m_flags;
7230  char m_layout;
7231  char m_tiling;
7232  float m_value_scale[2];
7233  int m_source_dimensions[3];
7234  char * m_transform;
7238  void set_name (int length);
7239  void set_name (char const * name);
7240  void set_image (int length);
7241  void set_image (char const * image);
7242  void set_transform (int length);
7243  void set_transform (char const * transform);
7244 
7245  public:
7247  TK_Texture () : BBaseOpcodeHandler (TKE_Texture),
7248  m_name (0), m_shader_source(0), m_image (0), m_camera (0),
7249  m_name_length (0), m_shader_source_length(0), m_image_length (0), m_camera_length (0),
7250  m_transform (0) {
7251  Reset();
7252  }
7253  ~TK_Texture();
7254 
7257  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7258 
7259  TK_Status ReadAscii (BStreamFileToolkit & tk);
7260  TK_Status WriteAscii (BStreamFileToolkit & tk);
7261 
7262  void Reset ();
7263 
7265  void SetName (char const * name) { set_name (name); }
7267  void SetName (int length) { set_name (length); }
7269  char const * GetName () const { return m_name; }
7271  char * GetName () { return m_name; }
7272 
7274  void SetShaderSource (char const * shader_source);
7276  void SetShaderSource (int length);
7278  char const * GetShaderSource () const { return m_shader_source; }
7280  char * GetShaderSource () { return m_shader_source; }
7281 
7283  void SetImage (char const * image) { set_image (image); }
7285  void SetImage (int length) { set_image (length); }
7287  char const * GetImage () const { return m_image; }
7289  char * GetImage () { return m_image; }
7290 
7292  void SetCamera (char const * camera);
7294  void SetCamera (int length);
7296  char const * GetCamera () const { return m_camera; }
7298  char * GetCamera () { return m_camera; }
7299 
7301  void SetFlags (int f) {
7302  m_flags = f;
7303  if ((f & TKO_Texture_Extended_Mask) != 0)
7304  m_flags |= TKO_Texture_Extended;
7305  }
7307  int GetFlags () const { return m_flags; }
7308 
7310  void SetParameterSource (int p) { m_param_source = (char)p; }
7312  int GetParameterSource () const { return (int)m_param_source; }
7313 
7315  void SetInterpolation (int p) { m_interpolation = (char)p; }
7317  int GetInterpolation () const { return (int)m_interpolation; }
7318 
7320  void SetDecimation (int p) { m_decimation = (char)p; }
7322  int GetDecimation () const { return (int)m_decimation; }
7323 
7325  void SetRedMapping (int p) { m_red_mapping = (char)p; }
7327  int GetRedMapping () const { return (int)m_red_mapping; }
7328 
7330  void SetGreenMapping (int p) { m_green_mapping = (char)p; }
7332  int GetGreenMapping () const { return (int)m_green_mapping; }
7333 
7335  void SetBlueMapping (int p) { m_blue_mapping = (char)p; }
7337  int GetBlueMapping () const { return (int)m_blue_mapping; }
7338 
7340  void SetAlphaMapping (int p) { m_alpha_mapping = (char)p; }
7342  int GetAlphaMapping () const { return (int)m_alpha_mapping; }
7343 
7345  void SetParameterFunction (int p) { m_param_function = (char)p; }
7347  int GetParameterFunction () const { return (int)m_param_function; }
7348 
7350  void SetLayout (int p) { m_layout = (char)p; }
7352  int GetLayout () const { return (int)m_layout; }
7353 
7355  void SetTiling (int p) { m_tiling = (char)p; }
7357  int GetTiling () const { return (int)m_tiling; }
7358 
7360  void SetValueScale (float v1, float v2) { m_value_scale[0] = v1; m_value_scale[1] = v2; }
7362  float const * GetValueScale () const { return m_value_scale; }
7363 
7365  void SetApplicationMode (int p) { m_apply_mode = (char)p; }
7367  int GetApplicationMode () const { return (int)m_apply_mode; }
7368 
7370  void SetParameterOffset (int p) { m_param_offset = (char)p; }
7372  int GetParameterOffset () const { return (int)m_param_offset; }
7373 
7378  void SetTransform (char const * transform) { set_transform (transform); }
7383  void SetTransform (int length) { set_transform (length); }
7385  char const * GetTransform () const { return m_transform; }
7387  char * GetTransform () { return m_transform; }
7388 };
7389 
7391 
7393 
7399 class BBINFILETK_API2 TK_Thumbnail : public BBaseOpcodeHandler {
7400  protected:
7401  unsigned char * m_bytes;
7403  int m_size[2];
7404  unsigned char m_format;
7406  public:
7408  TK_Thumbnail() : BBaseOpcodeHandler (TKE_Thumbnail), m_bytes (0), m_allocated (0), m_format (TKO_Thumbnail_Invalid) {}
7409  ~TK_Thumbnail();
7410 
7413  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7414 
7415  TK_Status ReadAscii (BStreamFileToolkit & tk);
7416  TK_Status WriteAscii (BStreamFileToolkit & tk);
7417 
7419  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, int variant);
7420  TK_Status Interpret (BStreamFileToolkit & tk, ID_Key key, char const * special)
7421  { return BBaseOpcodeHandler::Interpret(tk, key, special); }
7422  void Reset ();
7423 
7428  void SetBytes (int size, unsigned char const * bytes = 0);
7430  unsigned char const * GetBytes () const { return m_bytes; }
7432  unsigned char * GetBytes () { return m_bytes; }
7433 
7435  void SetSize (int w, int h) { m_size[0] = w; m_size[1] = h; }
7437  void SetSize (int const s[]) { m_size[0] = s[0]; m_size[1] = s[1]; }
7439  int const * GetSize () const { return m_size; }
7440 
7442  void SetFormat (int f) { m_format = (unsigned char)f; }
7444  int GetFormat () const { return (int)m_format; }
7445 };
7446 
7447 
7449 
7451 
7456 class BBINFILETK_API2 TK_Glyph_Definition : public BBaseOpcodeHandler {
7457  protected:
7459  int m_size;
7460  char * m_name;
7461  char * m_data;
7463  public:
7465  TK_Glyph_Definition () : BBaseOpcodeHandler (TKE_Glyph_Definition),
7466  m_name_length (0), m_size (0),
7467  m_name (0), m_data (0) {}
7469 
7472  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7473 
7474  TK_Status ReadAscii (BStreamFileToolkit & tk);
7475  TK_Status WriteAscii (BStreamFileToolkit & tk);
7476 
7477  void Reset ();
7478 
7480  void SetName (char const * name);
7482  void SetName (int length);
7484  char const * GetName () const { return m_name; }
7486  char * GetName () { return m_name; }
7487 
7489  void SetDefinition (int size, char const * data = 0);
7491  int GetDefinitionSize () const { return m_size; }
7493  char const * GetDefinition () const { return m_data; }
7495  char * GetDefinition () { return m_data; }
7496 };
7497 
7498 
7500 
7505 class BBINFILETK_API2 TK_Shape_Definition : public BBaseOpcodeHandler {
7506  protected:
7508  int m_size;
7509  char * m_name;
7510  float * m_data;
7512  public:
7514  TK_Shape_Definition () : BBaseOpcodeHandler (TKE_Shape_Definition),
7515  m_name_length (0), m_size (0),
7516  m_name (0), m_data (0) {}
7518 
7521  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7522 
7523  TK_Status ReadAscii (BStreamFileToolkit & tk);
7524  TK_Status WriteAscii (BStreamFileToolkit & tk);
7525 
7526  void Reset ();
7527 
7529  void SetName (char const * name);
7531  void SetName (int length);
7533  char const * GetName () const { return m_name; }
7535  char * GetName () { return m_name; }
7536 
7538  void SetDefinition (int size, float const * data = 0);
7540  int GetDefinitionSize () const { return m_size; }
7542  float const * GetDefinition () const { return m_data; }
7544  float * GetDefinition () { return m_data; }
7545 };
7546 
7547 
7549 
7554 class BBINFILETK_API2 TK_Named_Style_Def : public BBaseOpcodeHandler {
7555  protected:
7557  char * m_name;
7560  char * m_segment;
7564  char * m_condition;
7568  bool m_follow;
7569 
7570  public:
7573  m_name_length (0), m_name (0),
7574  m_segment_length (0), m_segment (0) ,
7575  m_cond_length (0), m_cond_allocated (0), m_condition (0),
7576  m_key(-1), m_referee(0), m_follow(true) {}
7577  ~TK_Named_Style_Def();
7578 
7581  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7582 
7583  TK_Status ReadAscii (BStreamFileToolkit & tk);
7584  TK_Status WriteAscii (BStreamFileToolkit & tk);
7585 
7586  void Reset ();
7587 
7589  void SetName (char const * name);
7591  void SetName (int length);
7593  char const * GetName () const { return m_name; }
7595  char * GetName () { return m_name; }
7596 
7601  void SetSegment (char const * segment);
7606  void SetSegment (int length);
7610  char const * GetSegment () const { return m_segment; }
7615  char * GetSegment () { return m_segment; }
7616 };
7617 
7619 
7624 class BBINFILETK_API2 TK_Line_Style : public BBaseOpcodeHandler {
7625  protected:
7628  char * m_name;
7629  char * m_definition;
7631  public:
7633  TK_Line_Style () : BBaseOpcodeHandler (TKE_Line_Style),
7634  m_name_length (0), m_definition_length (0),
7635  m_name (0), m_definition (0) {}
7636  ~TK_Line_Style();
7637 
7640  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7641 
7642  TK_Status ReadAscii (BStreamFileToolkit & tk);
7643  TK_Status WriteAscii (BStreamFileToolkit & tk);
7644 
7645  void Reset ();
7646 
7648  void SetName (char const * name);
7650  void SetName (int length);
7652  char const * GetName () const { return m_name; }
7654  char * GetName () { return m_name; }
7655 
7657  void SetDefinition (char const * def);
7659  void SetDefinition (int length);
7661  char const * GetDefinition () const { return m_definition; }
7663  char * GetDefinition () { return m_definition; }
7664 };
7665 
7667 
7669 
7674 class BBINFILETK_API TK_Clip_Rectangle : public BBaseOpcodeHandler {
7675  protected:
7676  char m_options;
7677  float m_rect[4];
7679  public:
7682  : BBaseOpcodeHandler (TKE_Clip_Rectangle), m_options (0) {}
7683 
7686  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7687 
7688  TK_Status ReadAscii (BStreamFileToolkit & tk);
7689  TK_Status WriteAscii (BStreamFileToolkit & tk);
7690 
7691  void Reset ();
7692 
7694  void SetRectangle (float left, float right, float bottom, float top)
7695  { m_rect[0] = left; m_rect[1] = right; m_rect[2] = bottom; m_rect[3] = top; }
7697  void SetRectangle (float const * rect)
7698  { SetRectangle (rect[0], rect[1], rect[2], rect[3]); }
7700  float const * GetRectangle () const { return m_rect; }
7701 
7703  void SetOptions (int o) { m_options = (char)o; }
7705  int GetOptions () const { return (int)m_options; }
7706 };
7707 
7709 
7711 
7716 class BBINFILETK_API TK_Clip_Region : public BBaseOpcodeHandler {
7717  protected:
7718  char m_options;
7719  int m_count;
7720  float * m_points;
7721  double * m_dpoints;
7725  public:
7728  : BBaseOpcodeHandler (TKE_Clip_Region), m_options (0), m_count (0), m_points (0), m_dpoints (0), m_complex (0) {}
7729  ~TK_Clip_Region();
7730 
7733  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7734 
7735  TK_Status ReadAscii (BStreamFileToolkit & tk);
7736  TK_Status WriteAscii (BStreamFileToolkit & tk);
7737 
7738  void Reset ();
7739 
7744  void SetPoints (int count, float const points[] = 0);
7746  float const * GetPoints () const { return m_points; }
7748  float * GetPoints () { return m_points; }
7749 
7754  void SetDPoints (int count, double const points[] = 0);
7756  double const * GetDPoints () const { return m_dpoints; }
7758  double * GetDPoints () { return m_dpoints; }
7759 
7760 
7762  int GetCount () const { return m_count; }
7763 
7764 
7766  void SetOptions (int o) { m_options = (char)o; }
7768  int GetOptions () const { return (int)m_options; }
7769 };
7770 
7771 
7773 
7775 
7780 class BBINFILETK_API TK_Complex_Clip_Region : public BBaseOpcodeHandler {
7781  protected:
7782  char m_options;
7783  int m_loops;
7784  int m_total;
7785  int * m_lengths;
7786  float * m_points;
7787  double * m_dpoints;
7789  public:
7792  : BBaseOpcodeHandler (TKE_Complex_Clip_Region), m_options (0), m_loops (0), m_total (0),
7793  m_lengths (0), m_points (0), m_dpoints (0) {}
7795 
7798  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7799 
7800  TK_Status ReadAscii (BStreamFileToolkit & tk);
7801  TK_Status WriteAscii (BStreamFileToolkit & tk);
7802 
7803  void Reset ();
7804 
7809  void SetPoints (int count, float const points[] = 0);
7811  float const * GetPoints () const { return m_points; }
7813  float * GetPoints () { return m_points; }
7814 
7819  void SetDPoints (int count, double const points[] = 0);
7821  double const * GetDPoints () const { return m_dpoints; }
7823  double * GetDPoints () { return m_dpoints; }
7824 
7825 
7830  void SetLengths (int count, int const lengths[] = 0);
7832  int const * GetLengths () const { return m_lengths; }
7834  int * GetLengths () { return m_lengths; }
7835 
7836 
7838  int GetTotal () const { return m_total; }
7840  int GetLoops () const { return m_loops; }
7841 
7842 
7844  void SetOptions (int o) { m_options = (char)o; }
7846  int GetOptions () const { return (int)m_options; }
7847 };
7848 
7849 
7851 
7853 
7869 class BBINFILETK_API2 TK_User_Data : public BBaseOpcodeHandler {
7870  protected:
7871  int m_size;
7872  unsigned char * m_data;
7875  void set_data (int size, unsigned char const * bytes = 0);
7877 
7878  public:
7881  : BBaseOpcodeHandler (TKE_Start_User_Data), m_size (0), m_data (0), m_buffer_size(0) {}
7882  ~TK_User_Data();
7883 
7886  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7887 
7888  TK_Status ReadAscii (BStreamFileToolkit & tk);
7889  TK_Status WriteAscii (BStreamFileToolkit & tk);
7890 
7892  void Reset ();
7893 
7898  void SetUserData (int size, unsigned char const * bytes = 0) { set_data (size, bytes); }
7900  unsigned char const * GetUserData () const { return m_data; }
7902  unsigned char * GetUserData () { return m_data; }
7904  int GetSize () const { return m_size; }
7905 
7907  void Resize (int size);
7908 
7910  void SetSize (int size);
7911 };
7912 
7913 
7915 
7917 
7929 class BBINFILETK_API2 TK_Material : public BBaseOpcodeHandler {
7930  protected:
7932 
7935  struct vlist_s *m_data;
7936 
7937  public:
7939  TK_Material () : BBaseOpcodeHandler (TKE_Material), m_total_size(0), m_data(0) {}
7940  ~TK_Material();
7941 
7944  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7945  void Reset ();
7946 
7947  TK_Status PushUserData (char const *buffer, int buffer_size, bool tally_total_size = true);
7948  TK_Status GetBlock (char const **ptr, int *buffer_size);
7949 };
7950 
7952 
7957 class BBINFILETK_API TK_XML : public BBaseOpcodeHandler {
7958  protected:
7959  int m_size;
7960  char * m_data;
7962  public:
7964  TK_XML (): BBaseOpcodeHandler (TKE_XML), m_size (0), m_data (0) {}
7965  ~TK_XML();
7966 
7969  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
7970 
7971  TK_Status ReadAscii (BStreamFileToolkit & tk);
7972  TK_Status WriteAscii (BStreamFileToolkit & tk);
7973 
7975  void Reset ();
7976 
7981  void SetXML (int size, char const * data = 0);
7985  void AppendXML (int size, char const * data = 0);
7987  char const * GetXML () const { return m_data; }
7989  char * GetXML () { return m_data; }
7991  int GetSize () const { return m_size; }
7992 };
7993 
7994 
7995 
7997 
8003 class BBINFILETK_API TK_URL : public BBaseOpcodeHandler {
8004  protected:
8005  int m_length;
8007  char * m_string;
8009  public:
8012  m_length (0), m_allocated (0), m_string (0) {}
8013  ~TK_URL();
8014 
8017  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8018 
8019  TK_Status ReadAscii (BStreamFileToolkit & tk);
8020  TK_Status WriteAscii (BStreamFileToolkit & tk);
8021 
8022  void Reset ();
8023 
8025  void SetString (char const * string);
8027  void SetString (int length);
8029  char const * GetString () const { return m_string; }
8031  char * GetString () { return m_string; }
8032 };
8033 
8034 
8036 
8042 class BBINFILETK_API TK_External_Reference : public BBaseOpcodeHandler {
8043  protected:
8044  int m_length;
8046  char * m_string;
8048  public:
8049  TK_External_Reference () : BBaseOpcodeHandler (TKE_External_Reference),
8050  m_length (0), m_allocated (0), m_string (0) {}
8052 
8055  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8056 
8057  TK_Status ReadAscii (BStreamFileToolkit & tk);
8058  TK_Status WriteAscii (BStreamFileToolkit & tk);
8059 
8061  void Reset ();
8062 
8064  void SetString (char const * string);
8066  void SetString (int length);
8068  char const * GetString () const { return m_string; }
8070  char * GetString () { return m_string; }
8071 };
8072 
8073 
8075 
8081 class BBINFILETK_API TK_External_Reference_Unicode : public BBaseOpcodeHandler {
8082  protected:
8083  int m_length;
8085  wchar_t * m_string;
8087  public:
8088  TK_External_Reference_Unicode () : BBaseOpcodeHandler (TKE_External_Reference_Unicode),
8089  m_length (0), m_allocated (0), m_string (0) {}
8091 
8094  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8095 
8097  void Reset ();
8098 
8100  void SetString (__wchar_t const * string);
8101 #ifdef _MSC_VER
8102  void SetString (unsigned short const * string);
8103 #endif
8104 
8105  void SetString (int length);
8107  wchar_t const * GetString () const { return m_string; }
8109  wchar_t * GetString () { return m_string; }
8110 };
8111 
8112 
8113 
8114 
8116 
8122 class BBINFILETK_API TK_Image_XRef : public BBaseOpcodeHandler {
8123  protected:
8124  char * m_name;
8126  int m_size[2];
8127  char m_bpp;
8128 
8130  void set_name (char const * string);
8132  void set_name (int length);
8133 
8134  public:
8135  TK_Image_XRef () : BBaseOpcodeHandler (TKE_Image_XRef), m_name (0), m_name_length (0), m_bpp(0)
8136  { m_size[0] = m_size[1] = 0; }
8137  ~TK_Image_XRef();
8138 
8141  TK_Status Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **handler) const;
8143  void Reset (void);
8144 
8146  void SetName (char const * string) { set_name (string);}
8148  void SetName (int length) { set_name (length);}
8150  char const * GetName (void) const { return m_name;}
8152  char * GetName (void) { return m_name;}
8153 
8154  void SetSize (int x, int y ) { m_size[0] = x; m_size[1] = y;}
8155  int const* GetSize (void) const { return m_size;}
8156  int * GetSize (void) { return m_size;}
8157 
8158  void SetBitDepth( char bpp ) { m_bpp = bpp;}
8159  char GetBitDepth (void) const { return m_bpp;}
8160  char GetBitDepth (void) { return m_bpp;}
8161 };
8162 
8163 
8164 #endif //BOPCODE_HANDLER
8165 
int GetFlags() const
Definition: BOpcodeHandler.h:7307
void SetOptions(int o)
Definition: BOpcodeHandler.h:5781
void SetAxis(float const s[], float const e[])
Definition: BOpcodeHandler.h:6495
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:5669
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:4730
int GetOptions() const
Definition: BOpcodeHandler.h:5904
float const * GetOrderedWeights() const
Definition: BOpcodeHandler.h:4171
char const * GetCoordinateSystems() const
Definition: BOpcodeHandler.h:4271
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:5703
char m_isoline_position_type
for internal use only.
Definition: BOpcodeHandler.h:2501
int const * GetRenderers() const
Definition: BOpcodeHandler.h:5365
int GetMaskTransform() const
Definition: BOpcodeHandler.h:3775
int GetLodNumRatios() const
Definition: BOpcodeHandler.h:3676
BBaseOpcodeHandler * m_indices
Definition: BOpcodeHandler.h:4758
for further expansion
Definition: BOpcodeEnums.h:1187
void SetPoints(float const s[], float const e[])
Definition: BOpcodeHandler.h:5568
int value
For internal use only.
Definition: BOpcodeHandler.h:1058
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5961
char * m_coordinate_systems
internal use
Definition: BOpcodeHandler.h:4215
void SetType(int t)
Definition: BOpcodeHandler.h:6783
float const * GetPoints() const
Definition: BOpcodeHandler.h:5804
TK_Clip_Rectangle()
Definition: BOpcodeHandler.h:7681
int GetColorForcedLockValue() const
Definition: BOpcodeHandler.h:3180
int m_name_length
Definition: BOpcodeHandler.h:7458
TK_Grid()
Definition: BOpcodeHandler.h:6695
int m_name_length
Definition: BOpcodeHandler.h:7087
int GetBufferOptionsMask() const
Definition: BOpcodeHandler.h:3533
char m_maximum_extent_level
internal use; maximum extent level
Definition: BOpcodeHandler.h:4025
char * GetName()
Definition: BOpcodeHandler.h:7020
float const * GetSimpleShadowColor() const
Definition: BOpcodeHandler.h:3876
void SetJoinCutoffAngle(int d)
Definition: BOpcodeHandler.h:2712
void SetPixelThreshold(int c)
Definition: BOpcodeHandler.h:4106
void SetDUpVector(double const u[])
Definition: BOpcodeHandler.h:5069
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:4585
unsigned char const * GetDTextLeaderFlags() const
Definition: BOpcodeHandler.h:6943
float * m_v_knots
Definition: BOpcodeHandler.h:5845
void SetPattern(int p)
Definition: BOpcodeHandler.h:4583
float const * GetSimpleShadowPlane() const
Definition: BOpcodeHandler.h:3868
int GetColorVertexForcedLockMask() const
Definition: BOpcodeHandler.h:3399
double const * GetDPoints() const
Definition: BOpcodeHandler.h:6626
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:7402
void SetTransmissionName(int length)
Definition: BOpcodeHandler.h:1847
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5670
void SetCoordinateSystems(int count, char const cs[])
Definition: BOpcodeHandler.h:4262
ID_Key GetIndex()
Definition: BOpcodeHandler.h:1409
void SetDUpVector(double x, double y, double z)
Definition: BOpcodeHandler.h:5066
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:6565
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:6835
void SetOptions(int o)
Definition: BOpcodeHandler.h:7703
char * m_name
Definition: BOpcodeHandler.h:8124
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:7164
float const * GetUKnots() const
Definition: BOpcodeHandler.h:5893
void SetInternalSelectionLimit(int i)
Definition: BOpcodeHandler.h:4074
int m_count
internal use
Definition: BOpcodeHandler.h:5922
int m_lookup_length
Definition: BOpcodeHandler.h:6963
int m_shader_source_length
Definition: BOpcodeHandler.h:7216
char const * GetTransmissionName() const
Definition: BOpcodeHandler.h:1851
void SetDRef1(double const r[])
Definition: BOpcodeHandler.h:6755
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6013
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:6802
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4843
float const * GetOrigin() const
Definition: BOpcodeHandler.h:6712
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:4557
float GetSimpleReflectionOpacity() const
Definition: BOpcodeHandler.h:3920
float const * GetField() const
Definition: BOpcodeHandler.h:5080
unsigned char m_degree
Definition: BOpcodeHandler.h:5760
void SetAmbientUpVector(float const v[])
Definition: BOpcodeHandler.h:3960
Capping_Options
Definition: BOpcodeHandler.h:6591
int GetDTextLeaderCount() const
Definition: BOpcodeHandler.h:6937
int m_simple_reflection_blur
For internal use only.
Definition: BOpcodeHandler.h:2590
int m_shape_length
for internal use only
Definition: BOpcodeHandler.h:5207
int GetOrientationCount() const
Definition: BOpcodeHandler.h:4257
unsigned char m_tolerance_units
for internal use only
Definition: BOpcodeHandler.h:5215
bool GetStreaming() const
Definition: BOpcodeHandler.h:4654
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:7544
float const * GetRectangle() const
Definition: BOpcodeHandler.h:7700
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:4286
int GetMask() const
Definition: BOpcodeHandler.h:5252
void SetVertexDisplacement(int d)
Definition: BOpcodeHandler.h:2702
int m_size
Definition: BOpcodeHandler.h:7871
self-explanatory; (internal note: keep this listed last)
Definition: BOpcodeEnums.h:1124
void SetFormat(int f)
Definition: BOpcodeHandler.h:7184
void SetOblique(float h, float v)
Definition: BOpcodeHandler.h:5095
void SetColorTextLockValue(int v)
Definition: BOpcodeHandler.h:2887
unsigned short m_pattern
internal use
Definition: BOpcodeHandler.h:4568
double * m_dpoints
Definition: BOpcodeHandler.h:7721
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:6796
self-explanatory
Definition: BOpcodeEnums.h:268
char * m_shader_source
Definition: BOpcodeHandler.h:7212
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:4412
TK_Status ReadAscii(BStreamFileToolkit &tk)
Deprecated.
void SetBufferSizeLimit(int l)
Definition: BOpcodeHandler.h:3539
float * GetPoints()
Definition: BOpcodeHandler.h:5874
short m_type
Definition: BOpcodeHandler.h:4706
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:5049
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:5990
void GetDField(double f[]) const
Definition: BOpcodeHandler.h:5091
void SetPreferenceCutoffUnits(int u)
Definition: BOpcodeHandler.h:5394
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:5766
void SetDPoints(double const p[])
Definition: BOpcodeHandler.h:5586
char const * GetSegment() const
Definition: BOpcodeHandler.h:1208
int GetBytesCount() const
Definition: BOpcodeHandler.h:7007
void SetTolerance(float t)
Definition: BOpcodeHandler.h:5297
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:7387
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:5887
unsigned short m_mask
internal use
Definition: BOpcodeHandler.h:4209
float m_radius
Definition: BOpcodeHandler.h:6472
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:5039
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:6941
float GetIndex() const
Definition: BOpcodeHandler.h:1895
char * m_name
Definition: BOpcodeHandler.h:7557
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:5841
int m_loops
Definition: BOpcodeHandler.h:7783
void SetImage(int length)
Definition: BOpcodeHandler.h:7285
short color_edge_value
For internal use only.
Definition: BOpcodeHandler.h:1064
void SetEncoding(int e)
Definition: BOpcodeHandler.h:7032
Handles the TKE_Close_Segment opcode.
Definition: BOpcodeHandler.h:1228
Handles the TKE_Geometry_Options opcode.
Definition: BOpcodeHandler.h:4207
int m_up
internal use; specifies what geometry is selectable on mouse button up. For internal use only...
Definition: BOpcodeHandler.h:4371
int m_debug_allocated
Definition: BOpcodeHandler.h:70
int GetColorLineContrastForcedLockMask() const
Definition: BOpcodeHandler.h:3445
void SetDEnd(double const e[])
Definition: BOpcodeHandler.h:6220
TK_Unavailable(char opcode)
Definition: BOpcodeHandler.h:857
void SetOptions(char const *options)
Definition: BOpcodeHandler.h:4781
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:8084
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:1622
void SetSelectionCulling(int c)
Definition: BOpcodeHandler.h:4098
void SetAxis(float x, float y, float z)
Definition: BOpcodeHandler.h:6390
float m_max_distance
internal use; max distance
Definition: BOpcodeHandler.h:4030
void SetDPoints(double const s[], double const m[], double const e[], double const c[]=0)
Definition: BOpcodeHandler.h:6234
int GetLodAlgorithm() const
Definition: BOpcodeHandler.h:3624
channel m_transmission
internal use
Definition: BOpcodeHandler.h:1737
Handles the TKE_Cylinder opcode.
Definition: BOpcodeHandler.h:6469
void SetCenter(float const s[])
Definition: BOpcodeHandler.h:6281
float m_radius
Definition: BOpcodeHandler.h:6352
void Reset(void)
Definition: BOpcodeHandler.h:5505
Handles the TKE_Color_By_Value opcode.
Definition: BOpcodeHandler.h:1957
unsigned char m_flags
Definition: BOpcodeHandler.h:6350
int GetValue(int index=0) const
Definition: BOpcodeHandler.h:2664
int GetOptions() const
Definition: BOpcodeHandler.h:7768
char * m_string
internal use
Definition: BOpcodeHandler.h:2124
TK_Sphere()
Definition: BOpcodeHandler.h:6362
double * GetDRadii()
Definition: BOpcodeHandler.h:6640
float const * GetEnd() const
Definition: BOpcodeHandler.h:6503
////
Definition: BOpcodeEnums.h:51
double * m_dpoints
Definition: BOpcodeHandler.h:7787
void SetShadowMapResolution(int m)
Definition: BOpcodeHandler.h:3890
double * GetDOrigin()
Definition: BOpcodeHandler.h:6748
void SetInner(float i)
Definition: BOpcodeHandler.h:6042
unsigned char m_region_count
Definition: BOpcodeHandler.h:6829
virtual bool NeedsContext(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:226
TK_Conditional_Action()
Definition: BOpcodeHandler.h:4713
void SetDPlane(double a, double b, double c, double d)
Definition: BOpcodeHandler.h:6095
void Revisit(BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
Definition: BOpcodeHandler.h:665
int GetRedMapping() const
Definition: BOpcodeHandler.h:7327
options mask (unsigned char if file version is < 1805)
Definition: BOpcodeEnums.h:1432
void SetColorBackForcedLockMask(int m)
Definition: BOpcodeHandler.h:3371
int GetDefinitionSize() const
Definition: BOpcodeHandler.h:7491
double GetDRadius() const
Definition: BOpcodeHandler.h:6425
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:7564
float GetNormalFactor() const
Definition: BOpcodeHandler.h:2317
double * m_dpoints
internal use
Definition: BOpcodeHandler.h:5924
int GetColorMarkerForcedLockValue() const
Definition: BOpcodeHandler.h:3272
TK_Thumbnail()
Definition: BOpcodeHandler.h:7408
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:5487
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:6191
void SetLookup(int length)
Definition: BOpcodeHandler.h:7025
void SetChannels(int c)
Definition: BOpcodeHandler.h:1787
near limit setting
Definition: BOpcodeEnums.h:1157
float m_end_u
Definition: BOpcodeHandler.h:5765
char const * GetLoggingString() const
Definition: BOpcodeHandler.h:243
void SetName(int length)
Definition: BOpcodeHandler.h:7016
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6008
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:5758
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:6167
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6887
double * GetDPoints()
Definition: BOpcodeHandler.h:5878
int m_cond_allocated
Definition: BOpcodeHandler.h:1385
int GetInternalSelectionLimit() const
Definition: BOpcodeHandler.h:4076
char * m_name
Definition: BOpcodeHandler.h:7211
char m_green_mapping
Definition: BOpcodeHandler.h:7226
char * GetSegment()
Definition: BOpcodeHandler.h:1340
char * GetString()
Definition: BOpcodeHandler.h:8070
unsigned char m_encoding
Definition: BOpcodeHandler.h:6966
Handles the TKE_Comment opcode.
Definition: BOpcodeHandler.h:938
void SetSegment(char const *segment)
Definition: BOpcodeHandler.h:1197
int GetAlphaMapping() const
Definition: BOpcodeHandler.h:7342
TK_Bounding(unsigned char opcode, double min[], double max[])
Definition: BOpcodeHandler.h:5452
Definition: BOpcodeHandler.h:4593
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:5210
void SetOrtho(float const s[])
Definition: BOpcodeHandler.h:6407
int m_from_variant
internal use
Definition: BOpcodeHandler.h:1452
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7661
int m_mask
specifies which rendering options are active (and hence, which are valid). For internal use only...
Definition: BOpcodeHandler.h:5191
void SetTarget(float const t[])
Definition: BOpcodeHandler.h:6024
virtual void Reset()
int m_mask
internal use; specifies which selectability settings are active (and hence, which are valid)...
Definition: BOpcodeHandler.h:4369
float GetVectorTolerance() const
Definition: BOpcodeHandler.h:4136
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:7269
TK_Delete_Object()
Definition: BOpcodeHandler.h:1483
TK_Cutting_Plane()
Definition: BOpcodeHandler.h:6072
void SetCallback(int length)
Definition: BOpcodeHandler.h:2430
void SetMaximumExtentMode(int c)
Definition: BOpcodeHandler.h:4116
int GetGeometry() const
Definition: BOpcodeHandler.h:4401
int m_hard_extent
internal use; hard extent
Definition: BOpcodeHandler.h:4026
static TK_Status PutData(BStreamFileToolkit &tk, char const &c)
Definition: BOpcodeHandler.h:449
void SetMoveDown(int m)
Definition: BOpcodeHandler.h:4429
void SetAxis(float const a[])
Definition: BOpcodeHandler.h:6497
void SetValue(float const triple[])
Definition: BOpcodeHandler.h:2005
int m_style_length
for internal use only
Definition: BOpcodeHandler.h:5208
wchar_t * m_string
Definition: BOpcodeHandler.h:8085
int m_internal_polyline
internal use
Definition: BOpcodeHandler.h:4016
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:6746
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:6434
TK_Circle(unsigned char opcode)
Definition: BOpcodeHandler.h:6138
void SetOrderedWeight(int index, float weight)
Definition: BOpcodeHandler.h:4164
int m_flags
Definition: BOpcodeHandler.h:7219
float const * GetTransmission() const
Definition: BOpcodeHandler.h:1849
char m_orientation_count
internal use
Definition: BOpcodeHandler.h:4212
int const * GetLengths() const
Definition: BOpcodeHandler.h:7832
void SetCutVisualizationMask(int m)
Definition: BOpcodeHandler.h:4276
static TK_Status GetData(BStreamFileToolkit &tk, float &f)
Definition: BOpcodeHandler.h:322
char m_layout
Definition: BOpcodeHandler.h:7230
static int flip(int i)
for internal use only
Definition: BOpcodeHandler.h:509
float GetInner() const
Definition: BOpcodeHandler.h:6044
char const * GetName() const
Definition: BOpcodeHandler.h:7533
char * GetXML()
Definition: BOpcodeHandler.h:7989
int m_leader_count
Definition: BOpcodeHandler.h:6834
char const * GetEmissiveMap() const
Definition: BOpcodeHandler.h:2268
Handles the TKE_Selectability opcode.
Definition: BOpcodeHandler.h:4367
float * m_points
Definition: BOpcodeHandler.h:5606
void SetTransparentHSR(int t)
Definition: BOpcodeHandler.h:2672
Definition: BOpcodeEnums.h:378
int const * GetSize() const
Definition: BOpcodeHandler.h:7439
char const * GetName() const
Definition: BOpcodeHandler.h:7484
void SetSimpleReflectionVisibilityMask(int m)
Definition: BOpcodeHandler.h:3923
int GetCutGeometryUsage() const
Definition: BOpcodeHandler.h:3796
int GetRendererCutoffUnits() const
Definition: BOpcodeHandler.h:5375
int GetOptions() const
Definition: BOpcodeHandler.h:5721
unsigned char m_format
Definition: BOpcodeHandler.h:7404
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:6613
int m_count
Definition: BOpcodeHandler.h:6840
int m_count
Definition: BOpcodeHandler.h:5757
int GetColorWindowForcedLockValue() const
Definition: BOpcodeHandler.h:3318
void SetInternalShellSelectionLimit(int i)
Definition: BOpcodeHandler.h:4079
float GetRoughnessFactor() const
Definition: BOpcodeHandler.h:2327
float const * GetPosition() const
Definition: BOpcodeHandler.h:6010
Handles the TKE_Glyph_Definition opcode.
Definition: BOpcodeHandler.h:7456
static void fix(int *i, int n)
for internal use only
Definition: BOpcodeHandler.h:534
int m_size
Definition: BOpcodeHandler.h:7959
void SetColorVertexContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3497
float const * GetEmission() const
Definition: BOpcodeHandler.h:1864
void SetView(char const *name)
Definition: BOpcodeHandler.h:5123
int m_edge_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2613
int m_knot_count_implicit
Definition: BOpcodeHandler.h:5668
int m_progress
Tracks the amount of data that has been read/written so far.
Definition: BOpcodeHandler.h:64
self-explanatory
Definition: BOpcodeEnums.h:1274
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:5019
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:6823
void SetIndex(float val)
Definition: BOpcodeHandler.h:2105
float const * GetPoints() const
Definition: BOpcodeHandler.h:7746
unsigned char mask
internal use
Definition: BOpcodeHandler.h:4218
unsigned char m_bytes_format
Definition: BOpcodeHandler.h:7092
void SetCylinderTessellation(int n)
Definition: BOpcodeHandler.h:3728
void SetRef2(float x, float y, float z)
Definition: BOpcodeHandler.h:6728
Handles the TKE_Dictionary_Locater opcode.
Definition: BOpcodeHandler.h:1671
void SetEnd(float const e[])
Definition: BOpcodeHandler.h:6171
char m_num_sphere
For internal use only.
Definition: BOpcodeHandler.h:2556
char m_options
Definition: BOpcodeHandler.h:7782
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:6419
float * m_u_knots
Definition: BOpcodeHandler.h:5844
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:7401
char const * GetName() const
Definition: BOpcodeHandler.h:7147
double const * GetDPoints() const
Definition: BOpcodeHandler.h:7756
int m_count
Definition: BOpcodeHandler.h:6563
void SetIndex(int i)
Definition: BOpcodeHandler.h:1272
void SetOrderedWeightsMask(int c)
Definition: BOpcodeHandler.h:4159
int GetFaceDisplacement() const
Definition: BOpcodeHandler.h:2699
unsigned int m_options
Definition: BOpcodeHandler.h:7090
char const * GetDefinition() const
Definition: BOpcodeHandler.h:7493
int GetCutVisualizationMode() const
Definition: BOpcodeHandler.h:4283
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6311
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:7172
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:7310
extended bit
Definition: BOpcodeEnums.h:1472
void SetValue(int v)
Definition: BOpcodeHandler.h:4064
char * m_image
Definition: BOpcodeHandler.h:7213
unsigned char m_transforms
for internal use only
Definition: BOpcodeHandler.h:5219
Handles the TKE_Line_Style opcode.
Definition: BOpcodeHandler.h:7624
char m_options
Definition: BOpcodeHandler.h:7676
int m_curve_budget
For internal use only.
Definition: BOpcodeHandler.h:2538
float * GetRef2()
Definition: BOpcodeHandler.h:6736
double const * GetDAxis() const
Definition: BOpcodeHandler.h:6436
bool m_is_valid
internal use
Definition: BOpcodeHandler.h:5434
void SetAlphaFactor(float f)
Definition: BOpcodeHandler.h:2335
int m_name_length
Definition: BOpcodeHandler.h:7556
int GetLength()
Definition: BOpcodeHandler.h:4828
float m_value
for internal use only.
Definition: BOpcodeHandler.h:4536
float const * GetOrtho() const
Definition: BOpcodeHandler.h:6409
char * m_name
internal use: name
Definition: BOpcodeHandler.h:4596
void SetCaps(int f)
Definition: BOpcodeHandler.h:6652
void SetLodOptionsMask(int v)
Definition: BOpcodeHandler.h:3614
int GetIndex() const
Definition: BOpcodeHandler.h:2058
void SetPreferenceCutoff(float s)
Definition: BOpcodeHandler.h:5389
void SetNames(int length)
Definition: BOpcodeHandler.h:5262
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:4840
int GetColorTextContrastLockValue() const
Definition: BOpcodeHandler.h:3122
char * m_transform
Definition: BOpcodeHandler.h:7234
char * m_name
Definition: BOpcodeHandler.h:4988
int GetVersion() const
Definition: BStreamFileToolkit.h:973
void SetOblique(float const o[])
Definition: BOpcodeHandler.h:5101
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7179
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:5582
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:7225
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:7161
int m_segment_length
Definition: BOpcodeHandler.h:7559
static TK_Status PutData(BStreamFileToolkit &tk, float const &f)
Definition: BOpcodeHandler.h:467
Handles the TKE_Texture opcode.
Definition: BOpcodeHandler.h:7209
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:7811
TK_Status WriteAscii(BStreamFileToolkit &tk)
Deprecated.
unsigned char m_options
Definition: BOpcodeHandler.h:5761
Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes.
Definition: BOpcodeHandler.h:1287
TK_Clip_Region()
Definition: BOpcodeHandler.h:7727
int GetValue() const
Definition: BOpcodeHandler.h:4355
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:4987
void SetFogLimits(float const l[])
Definition: BOpcodeHandler.h:2719
int GetOptions() const
Definition: BOpcodeHandler.h:7846
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:4922
int GetLockValue() const
Definition: BOpcodeHandler.h:2732
void SetRef1(float x, float y, float z)
Definition: BOpcodeHandler.h:6717
TK_Close_Segment()
Definition: BOpcodeHandler.h:1231
char * GetCutGeometryEdgePattern()
Definition: BOpcodeHandler.h:3820
TK_Unicode_Options()
Definition: BOpcodeHandler.h:4807
self-explanatory
Definition: BOpcodeEnums.h:1441
int GetColorFaceContrastLockMask() const
Definition: BOpcodeHandler.h:2927
void SetSelectionBias(int c)
Definition: BOpcodeHandler.h:4102
float const * GetAxis() const
Definition: BOpcodeHandler.h:6499
short color_edge_mask
For internal use only.
Definition: BOpcodeHandler.h:1063
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4392
HT_NURBS_Trim * GetNext(void)
Definition: BOpcodeHandler.h:5797
int GetUp() const
Definition: BOpcodeHandler.h:4423
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:4597
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:6512
float m_gloss
internal use
Definition: BOpcodeHandler.h:1741
Handles the TKE_LOD opcode.
Definition: BOpcodeHandler.h:1506
void ** GetValues() const
Definition: BOpcodeHandler.h:4928
void SetColorFaceContrastLockMask(int m)
Definition: BOpcodeHandler.h:2922
unsigned char m_layout
for internal use only
Definition: BOpcodeHandler.h:5222
short color_edge_contrast_value
For internal use only.
Definition: BOpcodeHandler.h:1082
float * GetPoints()
Definition: BOpcodeHandler.h:7748
void SetString(char const *string)
Definition: BOpcodeHandler.h:6863
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:6884
TK_Bounding(unsigned char opcode, float min[], float max[])
Definition: BOpcodeHandler.h:5440
void SetOptions(int o)
Definition: BOpcodeHandler.h:6052
void SetWindow(int n, float const w[])
Definition: BOpcodeHandler.h:5166
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:6981
float m_simple_reflection_yon
For internal use only.
Definition: BOpcodeHandler.h:2592
void GetDPosition(double p[]) const
Definition: BOpcodeHandler.h:5033
char * GetEnvironmentName()
Definition: BOpcodeHandler.h:1877
float * GetPoints()
Definition: BOpcodeHandler.h:5634
Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces...
Definition: BOpcodeHandler.h:5750
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:5399
float * GetPoints()
Definition: BOpcodeHandler.h:5953
TK_Conditions()
Definition: BOpcodeHandler.h:4672
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:5046
void SetNURBSOptionsMask(int m)
Definition: BOpcodeHandler.h:3584
int GetGreenMapping() const
Definition: BOpcodeHandler.h:7332
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:6290
int GetDebug() const
Definition: BOpcodeHandler.h:2694
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5876
float * m_knots
Definition: BOpcodeHandler.h:5763
unsigned short m_mask_transform
For internal use only.
Definition: BOpcodeHandler.h:2600
double * m_dcontrol_points
Definition: BOpcodeHandler.h:5842
void SetOrtho(float x, float y, float z)
Definition: BOpcodeHandler.h:6401
void SetDTarget(double const t[])
Definition: BOpcodeHandler.h:6032
unsigned char const * GetUserData() const
Definition: BOpcodeHandler.h:7900
int GetParameterSource() const
Definition: BOpcodeHandler.h:7312
int GetNURBSSurfaceTrimBudget() const
Definition: BOpcodeHandler.h:3610
TK_Color_By_Value()
Definition: BOpcodeHandler.h:1965
void SetEnd(float e)
Definition: BOpcodeHandler.h:5717
ID_Key m_this_key
for internal use only
Definition: BOpcodeHandler.h:1388
double const * GetTextRegionDPoints() const
Definition: BOpcodeHandler.h:6905
Handles the TKE_Callback opcode.
Definition: BOpcodeHandler.h:2403
void SetDRadius(double radius)
Definition: BOpcodeHandler.h:6636
int GetColorEdgeContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3433
void SetMiddle(float const m[])
Definition: BOpcodeHandler.h:6163
char const * GetSegment() const
Definition: BOpcodeHandler.h:7610
char * GetName()
Definition: BOpcodeHandler.h:7654
void SetCulling(int c)
Definition: BOpcodeHandler.h:4094
float * m_data
Definition: BOpcodeHandler.h:7510
TK_File_Info()
Definition: BOpcodeHandler.h:907
unsigned char m_space_units
for internal use only
Definition: BOpcodeHandler.h:5216
char * m_name
Definition: BOpcodeHandler.h:7460
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:5847
unsigned char m_region_options
Definition: BOpcodeHandler.h:6827
self-explanatory
Definition: BOpcodeEnums.h:272
HLONG GetValue() const
Definition: BOpcodeHandler.h:4966
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:5156
float m_stereo_separation
For internal use only.
Definition: BOpcodeHandler.h:2550
int m_name_length
internal use: length of name
Definition: BOpcodeHandler.h:4595
double m_dradius
Definition: BOpcodeHandler.h:6356
int m_debug
For internal use only.
Definition: BOpcodeHandler.h:2471
float m_extra_space
for internal use only
Definition: BOpcodeHandler.h:5200
void SetLookup(char const *string)
Definition: BOpcodeHandler.h:7023
double * GetDPoints()
Definition: BOpcodeHandler.h:5642
void SetIndices(int count)
Definition: BOpcodeHandler.h:4916
void SetOptions(int o)
Definition: BOpcodeHandler.h:7844
void SetMinor(float x, float y, float z)
Definition: BOpcodeHandler.h:6295
bool Tagging(BStreamFileToolkit &tk) const
Definition: BOpcodeHandler.h:186
int GetGreekingLimitUnits() const
Definition: BOpcodeHandler.h:5349
void SetMaskTransform(int m)
Definition: BOpcodeHandler.h:3773
void SetCutGeometryUsage(int u)
Definition: BOpcodeHandler.h:3794
void SetOptions(int o)
Definition: BOpcodeHandler.h:5720
int GetColorVertexContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3502
float * GetWeights()
Definition: BOpcodeHandler.h:5711
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:6049
double const * GetDPlane() const
Definition: BOpcodeHandler.h:6107
char const * GetEmissionName() const
Definition: BOpcodeHandler.h:1866
char * GetDiffuseName()
Definition: BOpcodeHandler.h:1808
void SetStart(float s)
Definition: BOpcodeHandler.h:5715
int GetSpace() const
Definition: BOpcodeHandler.h:1998
TK_Character_Attribute * m_character_attributes
Definition: BOpcodeHandler.h:6841
bump map
Definition: BOpcodeEnums.h:276
TK_Reopen_Segment()
Definition: BOpcodeHandler.h:1262
int GetMaximumExtentLevel() const
Definition: BOpcodeHandler.h:4118
void SetAlphaMapping(int p)
Definition: BOpcodeHandler.h:7340
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:5932
int const * GetStringCursors() const
Definition: BOpcodeHandler.h:6917
int m_simple_reflection_visibility_mask
For internal use only.
Definition: BOpcodeHandler.h:2593
TK_Cylinder()
Definition: BOpcodeHandler.h:6479
Handles the TKE_Geometry_Attributes opcode.
Definition: BOpcodeHandler.h:1552
int m_length
Definition: BOpcodeHandler.h:8083
unsigned char m_optionals
Definition: BOpcodeHandler.h:5665
int m_gooch_color_map_segment_length
Definition: BOpcodeHandler.h:2562
format mask
Definition: BOpcodeEnums.h:1424
Handles the TKE_Sphere opcode.
Definition: BOpcodeHandler.h:6348
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:7215
void SetRef2(float const r[])
Definition: BOpcodeHandler.h:6732
void SetOptions(int o)
Definition: BOpcodeHandler.h:7766
TK_User_Index()
Definition: BOpcodeHandler.h:4849
float GetPreferenceCutoff() const
Definition: BOpcodeHandler.h:5391
unsigned char m_renderer_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5220
int GetCaps() const
Definition: BOpcodeHandler.h:6536
short m_options
Definition: BOpcodeHandler.h:4707
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4838
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:5706
void SetExtraSpaceUnits(int u)
Definition: BOpcodeHandler.h:5327
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:7169
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:304
void SetGreekingMode(int m)
Definition: BOpcodeHandler.h:5352
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:4100
//// Default reader provided for "W3D Image XRef"
Definition: BOpcodeEnums.h:157
int m_data_size
Definition: BOpcodeHandler.h:7086
unsigned char vertical_offset_units
specified with enum TKO_Font_Size_Units
Definition: BOpcodeHandler.h:6806
int m_name_length
Definition: BOpcodeHandler.h:8125
int GetColorMarkerForcedLockMask() const
Definition: BOpcodeHandler.h:3261
void SetColorMarkerContrastLockValue(int v)
Definition: BOpcodeHandler.h:3071
int GetTextRegionCount() const
Definition: BOpcodeHandler.h:6901
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:4488
unsigned char m_options
Definition: BOpcodeHandler.h:6826
Definition: BOpcodeHandler.h:829
wchar_t const * GetString() const
Definition: BOpcodeHandler.h:8107
char * m_condition
Definition: BOpcodeHandler.h:1294
Handles the TKE_Image opcode.
Definition: BOpcodeHandler.h:7078
int GetCoordinateSystemCount() const
Definition: BOpcodeHandler.h:4269
char * m_name
internal use: name
Definition: BOpcodeHandler.h:2368
void SetPlane(float const p[])
Definition: BOpcodeHandler.h:6100
void SetInternalPolylineSelectionLimit(int i)
Definition: BOpcodeHandler.h:4084
float * GetPoints()
Definition: BOpcodeHandler.h:7813
Handles the TKE_Font opcode.
Definition: BOpcodeHandler.h:6957
int GetAntiAlias() const
Definition: BOpcodeHandler.h:3991
virtual TK_Status Read(BStreamFileToolkit &tk)=0
int GetRenderer() const
Definition: BOpcodeHandler.h:5360
void SetName(char const *string)
Definition: BOpcodeHandler.h:8146
int GetColorEdgeContrastLockMask() const
Definition: BOpcodeHandler.h:3019
Handles the TKE_Unicode_Options opcode.
Definition: BOpcodeHandler.h:4800
int * GetIndices()
Definition: BOpcodeHandler.h:4872
void SetView(int length)
Definition: BOpcodeHandler.h:5125
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:6932
float m_inner
for internal use only
Definition: BOpcodeHandler.h:5988
TK_Status Read(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1102
float * m_weights
Definition: BOpcodeHandler.h:5671
void SetCenter(float const c[])
Definition: BOpcodeHandler.h:6180
void SetCutGeometryColorMatch(int m)
Definition: BOpcodeHandler.h:3789
void SetPoints(int count, float const points[]=0)
Definition: BOpcodeHandler.h:5949
void SetDCenter(double const s[])
Definition: BOpcodeHandler.h:6417
void SetDTarget(double x, double y, double z)
Definition: BOpcodeHandler.h:6029
float const * GetCenter() const
Definition: BOpcodeHandler.h:6197
void SetProjection(int p)
Definition: BOpcodeHandler.h:5117
Handles the TKE_File_Info opcode.
Definition: BOpcodeHandler.h:900
float const * GetRef2() const
Definition: BOpcodeHandler.h:6734
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:5674
int GetColorVertexForcedLockValue() const
Definition: BOpcodeHandler.h:3410
Handles the TKE_Color opcode.
Definition: BOpcodeHandler.h:1712
double * GetDPoints()
Definition: BOpcodeHandler.h:5963
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:5192
double const * GetDField() const
Definition: BOpcodeHandler.h:5089
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:7224
void SetTessellationMask(int m)
Definition: BOpcodeHandler.h:3724
int GetDisplayListLevel() const
Definition: BOpcodeHandler.h:3826
void SetFormat(int f)
Definition: BOpcodeHandler.h:7442
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:6127
int GetLodOptionsValue() const
Definition: BOpcodeHandler.h:3620
double GetDRadius() const
Definition: BOpcodeHandler.h:6530
int * GetIndices()
Definition: BOpcodeHandler.h:4925
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:5312
void SetViewVolume(float const v[])
Definition: BOpcodeHandler.h:4156
void SetVectorTolerance(float tol)
Definition: BOpcodeHandler.h:4138
void SetVisibilityForcedLockMask(int m)
Definition: BOpcodeHandler.h:3141
char * GetName()
Definition: BOpcodeHandler.h:7149
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:5610
double * m_dleaders
Definition: BOpcodeHandler.h:6838
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:6016
short color_face_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1073
Definition: BStream.h:278
float GetRendererCutoff() const
Definition: BOpcodeHandler.h:5370
char const * GetCylinderTessellations() const
Definition: BOpcodeHandler.h:3741
double const * GetDMatrix() const
Definition: BOpcodeHandler.h:4496
float const * GetEndNormal(int index) const
Definition: BOpcodeHandler.h:6669
TK_Bounding(unsigned char opcode)
Definition: BOpcodeHandler.h:5437
int GetColorFaceForcedLockMask() const
Definition: BOpcodeHandler.h:3192
int GetColorMarkerContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3479
float GetRotation() const
Definition: BOpcodeHandler.h:5309
float const * GetPosition() const
Definition: BOpcodeHandler.h:5021
void SetBaseColorFactor(float const rgba[])
Definition: BOpcodeHandler.h:2309
int GetSimpleReflection() const
Definition: BOpcodeHandler.h:3903
int GetSize() const
Definition: BOpcodeHandler.h:7904
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:4566
float * GetPoints()
Definition: BOpcodeHandler.h:5806
float m_rotation
for internal use only
Definition: BOpcodeHandler.h:5197
char * GetNames()
Definition: BOpcodeHandler.h:5266
unsigned char m_greeking_units
for internal use only
Definition: BOpcodeHandler.h:5217
float const * GetLodBounding() const
Definition: BOpcodeHandler.h:3662
TK_Size(unsigned char opcode)
Definition: BOpcodeHandler.h:4541
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:4911
TK_XML()
Definition: BOpcodeHandler.h:7964
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:5257
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:8003
Handles the TKE_Area_Light opcode.
Definition: BOpcodeHandler.h:5920
void SetOrigin(float const o[])
Definition: BOpcodeHandler.h:6710
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:7280
void SetNURBSSurfaceTrimBudget(int b)
Definition: BOpcodeHandler.h:3608
unsigned char * GetDTextLeaderFlags()
Definition: BOpcodeHandler.h:6945
Handles the TKE_Cutting_Plane opcode.
Definition: BOpcodeHandler.h:6064
char const * GetComment() const
Definition: BOpcodeHandler.h:987
int GetCount() const
Definition: BOpcodeHandler.h:4868
float * GetUKnots()
Definition: BOpcodeHandler.h:5895
void SetSelectionLevel(int l)
Definition: BOpcodeHandler.h:4176
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:6054
int GetColorFaceForcedLockValue() const
Definition: BOpcodeHandler.h:3203
void SetDPosition(double const p[])
Definition: BOpcodeHandler.h:5029
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:7267
TK_Callback()
Definition: BOpcodeHandler.h:2415
TK_Complex_Clip_Region()
Definition: BOpcodeHandler.h:7791
void GetTarget(float t[]) const
Definition: BOpcodeHandler.h:5043
void SetBlueMapping(int p)
Definition: BOpcodeHandler.h:7335
char const * GetNames() const
Definition: BOpcodeHandler.h:5264
Handles the TKE_Named_Style_Def opcode.
Definition: BOpcodeHandler.h:7554
double * GetDRef1()
Definition: BOpcodeHandler.h:6759
double const * GetDPosition() const
Definition: BOpcodeHandler.h:6018
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:6907
float m_greeking_limit
for internal use only
Definition: BOpcodeHandler.h:5202
//– 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:5078
void SetBytes(int size, char const *bytes=0, unsigned char data_format=TKO_Compression_None)
Definition: BOpcodeHandler.h:7134
void SetIndex(float i)
Definition: BOpcodeHandler.h:1893
char * GetConditions()
Definition: BOpcodeHandler.h:4691
void SetMatrix(float const m[])
Definition: BOpcodeHandler.h:4484
self-explanatory
Definition: BOpcodeEnums.h:1155
float GetEnd() const
Definition: BOpcodeHandler.h:5718
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:6798
Handles the TKE_Complex_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7780
void SetShadowMapSamples(int m)
Definition: BOpcodeHandler.h:3895
void SetOptions(int o)
Definition: BOpcodeHandler.h:5529
char * m_string
Definition: BOpcodeHandler.h:8046
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:7320
int GetSimpleShadowBlur() const
Definition: BOpcodeHandler.h:3840
void SetName(int length)
Definition: BOpcodeHandler.h:7145
int GetCount() const
Definition: BOpcodeHandler.h:5966
void SetName(char const *string)
Definition: BOpcodeHandler.h:7014
void SetCutVisualizationAlpha(float a)
Definition: BOpcodeHandler.h:4295
unsigned char m_preference_cutoff_units
for internal use only
Definition: BOpcodeHandler.h:5221
int GetColorTextLockValue() const
Definition: BOpcodeHandler.h:2892
TK_User_Options()
Definition: BOpcodeHandler.h:4767
unsigned char m_region_fit
Definition: BOpcodeHandler.h:6828
double * m_dpoints
Definition: BOpcodeHandler.h:5607
int m_selection_culling
internal use; selection culling options
Definition: BOpcodeHandler.h:4020
float m_line_spacing
for internal use only
Definition: BOpcodeHandler.h:5201
TK_Color_By_FIndex()
Definition: BOpcodeHandler.h:2074
char * GetName()
Definition: BOpcodeHandler.h:7595
int m_coordinate_system_count
internal use
Definition: BOpcodeHandler.h:4214
int GetHardExtent() const
Definition: BOpcodeHandler.h:4124
float rotation
the angle (in degrees) that text is rotated
Definition: BOpcodeHandler.h:6799
void SetField(float w, float h)
Definition: BOpcodeHandler.h:5076
int m_down
internal use; specifies what geometry is selectable on mouse button down. For internal use only...
Definition: BOpcodeHandler.h:4370
unsigned short * GetOptions()
Definition: BOpcodeHandler.h:4826
char * GetCallback()
Definition: BOpcodeHandler.h:2434
int GetOptions() const
Definition: BOpcodeHandler.h:7705
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6876
float GetStart() const
Definition: BOpcodeHandler.h:5716
void SetHardExtent(int c)
Definition: BOpcodeHandler.h:4122
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:5994
void SetImageTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3976
int GetColorWindowForcedLockMask() const
Definition: BOpcodeHandler.h:3307
void SetOuter(float o)
Definition: BOpcodeHandler.h:6037
void SetSize(int size)
Definition: BOpcodeHandler.h:1693
float GetLineSpacing() const
Definition: BOpcodeHandler.h:5334
void SetVector(float x, float y, float z)
Definition: BOpcodeHandler.h:4128
float m_compression_quality
Definition: BOpcodeHandler.h:7096
void SetPosition(float const p[])
Definition: BOpcodeHandler.h:6879
short color_face_mask
For internal use only.
Definition: BOpcodeHandler.h:1061
void SetParameterFunction(int p)
Definition: BOpcodeHandler.h:7345
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:5056
int m_camera_length
Definition: BOpcodeHandler.h:7218
int m_to_variant
internal use
Definition: BOpcodeHandler.h:1454
Handles the TKE_XML opcode.
Definition: BOpcodeHandler.h:7957
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:7080
Handles the TKE_External_Reference opcodes.
Definition: BOpcodeHandler.h:8042
Definition: BOpcodeHandler.h:4507
TK_Material()
Definition: BOpcodeHandler.h:7939
int m_allocated
Definition: BOpcodeHandler.h:5605
TK_Bounding(unsigned char opcode, float center[], float radius)
Definition: BOpcodeHandler.h:5446
unsigned short m_simple_shadow
For internal use only.
Definition: BOpcodeHandler.h:2575
void SetFlags(int f)
Definition: BOpcodeHandler.h:7301
int GetColorTextContrastLockMask() const
Definition: BOpcodeHandler.h:3111
void SetGeometry(int m)
Definition: BOpcodeHandler.h:1925
char * GetName()
Definition: BOpcodeHandler.h:7271
float const * GetOrientation() const
Definition: BOpcodeHandler.h:4259
void SetColorForcedLockValue(int v)
Definition: BOpcodeHandler.h:3175
float GetRadius() const
Definition: BOpcodeHandler.h:6387
Handles the TKE_Repeat_Object opcode.
Definition: BOpcodeHandler.h:1449
double const * GetDPoint() const
Definition: BOpcodeHandler.h:5526
void SetCutGeometryTolerance(float m)
Definition: BOpcodeHandler.h:3799
void SetHSR(int h)
Definition: BOpcodeHandler.h:2667
int GetLength()
Definition: BOpcodeHandler.h:4693
void SetName(char const *string)
Definition: BOpcodeHandler.h:7143
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:5885
void SetLodCutoffs(int c, float const r[]=0)
Definition: BOpcodeHandler.h:3707
int m_count
Definition: BOpcodeHandler.h:5604
char * GetSphereTessellations()
Definition: BOpcodeHandler.h:3760
float GetStart() const
Definition: BOpcodeHandler.h:5810
void SetNext(HT_NURBS_Trim *next)
Definition: BOpcodeHandler.h:5783
for further expansion
Definition: BOpcodeEnums.h:1186
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:5663
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:4665
float m_surface_max_facet_width
For internal use only.
Definition: BOpcodeHandler.h:2545
char m_blue_mapping
Definition: BOpcodeHandler.h:7227
float * m_points
Definition: BOpcodeHandler.h:6564
void SetLodCutoff(float r)
Definition: BOpcodeHandler.h:3705
unsigned char m_optionals
Definition: BOpcodeHandler.h:5838
int GetExtraSpaceUnits() const
Definition: BOpcodeHandler.h:5329
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:4315
void SetUserData(int size, unsigned char const *bytes=0)
Definition: BOpcodeHandler.h:7898
void SetNames(char const *names)
Definition: BOpcodeHandler.h:5260
void SetDPoints(double x1, double y1, double z1, double x2, double y2, double z2)
Definition: BOpcodeHandler.h:5577
char * m_names
for internal use only
Definition: BOpcodeHandler.h:5194
void SetList(HT_NURBS_Trim *node)
Definition: BOpcodeHandler.h:5782
char const * GetImage() const
Definition: BOpcodeHandler.h:7287
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:4246
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:7540
float GetLodTolerance() const
Definition: BOpcodeHandler.h:3644
int const * GetCounts() const
Definition: BOpcodeHandler.h:6778
////
Definition: BOpcodeEnums.h:150
int GetDegree() const
Definition: BOpcodeHandler.h:5708
int m_index
Definition: BOpcodeHandler.h:1383
int m_dleader_count
Definition: BOpcodeHandler.h:6837
float size
the size. Units are specified separately in size_units
Definition: BOpcodeHandler.h:6795
void SetHlrDimFactor(float d)
Definition: BOpcodeHandler.h:3566
float GetOuter() const
Definition: BOpcodeHandler.h:6039
TK_Enumerated(unsigned char opcode)
Definition: BOpcodeHandler.h:4513
unsigned char m_buffer_options_value
For internal use only.
Definition: BOpcodeHandler.h:2481
int * GetCounts()
Definition: BOpcodeHandler.h:6780
float m_hlr_threshold
for internal use only.
Definition: BOpcodeHandler.h:2492
float * GetRadii()
Definition: BOpcodeHandler.h:6617
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:6155
double const * GetDStart() const
Definition: BOpcodeHandler.h:6240
char m_alpha_mapping
Definition: BOpcodeHandler.h:7228
float const * GetCutVisualizationColor() const
Definition: BOpcodeHandler.h:4292
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:4104
static TK_Status PutData(BStreamFileToolkit &tk, unsigned short const *s, int n)
Definition: BOpcodeHandler.h:443
int GetMoveUp() const
Definition: BOpcodeHandler.h:4445
float const * GetTextLeaders() const
Definition: BOpcodeHandler.h:6926
float m_renderer_cutoff
for internal use only
Definition: BOpcodeHandler.h:5203
int GetCaps() const
Definition: BOpcodeHandler.h:6654
HT_NURBS_Trim const * GetList() const
Definition: BOpcodeHandler.h:5824
char * GetStyle()
Definition: BOpcodeHandler.h:5284
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:4314
void SetColorLineForcedLockValue(int v)
Definition: BOpcodeHandler.h:3244
char * m_comment
internal use
Definition: BOpcodeHandler.h:945
float * m_points
Definition: BOpcodeHandler.h:7720
double * m_dplanes
internal use
Definition: BOpcodeHandler.h:6067
float const * GetMiddle() const
Definition: BOpcodeHandler.h:6193
int GetColorLineContrastLockValue() const
Definition: BOpcodeHandler.h:3053
unsigned char m_greeking_mode
for internal use only
Definition: BOpcodeHandler.h:5218
void GetDTarget(double t[]) const
Definition: BOpcodeHandler.h:5053
static short flip(short s)
for internal use only
Definition: BOpcodeHandler.h:505
TK_Polypoint(unsigned char opcode)
Definition: BOpcodeHandler.h:5615
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:6506
int GetVDegree() const
Definition: BOpcodeHandler.h:5883
char const * GetBytes() const
Definition: BOpcodeHandler.h:7009
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:5379
int GetOptions() const
Definition: BOpcodeHandler.h:5176
int m_maximum_extent
internal use; maximum extent
Definition: BOpcodeHandler.h:4023
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:5713
int GetColorMarkerContrastLockMask() const
Definition: BOpcodeHandler.h:3065
float const * GetPosition() const
Definition: BOpcodeHandler.h:7166
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:4953
int m_cond_length
Definition: BOpcodeHandler.h:7562
void SetColorVertexLockMask(int m)
Definition: BOpcodeHandler.h:2991
char * GetCondition()
Definition: BOpcodeHandler.h:4732
int * GetSizes()
Definition: BOpcodeHandler.h:4937
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:4964
char * GetLookup()
Definition: BOpcodeHandler.h:7029
void SetColorEdgeForcedLockMask(int m)
Definition: BOpcodeHandler.h:3210
int m_count
Definition: BOpcodeHandler.h:7719
void SetLimits(float s, float e)
Definition: BOpcodeHandler.h:6332
void SetIndices(int count, int const indices[], POINTER_SIZED_INT const values[])
Definition: BOpcodeHandler.h:4863
unsigned char m_flags
Definition: BOpcodeHandler.h:6569
int GetColorBackForcedLockMask() const
Definition: BOpcodeHandler.h:3376
void GetUpVector(float u[]) const
Definition: BOpcodeHandler.h:5063
void SetDMiddle(double x, double y, double z)
Definition: BOpcodeHandler.h:6208
int GetMetalnessMapChannel() const
Definition: BOpcodeHandler.h:2343
void SetRelatedSelectionLimit(int r)
Definition: BOpcodeHandler.h:4069
TK_Geometry_Attributes()
Definition: BOpcodeHandler.h:1557
Handles the TKE_Clip_Rectangle opcode.
Definition: BOpcodeHandler.h:7674
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:7652
void SetMaximumExtent(int c)
Definition: BOpcodeHandler.h:4110
char const * GetShape() const
Definition: BOpcodeHandler.h:5273
unsigned char m_fallback
For internal use only.
Definition: BOpcodeHandler.h:2534
unsigned char m_compression
Definition: BOpcodeHandler.h:7091
Handles the TKE_Text_Font opcode.
Definition: BOpcodeHandler.h:5189
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:7762
double const * GetDUpVector() const
Definition: BOpcodeHandler.h:5071
void SetMajor(float x, float y, float z)
Definition: BOpcodeHandler.h:6286
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:4842
static TK_Status PutData(BStreamFileToolkit &tk, double const &d)
Definition: BOpcodeHandler.h:470
Handles the TKE_User_Index opcode.
Definition: BOpcodeHandler.h:4886
int m_size
Definition: BOpcodeHandler.h:7459
unsigned char * m_isoline_weights_unit
for internal use only.
Definition: BOpcodeHandler.h:2510
int GetCount() const
Definition: BOpcodeHandler.h:5709
double const * GetDTextLeaders() const
Definition: BOpcodeHandler.h:6939
int GetGeometry() const
Definition: BOpcodeHandler.h:4344
void SetCollectionPart(bool n)
Definition: BOpcodeHandler.h:203
float const * GetAxis() const
Definition: BOpcodeHandler.h:6398
int GetOptions() const
Definition: BOpcodeHandler.h:5971
void SetBytes(int size, char const *bytes=0)
Definition: BOpcodeHandler.h:7005
float * GetVKnots()
Definition: BOpcodeHandler.h:5899
BBaseOpcodeHandler(int op)
Definition: BOpcodeHandler.h:91
Definition: BOpcodeHandler.h:4534
int GetColorLineContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3456
float const * GetDepthRange() const
Definition: BOpcodeHandler.h:3933
void GetPosition(float p[]) const
Definition: BOpcodeHandler.h:5023
int m_name_length
Definition: BOpcodeHandler.h:7507
char * GetOcclusionMap()
Definition: BOpcodeHandler.h:2297
unsigned char * m_leader_flags
Definition: BOpcodeHandler.h:6836
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:5255
int GetStringCursorCount() const
Definition: BOpcodeHandler.h:6915
float const * GetWindow() const
Definition: BOpcodeHandler.h:5171
void SetOrientation(int count, float const o[])
Definition: BOpcodeHandler.h:4249
void reset_string(char *&s)
internal use
Definition: BOpcodeHandler.h:2213
char * GetRoughnessMap()
Definition: BOpcodeHandler.h:2288
char const * GetShaderSource() const
Definition: BOpcodeHandler.h:7278
void SetLayout(int p)
Definition: BOpcodeHandler.h:7350
char m_param_function
Definition: BOpcodeHandler.h:7229
char * m_definition
Definition: BOpcodeHandler.h:7629
int m_string_length
internal use
Definition: BOpcodeHandler.h:2123
int GetCount() const
Definition: BOpcodeHandler.h:5645
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:5710
int GetWhenInvisible() const
Definition: BOpcodeHandler.h:4456
HT_NURBS_Trim * GetTrims()
Definition: BOpcodeHandler.h:5909
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:277
void SetRotation(float r)
Definition: BOpcodeHandler.h:5307
//
Definition: BOpcodeEnums.h:144
float * m_weights
Definition: BOpcodeHandler.h:5843
int GetTextLeaderCount() const
Definition: BOpcodeHandler.h:6924
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:5483
int GetSize() const
Definition: BOpcodeHandler.h:7991
int GetColorFaceContrastLockValue() const
Definition: BOpcodeHandler.h:2938
TK_PolyCylinder()
Definition: BOpcodeHandler.h:6574
void SetRectangle(float left, float right, float bottom, float top)
Definition: BOpcodeHandler.h:7694
void SetUpVector(float const u[])
Definition: BOpcodeHandler.h:5059
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:7628
HLONG m_value
for internal use only
Definition: BOpcodeHandler.h:4949
char * GetCondition()
Definition: BOpcodeHandler.h:1361
double const * GetDRef1() const
Definition: BOpcodeHandler.h:6757
float const * GetVKnots() const
Definition: BOpcodeHandler.h:5897
float const * GetPoints() const
Definition: BOpcodeHandler.h:5632
unsigned char m_type
Definition: BOpcodeHandler.h:6965
void SetDMajor(double const m[])
Definition: BOpcodeHandler.h:6318
void SetScreenRange(float const l[])
Definition: BOpcodeHandler.h:3942
char * GetName()
Definition: BOpcodeHandler.h:4621
char * GetShape()
Definition: BOpcodeHandler.h:5275
int GetDecimation() const
Definition: BOpcodeHandler.h:7322
void SetImageScale(float x, float y)
Definition: BOpcodeHandler.h:3965
void SetStreaming(bool s)
Definition: BOpcodeHandler.h:4652
void SetSpace(int s)
Definition: BOpcodeHandler.h:1996
float GetCutVisualizationScale() const
Definition: BOpcodeHandler.h:4302
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:6385
int GetColorForcedLockMask() const
Definition: BOpcodeHandler.h:3169
HT_NURBS_Trim * m_next
Definition: BOpcodeHandler.h:5755
TK_Open_Segment()
Definition: BOpcodeHandler.h:1182
int GetColorEdgeContrastLockValue() const
Definition: BOpcodeHandler.h:3030
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5588
void SetLodOptionsValue(int v)
Definition: BOpcodeHandler.h:3618
int GetColorMarkerLockMask() const
Definition: BOpcodeHandler.h:2858
int GetTransforms() const
Definition: BOpcodeHandler.h:5339
void SetVector(float const v[])
Definition: BOpcodeHandler.h:4134
int GetTransparentHSR() const
Definition: BOpcodeHandler.h:2674
extended bits for common/shared items
Definition: BOpcodeEnums.h:178
BBaseOpcodeHandler * m_complex
Definition: BOpcodeHandler.h:7722
int GetPreferenceCutoffUnits() const
Definition: BOpcodeHandler.h:5396
Definition: BOpcodeHandler.h:1720
void SetMiddle(float x, float y, float z)
Definition: BOpcodeHandler.h:6159
short m_channels
internal use
Definition: BOpcodeHandler.h:1715
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7177
self-explanatory
Definition: BOpcodeEnums.h:1275
float m_hlr_transparency_cutoff
For internal use only.
Definition: BOpcodeHandler.h:2487
float m_preference_cutoff
for internal use only
Definition: BOpcodeHandler.h:5204
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:6336
char const * GetCamera() const
Definition: BOpcodeHandler.h:7296
float m_start
Definition: BOpcodeHandler.h:5673
void SetDOrigin(double const o[])
Definition: BOpcodeHandler.h:6744
TK_Ellipse(unsigned char opcode)
Definition: BOpcodeHandler.h:6266
TK_Heuristics()
Definition: BOpcodeHandler.h:4042
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:6185
char * GetString()
Definition: BOpcodeHandler.h:8031
void SetDStart(double x, double y, double z)
Definition: BOpcodeHandler.h:6200
void SetDiffuseTextureTintColor(float const rgb[])
Definition: BOpcodeHandler.h:3984
void SetEmissiveMap(int length)
Definition: BOpcodeHandler.h:2266
void ** GetValues()
Definition: BOpcodeHandler.h:4931
void SetEmission(float const rgb[])
Definition: BOpcodeHandler.h:1858
void SetOptions(int f)
Definition: BOpcodeHandler.h:7189
unsigned char * GetBytes()
Definition: BOpcodeHandler.h:7432
int GetFormat() const
Definition: BOpcodeHandler.h:7186
int GetMoveDown() const
Definition: BOpcodeHandler.h:4434
void SetMask(int m)
Definition: BOpcodeHandler.h:4055
void SetConcentration(float c)
Definition: BOpcodeHandler.h:6047
char m_param_source
Definition: BOpcodeHandler.h:7222
float const * GetKnots() const
Definition: BOpcodeHandler.h:5820
float GetCutGeometryEdgeWeight() const
Definition: BOpcodeHandler.h:3809
int GetEncoding() const
Definition: BOpcodeHandler.h:6894
int GetSizeUnits() const
Definition: BOpcodeHandler.h:5294
float * GetWeights()
Definition: BOpcodeHandler.h:5818
int m_buffer_size
Definition: BOpcodeHandler.h:7873
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:5319
int GetParameterFunction() const
Definition: BOpcodeHandler.h:7347
void SetPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:6091
char const * GetName() const
Definition: BOpcodeHandler.h:7018
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:7567
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:8152
void SetForceDefer(int l)
Definition: BOpcodeHandler.h:4186
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:4466
void SetWindow(float const w[], float const o[])
Definition: BOpcodeHandler.h:5163
void SetIndex(int i)
Definition: BOpcodeHandler.h:4523
void SetVertexDecimation(float f)
Definition: BOpcodeHandler.h:3994
int GetVisibilityForcedLockMask() const
Definition: BOpcodeHandler.h:3146
double const * GetDMinor() const
Definition: BOpcodeHandler.h:6329
void SetDiffuseName(int length)
Definition: BOpcodeHandler.h:1802
HLONG const * GetValues() const
Definition: BOpcodeHandler.h:4874
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:6021
void SetSphereTessellation(int n)
Definition: BOpcodeHandler.h:3745
void SetColorBackLockValue(int v)
Definition: BOpcodeHandler.h:2979
void SetAction(int at)
Definition: BOpcodeHandler.h:4737
int GetType() const
Definition: BOpcodeHandler.h:6999
float m_index
internal use
Definition: BOpcodeHandler.h:2070
char const * GetBytes() const
Definition: BOpcodeHandler.h:7138
void SetDAxis(double const s[], double const e[])
Definition: BOpcodeHandler.h:6517
char * GetSegment()
Definition: BOpcodeHandler.h:1213
void SetSize(int const s[])
Definition: BOpcodeHandler.h:7437
double const * GetDTarget() const
Definition: BOpcodeHandler.h:6034
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:6881
int m_definition_length
Definition: BOpcodeHandler.h:7627
static TK_Status GetData(BStreamFileToolkit &tk, int *i, int n)
Definition: BOpcodeHandler.h:271
TK_Line(unsigned char opcode=TKE_Line)
Definition: BOpcodeHandler.h:5552
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:6066
Handles the TKE_Image_XRef opcodes.
Definition: BOpcodeHandler.h:8122
void SetTiling(int p)
Definition: BOpcodeHandler.h:7355
short color_edge_contrast_mask
For internal use only.
Definition: BOpcodeHandler.h:1081
void SetDMinor(double const m[])
Definition: BOpcodeHandler.h:6327
Handles the TKE_PolyCylinder opcode.
Definition: BOpcodeHandler.h:6561
int * GetLengths()
Definition: BOpcodeHandler.h:7834
char m_type
internal use
Definition: BOpcodeHandler.h:5433
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:6112
int m_length
Definition: BOpcodeHandler.h:4756
int GetBlueMapping() const
Definition: BOpcodeHandler.h:7337
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:6909
void SetColorTextContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3509
double const * GetDRef2() const
Definition: BOpcodeHandler.h:6768
void SetWhenInvisible(int m)
Definition: BOpcodeHandler.h:4451
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:5119
unsigned char * m_dleader_flags
Definition: BOpcodeHandler.h:6839
float m_vertex_decimation
For internal use only.
Definition: BOpcodeHandler.h:2614
char * GetName()
Definition: BOpcodeHandler.h:7535
void SetColorMarkerForcedLockMask(int m)
Definition: BOpcodeHandler.h:3256
void SetInterpolation(int p)
Definition: BOpcodeHandler.h:7315
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6413
void SetDMinor(double x, double y, double z)
Definition: BOpcodeHandler.h:6323
float * GetMatrix()
Definition: BOpcodeHandler.h:4494
void SetOrigin(float x, float y, float z)
Definition: BOpcodeHandler.h:6706
int m_length
Definition: BOpcodeHandler.h:4667
int GetLayout() const
Definition: BOpcodeHandler.h:7352
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:6805
Handles the TKE_External_Reference_Unicode opcodes.
Definition: BOpcodeHandler.h:8081
float m_outer
for internal use only
Definition: BOpcodeHandler.h:5987
Handles the TKE_Polyline and TKE_Polygon opcodes.
Definition: BOpcodeHandler.h:5602
char m_apply_mode
Definition: BOpcodeHandler.h:7235
int * m_cursors
Definition: BOpcodeHandler.h:6833
HLONG * GetValues()
Definition: BOpcodeHandler.h:4876
int m_pixel_threshold
internal use; pixel threshold
Definition: BOpcodeHandler.h:4022
double const * GetDStart() const
Definition: BOpcodeHandler.h:6523
int m_count
internal use
Definition: BOpcodeHandler.h:6068
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:4015
void SetRef1(float const r[])
Definition: BOpcodeHandler.h:6721
unsigned char m_type
Definition: BOpcodeHandler.h:5756
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:5429
unsigned char m_projection
internal use
Definition: BOpcodeHandler.h:4986
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:7880
float const * GetViewVolume() const
Definition: BOpcodeHandler.h:4145
void SetRGB(float const rgb[])
Definition: BOpcodeHandler.h:1945
unsigned char m_degree[2]
Definition: BOpcodeHandler.h:5839
int m_force_defer
internal use; hard extent
Definition: BOpcodeHandler.h:4027
int m_index
Definition: BOpcodeHandler.h:1258
void SetPoint(float x, float y, float z)
Definition: BOpcodeHandler.h:5515
int GetInternalShellSelectionLimit() const
Definition: BOpcodeHandler.h:4081
void SetSelectionSorting(int s)
Definition: BOpcodeHandler.h:4181
////
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:7465
Handles the TKE_Shape_Definition opcode.
Definition: BOpcodeHandler.h:7505
float * GetTextLeaders()
Definition: BOpcodeHandler.h:6928
double m_dradius
Definition: BOpcodeHandler.h:6474
void GetField(float f[]) const
Definition: BOpcodeHandler.h:5082
void SetColorVertexContrastLockMask(int m)
Definition: BOpcodeHandler.h:3083
void SetGreekingLimit(float s)
Definition: BOpcodeHandler.h:5342
void SetLodAlgorithm(int v)
Definition: BOpcodeHandler.h:3622
char * GetEmissionName()
Definition: BOpcodeHandler.h:1868
int GetApplicationMode() const
Definition: BOpcodeHandler.h:7367
void SetBaseColorMap(int length)
Definition: BOpcodeHandler.h:2248
void GetDUpVector(double u[]) const
Definition: BOpcodeHandler.h:5073
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:4024
TK_Status Write(BStreamFileToolkit &)
Definition: BOpcodeHandler.h:1103
void SetWindow(float const w[])
Definition: BOpcodeHandler.h:5161
channel m_diffuse
internal use
Definition: BOpcodeHandler.h:1734
void SetGeometry(int m)
Definition: BOpcodeHandler.h:2087
double const * GetDOrtho() const
Definition: BOpcodeHandler.h:6447
void SetRendererCutoff(float s)
Definition: BOpcodeHandler.h:5368
float const * GetTextRegionPoints() const
Definition: BOpcodeHandler.h:6903
float * GetValues()
Definition: BOpcodeHandler.h:2158
float * m_radii
Definition: BOpcodeHandler.h:6567
Handles the TKE_Camera opcode.
Definition: BOpcodeHandler.h:4976
int m_mask
internal use
Definition: BOpcodeHandler.h:2020
int GetRelatedSelectionLimit() const
Definition: BOpcodeHandler.h:4071
float GetRadius() const
Definition: BOpcodeHandler.h:6508
int GetIndex() const
Definition: BOpcodeHandler.h:4525
float m_index
internal use
Definition: BOpcodeHandler.h:1742
unsigned short const * GetOptions() const
Definition: BOpcodeHandler.h:4824
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:5764
void SetName(int length)
Definition: BOpcodeHandler.h:8148
int GetType() const
Definition: BOpcodeHandler.h:5800
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:7931
int m_mask
internal use
Definition: BOpcodeHandler.h:1714
//
Definition: BOpcodeEnums.h:38
char m_interpolation
Definition: BOpcodeHandler.h:7223
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:6818
unsigned char m_size_units
for internal use only
Definition: BOpcodeHandler.h:5214
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:8044
float width_scale
adjustment to character width
Definition: BOpcodeHandler.h:6800
char m_param_offset
Definition: BOpcodeHandler.h:7236
int m_substage
Definition: BOpcodeHandler.h:5754
int GetColorVertexLockValue() const
Definition: BOpcodeHandler.h:3007
double const * GetDPoints() const
Definition: BOpcodeHandler.h:5705
double * GetDRef2()
Definition: BOpcodeHandler.h:6770
void SetOcclusionMapChannel(int c)
Definition: BOpcodeHandler.h:2351
char const * GetString() const
Definition: BOpcodeHandler.h:6871
float * m_weights
Definition: BOpcodeHandler.h:5762
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:7663
float GetNearLimit() const
Definition: BOpcodeHandler.h:5113
float GetOrderedWeight(int index) const
Definition: BOpcodeHandler.h:4169
float * m_points
Definition: BOpcodeHandler.h:7786
unsigned char m_format
Definition: BOpcodeHandler.h:7089
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:5872
int m_length
Definition: BOpcodeHandler.h:6964
oblique y setting
Definition: BOpcodeEnums.h:1153
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:7821
void SetMaximumExtentLevel(int c)
Definition: BOpcodeHandler.h:4120
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:8029
void SetViewVolume(float ax, float ay, float az, float bx, float by, float bz)
Definition: BOpcodeHandler.h:4147
unsigned char m_units
for internal use only.
Definition: BOpcodeHandler.h:4537
char const * GetSpecularName() const
Definition: BOpcodeHandler.h:1821
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6277
void SetComment(char const *comment)
Definition: BOpcodeHandler.h:978
unsigned char m_flags
Definition: BOpcodeHandler.h:6133
int GetEncoding() const
Definition: BOpcodeHandler.h:7034
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:4492
float const * GetRef1() const
Definition: BOpcodeHandler.h:6723
int GetOcclusionMapChannel() const
Definition: BOpcodeHandler.h:2353
void SetColorMarkerForcedLockValue(int v)
Definition: BOpcodeHandler.h:3267
self-explanatory
Definition: BOpcodeEnums.h:1590
void SetDAxis(double const a[])
Definition: BOpcodeHandler.h:6519
Definition: BOpcodeHandler.h:854
short color_marker_mask
For internal use only.
Definition: BOpcodeHandler.h:1067
char * GetSegment()
Definition: BOpcodeHandler.h:7615
int m_isoline_weight_count
for internal use only.
Definition: BOpcodeHandler.h:2508
void SetParameterOffset(int p)
Definition: BOpcodeHandler.h:7370
Contains enum types which are used by BBaseOpcodeHandler.
char * m_string
Definition: BOpcodeHandler.h:8007
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:6873
int GetCount() const
Definition: BOpcodeHandler.h:4919
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:6283
int GetMask() const
Definition: BOpcodeHandler.h:4061
int m_hlr_line_pattern
For internal use only.
Definition: BOpcodeHandler.h:2488
Handles the TKE_Material opcode.
Definition: BOpcodeHandler.h:7929
void SetStereoSeparation(float s)
Definition: BOpcodeHandler.h:3545
void SetCallback(char const *callback)
Definition: BOpcodeHandler.h:2428
int GetCompression() const
Definition: BOpcodeHandler.h:7196
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:276
void SetCaps(int f)
Definition: BOpcodeHandler.h:6534
Handles the TKE_Window opcode.
Definition: BOpcodeHandler.h:5138
int GetLength() const
Definition: BOpcodeHandler.h:2160
BBaseOpcodeHandler * m_index_data
Definition: BOpcodeHandler.h:4760
TK_Point(unsigned char opcode)
Definition: BOpcodeHandler.h:5491
int m_length
Definition: BOpcodeHandler.h:6822
BBaseOpcodeHandler * m_unicode
Definition: BOpcodeHandler.h:4759
unsigned char const * GetBytes() const
Definition: BOpcodeHandler.h:7430
unsigned char m_encoding
Definition: BOpcodeHandler.h:6825
TK_LOD()
Definition: BOpcodeHandler.h:1520
char const * GetName(void) const
Definition: BOpcodeHandler.h:8150
void SetColorVertexContrastForcedLockMask(int m)
Definition: BOpcodeHandler.h:3486
void SetSize(float value, int units=TKO_Generic_Size_Unspecified)
Definition: BOpcodeHandler.h:4552
void SetAxis(float const s[])
Definition: BOpcodeHandler.h:6396
void SetValue(int m)
Definition: BOpcodeHandler.h:4350
Handles the TKE_Visibility opcode.
Definition: BOpcodeHandler.h:4312
unsigned short m_selection_bias
internal use; selection bias options
Definition: BOpcodeHandler.h:4021
int GetLodThresholdType() const
Definition: BOpcodeHandler.h:3685
int GetVisibilityForcedLockValue() const
Definition: BOpcodeHandler.h:3157
void SetPoint(float const p[])
Definition: BOpcodeHandler.h:5517
void SetExtras(int e)
Definition: BOpcodeHandler.h:4089
void SetFollow(bool f)
Definition: BOpcodeHandler.h:1433
char const * GetName() const
Definition: BOpcodeHandler.h:4619
unsigned char m_hlr_weight_units
for internal use only.
Definition: BOpcodeHandler.h:2491
TK_Named_Style_Def()
Definition: BOpcodeHandler.h:7572
void SetCutVisualizationMode(int m)
Definition: BOpcodeHandler.h:4281
TK_Status Interpret(BStreamFileToolkit &tk, ID_Key key, char const *special)
Definition: BOpcodeHandler.h:7420
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:7181
void SetPoints(float const p[])
Definition: BOpcodeHandler.h:5572
double * GetDPoints()
Definition: BOpcodeHandler.h:7823
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:6521
unsigned short value
for active settings, on or off
Definition: BOpcodeHandler.h:6803
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:6688
int GetToleranceUnits() const
Definition: BOpcodeHandler.h:5304
void SetNeedsTag(bool n)
Definition: BOpcodeHandler.h:193
char * m_shape
for internal use only
Definition: BOpcodeHandler.h:5209
char const * GetBaseColorMap() const
Definition: BOpcodeHandler.h:2250
int m_current_value
for internal use only
Definition: BOpcodeHandler.h:4893
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:5129
void SetRoughnessFactor(float f)
Definition: BOpcodeHandler.h:2325
void SetWidthScale(float s)
Definition: BOpcodeHandler.h:5317
void SetColorEdgeLockMask(int m)
Definition: BOpcodeHandler.h:2807
void SetColorFaceContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3336
unsigned char m_degree
Definition: BOpcodeHandler.h:5666
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:7626
int GetVertexDisplacement() const
Definition: BOpcodeHandler.h:2704
Handles the TKE_NURBS_Surface opcode.
Definition: BOpcodeHandler.h:5836
int m_reference_length
Definition: BOpcodeHandler.h:7088
void SetCutVisualizationSCale(float s)
Definition: BOpcodeHandler.h:4300
char * m_data
Definition: BOpcodeHandler.h:7960
float * m_points
internal use
Definition: BOpcodeHandler.h:5923
float const * GetVector() const
Definition: BOpcodeHandler.h:4126
float const * GetCenter() const
Definition: BOpcodeHandler.h:6381
void SetOptions(int o)
Definition: BOpcodeHandler.h:5969
int m_names_length
for internal use only
Definition: BOpcodeHandler.h:5193
int GetOptions() const
Definition: BOpcodeHandler.h:5814
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1389
void SetDField(double const f[])
Definition: BOpcodeHandler.h:5087
struct vlist_s * m_data
Definition: BOpcodeHandler.h:7935
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 SetGeometry(int m)
Definition: BOpcodeHandler.h:2038
void SetNormalFactor(float f)
Definition: BOpcodeHandler.h:2315
TK_Shape_Definition()
Definition: BOpcodeHandler.h:7514
void SetColorLineLockValue(int v)
Definition: BOpcodeHandler.h:2841
void SetIndices(int count)
Definition: BOpcodeHandler.h:4866
int GetColorFaceLockMask() const
Definition: BOpcodeHandler.h:2789
float m_vector_tolerance
internal use; culling vector tolerance
Definition: BOpcodeHandler.h:4029
int GetInternalPolylineSelectionLimit() const
Definition: BOpcodeHandler.h:4086
int m_join_cutoff_angle
For internal use only.
Definition: BOpcodeHandler.h:2612
char const * GetXML() const
Definition: BOpcodeHandler.h:7987
int GetCount() const
Definition: BOpcodeHandler.h:6115
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:6807
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:5108
char m_contour_value_adjustment
for internal use only.
Definition: BOpcodeHandler.h:2498
void SetExtraSpace(float s)
Definition: BOpcodeHandler.h:5322
#define ID_Key
Definition: BStream.h:252
unsigned short m_value
internal use
Definition: BOpcodeHandler.h:4210
void SetTarget(float x, float y, float z)
Definition: BOpcodeHandler.h:5036
void SetMask(int m0, int m1=0, int m2=0)
Definition: BOpcodeHandler.h:2649
int m_cond_allocated
Definition: BOpcodeHandler.h:7563
float GetGreekingLimit() const
Definition: BOpcodeHandler.h:5344
unsigned char m_flags
Definition: BOpcodeHandler.h:6475
char * name
the font name
Definition: BOpcodeHandler.h:6792
double * GetDPoints()
Definition: BOpcodeHandler.h:7758
wchar_t * GetString()
Definition: BOpcodeHandler.h:8109
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:6646
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:6224
double * m_dradii
Definition: BOpcodeHandler.h:6568
Utility class for managing HSF header information.
Definition: BOpcodeHandler.h:871
char const * GetConditions() const
Definition: BOpcodeHandler.h:4689
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:5563
int m_index
internal use
Definition: BOpcodeHandler.h:1479
float * GetPoints()
Definition: BOpcodeHandler.h:6605
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:5989
void SetString(int length)
Definition: BOpcodeHandler.h:6869
float * GetWeights()
Definition: BOpcodeHandler.h:5891
void SetTransform(int length)
Definition: BOpcodeHandler.h:7383
void SetToleranceUnits(int u)
Definition: BOpcodeHandler.h:5302
int GetColorEdgeLockValue() const
Definition: BOpcodeHandler.h:2823
double const * GetDRadii() const
Definition: BOpcodeHandler.h:6638
char const * GetSphereTessellations() const
Definition: BOpcodeHandler.h:3758
void SetColorWindowForcedLockValue(int v)
Definition: BOpcodeHandler.h:3313
void SetTransform(char const *transform)
Definition: BOpcodeHandler.h:7378
Handles the TKE_Thumbnail opcode.
Definition: BOpcodeHandler.h:7399
Handles the TKE_User_Options opcode.
Definition: BOpcodeHandler.h:4754
int m_margin_count
for internal use only
Definition: BOpcodeHandler.h:5211
HT_NURBS_Trim * m_current_trim
Definition: BOpcodeHandler.h:5848
void SetForcedLockValue(int v)
Definition: BOpcodeHandler.h:3133
int GetValue() const
Definition: BOpcodeHandler.h:4066
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:5574
Handles the TKE_Clip_Region opcodes.
Definition: BOpcodeHandler.h:7716
void SetSegment(int length)
Definition: BOpcodeHandler.h:1331
float const * GetStart() const
Definition: BOpcodeHandler.h:6501
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:7317
#define NS_TRIM_END
terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims ...
Definition: BOpcodeHandler.h:5733
char * GetImage()
Definition: BOpcodeHandler.h:7289
int GetColorTextContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3525
float const * GetDiffuse() const
Definition: BOpcodeHandler.h:1804
float * GetOrderedWeights()
Definition: BOpcodeHandler.h:4173
float GetGloss() const
Definition: BOpcodeHandler.h:1891
float GetSize() const
Definition: BOpcodeHandler.h:5289
float const * GetTarget() const
Definition: BOpcodeHandler.h:6026
TK_Color_Map()
Definition: BOpcodeHandler.h:2132
float GetSlant() const
Definition: BOpcodeHandler.h:5314
int GetWriteFlags(int mask=~0) const
Definition: BStreamFileToolkit.h:934
int m_size
Definition: BOpcodeHandler.h:7508
char * m_string
Definition: BOpcodeHandler.h:4668
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:4643
int GetColorWindowContrastLockMask() const
Definition: BOpcodeHandler.h:2950
int GetType() const
Definition: BOpcodeHandler.h:6785
static void fix(short *s, int n)
for internal use only
Definition: BOpcodeHandler.h:546
int const * GetSizes() const
Definition: BOpcodeHandler.h:4934
void SetMoveUp(int m)
Definition: BOpcodeHandler.h:4440
void SetRendererCutoffUnits(int u)
Definition: BOpcodeHandler.h:5373
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:6657
TK_Bounding(unsigned char opcode, double center[], double radius)
Definition: BOpcodeHandler.h:5459
void GetOblique(float o[]) const
Definition: BOpcodeHandler.h:5105
char * m_debug_string
Definition: BOpcodeHandler.h:71
char m_tiling
Definition: BOpcodeHandler.h:7231
void SetColorVertexForcedLockMask(int m)
Definition: BOpcodeHandler.h:3394
int m_cursor_count
Definition: BOpcodeHandler.h:6832
float const * GetUpVector() const
Definition: BOpcodeHandler.h:5061
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:4601
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:6490
void SetEmissionName(int length)
Definition: BOpcodeHandler.h:1862
char * m_name
Definition: BOpcodeHandler.h:6959
int GetIndex() const
Definition: BOpcodeHandler.h:4626
int GetOptions() const
Definition: BOpcodeHandler.h:4743
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4841
float const * GetMinor() const
Definition: BOpcodeHandler.h:6301
float const * getSimpleShadowLight() const
Definition: BOpcodeHandler.h:3856
void SetDStart(double const s[])
Definition: BOpcodeHandler.h:6204
void SetColorEdgeContrastForcedLockValue(int v)
Definition: BOpcodeHandler.h:3428
float m_width_scale
for internal use only
Definition: BOpcodeHandler.h:5199
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:5694
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:7566
char * m_name
Definition: BOpcodeHandler.h:7081
bool m_follow
for internal use only
Definition: BOpcodeHandler.h:1391
int GetUDegree() const
Definition: BOpcodeHandler.h:5881
int m_move_up
internal use; specifies what geometry is selectable on mouse move without buttons down...
Definition: BOpcodeHandler.h:4373
TK_Matrix(unsigned char opcode)
Definition: BOpcodeHandler.h:4473
void SetDMiddle(double const m[])
Definition: BOpcodeHandler.h:6212
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:4639
Lock_Masks m_lock
For internal use only.
Definition: BOpcodeHandler.h:2477
unsigned char * m_data
Definition: BOpcodeHandler.h:7872
int GetGeometry() const
Definition: BOpcodeHandler.h:1785
int GetColorLineForcedLockValue() const
Definition: BOpcodeHandler.h:3249
void SetGreenMapping(int p)
Definition: BOpcodeHandler.h:7330
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:7697
TK_Status SetDPoints(int count, double const points[]=0)
void SetOptions(int at)
Definition: BOpcodeHandler.h:4741
Base class for shell and mesh.
Definition: BPolyhedron.h:22
int GetHSR() const
Definition: BOpcodeHandler.h:2669
char m_options
Definition: BOpcodeHandler.h:7718
void ** m_values
for internal use only
Definition: BOpcodeHandler.h:4890
int GetGreekingMode() const
Definition: BOpcodeHandler.h:5354
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:4900
int GetExtras() const
Definition: BOpcodeHandler.h:4091
void SetDCenter(double const c[])
Definition: BOpcodeHandler.h:6229
int GetMaximumExtent() const
Definition: BOpcodeHandler.h:4112
void SetCompression(int c)
Definition: BOpcodeHandler.h:7194
TK_Color_By_Index(unsigned char opcode)
Definition: BOpcodeHandler.h:2025
char * m_reference
Definition: BOpcodeHandler.h:7082
void SetSimpleReflectionPlane(float a, float b, float c, float d)
Definition: BOpcodeHandler.h:3906
extends font options to a second byte
Definition: BOpcodeEnums.h:1176
int GetHlrOptions() const
Definition: BOpcodeHandler.h:3564
void SetRenderer(int r)
Definition: BOpcodeHandler.h:5358
int m_name_length
Definition: BOpcodeHandler.h:6962
Handles the TKE_Conditional_Action opcode.
Definition: BOpcodeHandler.h:4704
TK_Geometry_Options()
Definition: BOpcodeHandler.h:4227
void SetEmissionName(char const *name)
Definition: BOpcodeHandler.h:1860
char * m_bytes
Definition: BOpcodeHandler.h:6961
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:7869
TK_Animation()
Definition: BOpcodeHandler.h:2372
float m_size
for internal use only
Definition: BOpcodeHandler.h:5195
float * GetKnots()
Definition: BOpcodeHandler.h:5822
int m_length
internal use
Definition: BOpcodeHandler.h:2120
float GetCutVisualizationAlpha() const
Definition: BOpcodeHandler.h:4297
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:7265
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:6960
int GetShadowMap() const
Definition: BOpcodeHandler.h:3887
int GetLoops() const
Definition: BOpcodeHandler.h:7840
TK_Window()
Definition: BOpcodeHandler.h:5145
void SetColorTextContrastLockValue(int v)
Definition: BOpcodeHandler.h:3117
TK_Linear_Pattern(unsigned char opcode)
Definition: BOpcodeHandler.h:4572
int GetCulling() const
Definition: BOpcodeHandler.h:4096
float const * GetWeights() const
Definition: BOpcodeHandler.h:5816
int m_radius_count
Definition: BOpcodeHandler.h:6566
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:6309
void SetDRef2(double const r[])
Definition: BOpcodeHandler.h:6766
TK_Line_Style()
Definition: BOpcodeHandler.h:7633
Definition: BOpcodeHandler.h:4637
void SetDOrtho(double x, double y, double z)
Definition: BOpcodeHandler.h:6439
float * GetRef1()
Definition: BOpcodeHandler.h:6725
char m_num_ratios
For internal use only.
Definition: BOpcodeHandler.h:2520
void SetGreekingLimitUnits(int u)
Definition: BOpcodeHandler.h:5347
unsigned char m_extras
internal use; low bit set == left handed, second bit set == spriting
Definition: BOpcodeHandler.h:4018
void SetLineSpacing(float s)
Definition: BOpcodeHandler.h:5332
void SetEncoding(int e)
Definition: BOpcodeHandler.h:6892
Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes.
Definition: BOpcodeHandler.h:1034
int GetPreference() const
Definition: BOpcodeHandler.h:5381
double const * GetDCenter() const
Definition: BOpcodeHandler.h:6246
double const * GetDTarget() const
Definition: BOpcodeHandler.h:5051
unsigned short * m_string
Definition: BOpcodeHandler.h:4803
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:5384
TK_Texture()
Definition: BOpcodeHandler.h:7247
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:6528
int m_allocated
Definition: BOpcodeHandler.h:8045
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:6110
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:7902
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:7784
HT_NURBS_Trim * GetList()
Definition: BOpcodeHandler.h:5826
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:5640
void SetColorWindowContrastLockValue(int v)
Definition: BOpcodeHandler.h:2956
char * GetName()
Definition: BOpcodeHandler.h:7486
void SetStart(float x, float y, float z)
Definition: BOpcodeHandler.h:6151
char const * GetLookup() const
Definition: BOpcodeHandler.h:7027
float const * GetImageTintColor() const
Definition: BOpcodeHandler.h:3978
void SetIndex(int i)
Definition: BOpcodeHandler.h:2056
int m_substage
Definition: BOpcodeHandler.h:6842
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:4559
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:5401
void SetSimpleShadowPlane(float const p[])
Definition: BOpcodeHandler.h:3866
float const * GetPoints() const
Definition: BOpcodeHandler.h:6603
int GetGeometry() const
Definition: BOpcodeHandler.h:2053
void SetDEnd(double x, double y, double z)
Definition: BOpcodeHandler.h:6216
double const * GetDMiddle() const
Definition: BOpcodeHandler.h:6242
void SetColorForcedLockMask(int m)
Definition: BOpcodeHandler.h:3164
self-explanatory
Definition: BOpcodeEnums.h:1314
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:8011
float const * GetDefinition() const
Definition: BOpcodeHandler.h:7542
unsigned char Opcode() const
Definition: BOpcodeHandler.h:163
int m_allocated
Definition: BOpcodeHandler.h:8006
void SetSphereTessellations(int c, char const *n=0)
Definition: BOpcodeHandler.h:3747
void SetImage(char const *image)
Definition: BOpcodeHandler.h:7283
int GetLength()
Definition: BOpcodeHandler.h:4734
float const * GetPoints() const
Definition: BOpcodeHandler.h:5951
void SetRedMapping(int p)
Definition: BOpcodeHandler.h:7325
Handles the TKE_Delete_Object opcode.
Definition: BOpcodeHandler.h:1477
void SetMinor(float const m[])
Definition: BOpcodeHandler.h:6299
double * GetDPoints()
Definition: BOpcodeHandler.h:6628
char const * GetOptions() const
Definition: BOpcodeHandler.h:4785
float * GetOrigin()
Definition: BOpcodeHandler.h:6714
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:7191
char const * GetReference() const
Definition: BOpcodeHandler.h:7156
float const * GetRadii() const
Definition: BOpcodeHandler.h:6615
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:6919
ID_Key m_key
for internal use only
Definition: BOpcodeHandler.h:1296
char * GetDefinition()
Definition: BOpcodeHandler.h:7495
int m_count
for internal use only
Definition: BOpcodeHandler.h:4888
void SetApplicationMode(int p)
Definition: BOpcodeHandler.h:7365
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:5981
TK_Camera(unsigned char opcode=TKE_Camera)
Definition: BOpcodeHandler.h:4997
char const * GetStyle() const
Definition: BOpcodeHandler.h:5282
void SetRenderers(int r1, int r2)
Definition: BOpcodeHandler.h:5363
void SetMirror(float const rgb[])
Definition: BOpcodeHandler.h:1828
void SetSpecularName(char const *name)
Definition: BOpcodeHandler.h:1815
int GetParameterOffset() const
Definition: BOpcodeHandler.h:7372
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:6195
void SetMirrorName(int length)
Definition: BOpcodeHandler.h:1832
bool GetFollow()
Definition: BOpcodeHandler.h:1367
char * m_string
Definition: BOpcodeHandler.h:6824
int GetShadowMapResolution() const
Definition: BOpcodeHandler.h:3892
TK_Text_Font()
Definition: BOpcodeHandler.h:5229
int GetFormat() const
Definition: BOpcodeHandler.h:7444
int GetColorVertexContrastLockValue() const
Definition: BOpcodeHandler.h:3099
char const * GetTransform() const
Definition: BOpcodeHandler.h:7385
int m_length
Definition: BOpcodeHandler.h:4802
float * m_values
internal use
Definition: BOpcodeHandler.h:2122
void SetSize(float s)
Definition: BOpcodeHandler.h:5287
int m_move_down
internal use; specifies what geometry is selectable on mouse button down and move. For internal use only.
Definition: BOpcodeHandler.h:4372
void SetOptions(int length)
Definition: BOpcodeHandler.h:4783
int m_cond_length
Definition: BOpcodeHandler.h:1384
char * m_name
Definition: BOpcodeHandler.h:7509
char const * GetName() const
Definition: BOpcodeHandler.h:7593
int GetSelectionLevel() const
Definition: BOpcodeHandler.h:4178
int GetOrderedWeightsMask() const
Definition: BOpcodeHandler.h:4161
int const * GetIndices() const
Definition: BOpcodeHandler.h:4870
int GetColorMarkerContrastLockValue() const
Definition: BOpcodeHandler.h:3076
float GetExtraSpace() const
Definition: BOpcodeHandler.h:5324
void SetDRef1(double x, double y, double z)
Definition: BOpcodeHandler.h:6751
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:4739
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:5519
void SetIndex(int i)
Definition: BOpcodeHandler.h:4624
int m_value
internal use
Definition: BOpcodeHandler.h:4012
int GetOptions() const
Definition: BOpcodeHandler.h:5531
void SetColorMarkerLockMask(int m)
Definition: BOpcodeHandler.h:2853
void SetDPosition(double x, double y, double z)
Definition: BOpcodeHandler.h:5026
Handles the TKE_Line opcode.
Definition: BOpcodeHandler.h:5543
float m_slant
for internal use only
Definition: BOpcodeHandler.h:5198
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:5767
void SetDown(int m)
Definition: BOpcodeHandler.h:4407
void SetSize(int w, int h)
Definition: BOpcodeHandler.h:7435
void SetDRadius(double r)
Definition: BOpcodeHandler.h:6423
float const * GetTarget() const
Definition: BOpcodeHandler.h:5041
int GetCutVisualizationMask() const
Definition: BOpcodeHandler.h:4278
int GetColorBackLockValue() const
Definition: BOpcodeHandler.h:2984
char * m_string
Definition: BOpcodeHandler.h:4709
int m_substage
Definition: BOpcodeHandler.h:7220
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:5292
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:5524
TK_Visibility(void)
Definition: BOpcodeHandler.h:4319
int m_control_point_count
Definition: BOpcodeHandler.h:5667
char m_index
internal use
Definition: BOpcodeHandler.h:4509
int GetColorLockMask() const
Definition: BOpcodeHandler.h:2766
int GetTotal() const
Definition: BOpcodeHandler.h:7838
char * GetReference()
Definition: BOpcodeHandler.h:7158
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:4014
int GetNURBSCurveContinuedBudget() const
Definition: BOpcodeHandler.h:3602
int * m_indices
for internal use only
Definition: BOpcodeHandler.h:4889
void SetUp(int m)
Definition: BOpcodeHandler.h:4418
void SetMask(int m)
Definition: BOpcodeHandler.h:5244
int GetStaticOptions() const
Definition: BOpcodeHandler.h:4193
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:4789
void SetValueScale(float v1, float v2)
Definition: BOpcodeHandler.h:7360
void SetCenter(float x, float y, float z)
Definition: BOpcodeHandler.h:6175
int GetCount() const
Definition: BOpcodeHandler.h:6644
double const * GetDPosition() const
Definition: BOpcodeHandler.h:7174
float const * GetKnots() const
Definition: BOpcodeHandler.h:5712
char * m_camera
Definition: BOpcodeHandler.h:7214
int m_image_length
Definition: BOpcodeHandler.h:7217
unsigned char const * GetTextLeaderFlags() const
Definition: BOpcodeHandler.h:6930
char const * GetEnvironmentName() const
Definition: BOpcodeHandler.h:1875
TK_Selectability(void)
Definition: BOpcodeHandler.h:4378
void SetColorEdgeForcedLockValue(int v)
Definition: BOpcodeHandler.h:3221
double const * GetDEnd() const
Definition: BOpcodeHandler.h:6525
int m_length
Definition: BOpcodeHandler.h:8005
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:6843
Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes.
Definition: BOpcodeHandler.h:6258
short m_fbe_value
For internal use only.
Definition: BOpcodeHandler.h:2619
void SetDRef2(double x, double y, double z)
Definition: BOpcodeHandler.h:6762
float const * GetWeights() const
Definition: BOpcodeHandler.h:5889
double const * GetDPosition() const
Definition: BOpcodeHandler.h:5031
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:6797
char * m_name
The name of the color channel.
Definition: BOpcodeHandler.h:1723
self-explanatory
Definition: BOpcodeEnums.h:269
Definition: BOpcodeHandler.h:6791
void SetDAxis(double x, double y, double z)
Definition: BOpcodeHandler.h:6428
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:6314
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:6105
int * m_lengths
Definition: BOpcodeHandler.h:7785
int m_cond_allocated
Definition: BOpcodeHandler.h:1293
int const * GetPreferences() const
Definition: BOpcodeHandler.h:5386
int GetColorFaceContrastForcedLockValue() const
Definition: BOpcodeHandler.h:3341
void SetTransforms(int t)
Definition: BOpcodeHandler.h:5337
int GetForcedLockMask() const
Definition: BOpcodeHandler.h:3130
Handles the TKE_Grid opcode.
Definition: BOpcodeHandler.h:6686
char * GetCamera()
Definition: BOpcodeHandler.h:7298
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:6244
static TK_Status PutData(BStreamFileToolkit &tk, unsigned char const *b, int n)
Definition: BOpcodeHandler.h:440
refer to HC_Set_Heuristics
Definition: BOpcodeEnums.h:916
int GetColorBackForcedLockValue() const
Definition: BOpcodeHandler.h:3387
float color[3]
the color. RGB triplet
Definition: BOpcodeHandler.h:6794
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:5299
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:7568
float GetMaxDistance() const
Definition: BOpcodeHandler.h:4142
int m_curve_continued_budget
For internal use only.
Definition: BOpcodeHandler.h:2539
void SetCounts(int c1, int c2)
Definition: BOpcodeHandler.h:6774
int m_length
Definition: BOpcodeHandler.h:4708
indicates that the 2nd byte should be written
Definition: BOpcodeEnums.h:787
char * m_segment
Definition: BOpcodeHandler.h:7560
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:6379
char const * GetMirrorName() const
Definition: BOpcodeHandler.h:1836
virtual TK_Status Write(BStreamFileToolkit &tk)=0
void SetOptions(int opt)
Definition: BOpcodeHandler.h:5174
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:5085
float * GetPoints()
Definition: BOpcodeHandler.h:5704
Flags
Definition: BOpcodeHandler.h:6453
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:7357
bool GetLogging() const
Definition: BStreamFileToolkit.h:1006
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:6005
void SetOptions(int o)
Definition: BOpcodeHandler.h:5902
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:7140
int GetMaximumExtentMode() const
Definition: BOpcodeHandler.h:4114
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:7362
float const * GetMajor() const
Definition: BOpcodeHandler.h:6292
void SetDPlane(double const p[])
Definition: BOpcodeHandler.h:6102
int m_culling
internal use; culling options
Definition: BOpcodeHandler.h:4019
Handles the TKE_PBR opcode.
Definition: BOpcodeHandler.h:2191
int GetDegree() const
Definition: BOpcodeHandler.h:5808
float * m_knots
Definition: BOpcodeHandler.h:5672
int GetPixelThreshold() const
Definition: BOpcodeHandler.h:4108
char m_options
internal use
Definition: BOpcodeHandler.h:5925
void SetPosition(float x, float y, float z)
Definition: BOpcodeHandler.h:5016
static TK_Status GetData(BStreamFileToolkit &tk, char &c)
Definition: BOpcodeHandler.h:304
void SetStaticOptions(int o)
Definition: BOpcodeHandler.h:4191
void SetFaceDisplacement(int d)
Definition: BOpcodeHandler.h:2697
char * GetBytes()
Definition: BOpcodeHandler.h:7011
Handles the TKE_User_Value opcode.
Definition: BOpcodeHandler.h:4947
void SetHlrFaceSortingAlgorithm(int a)
Definition: BOpcodeHandler.h:3578
int GetForceDefer() const
Definition: BOpcodeHandler.h:4188
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:5802
extended bit for HLR suboptions; refer to HC_Set_Rendering_Options for description ...
Definition: BOpcodeEnums.h:675
char * m_string
Definition: BOpcodeHandler.h:4757
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:7461
double const * GetDMajor() const
Definition: BOpcodeHandler.h:6320
short color_vertex_value
For internal use only.
Definition: BOpcodeHandler.h:1080
int GetSelectionSorting() const
Definition: BOpcodeHandler.h:4183
unsigned char m_hlr_threshold_units
for internal use only.
Definition: BOpcodeHandler.h:2493
void SetType(int t)
Definition: BOpcodeHandler.h:6997
char const * GetView() const
Definition: BOpcodeHandler.h:5127
float m_tolerance
for internal use only
Definition: BOpcodeHandler.h:5196
void SetDOrigin(double x, double y, double z)
Definition: BOpcodeHandler.h:6740
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:6375
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:5522
Capping_Options
Definition: BOpcodeHandler.h:6541
char * GetOptions()
Definition: BOpcodeHandler.h:4787
char * GetMirrorName()
Definition: BOpcodeHandler.h:1838
char const * GetString() const
Definition: BOpcodeHandler.h:8068
float const * GetOblique() const
Definition: BOpcodeHandler.h:5103
entity is double precision
Definition: BStream.h:355
void SetOcclusionMap(int length)
Definition: BOpcodeHandler.h:2293
double * GetDMatrix()
Definition: BOpcodeHandler.h:4498
int GetColorEdgeForcedLockMask() const
Definition: BOpcodeHandler.h:3215
float * GetLodCutoffs()
Definition: BOpcodeHandler.h:3720
bool m_jpeg_native
Definition: BOpcodeHandler.h:7098
float const * GetValue() const
Definition: BOpcodeHandler.h:2007
float const * GetFogLimits() const
Definition: BOpcodeHandler.h:2721
void SetGeometry(int m)
Definition: BOpcodeHandler.h:4332
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:6889
int m_invisible
internal use; specifies what geometry is selectable even when invisible. For internal use only...
Definition: BOpcodeHandler.h:4374
void SetSimpleShadowColor(float r, float g, float b)
Definition: BOpcodeHandler.h:3871
void SetDCenter(double x, double y, double z)
Definition: BOpcodeHandler.h:6305
void SetMask(int m)
Definition: BOpcodeHandler.h:4244
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:6445