|
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
|
TK_Status | Execute (BStreamFileToolkit &tk) |
|
TK_Status | Read (BStreamFileToolkit &tk) |
|
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
|
void | Reset () |
|
TK_Status | SetDPoints (int point_count, double const points[]=0) |
|
TK_Status | SetLengths (int primitive_count, int const lengths[]=0) |
|
TK_Status | SetPoints (int point_count, float const points[]=0) |
|
| TK_PolyPolypoint (unsigned char opcode) |
|
TK_Status | Write (BStreamFileToolkit &tk) |
|
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
|
Public Member Functions inherited from BBaseOpcodeHandler |
| BBaseOpcodeHandler (int op) |
|
unsigned char | General_Flags () const |
|
char const * | GetLoggingString () const |
|
char * | GetLoggingString () |
|
virtual TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) |
|
virtual TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) |
|
bool | IsCollectionPart () const |
|
void | LogDebug (BStreamFileToolkit &tk, char const *string=0) |
|
virtual bool | Match_Instance (BStreamFileToolkit const &tk, Recorded_Instance *instance) |
|
virtual bool | NeedsContext (BStreamFileToolkit &tk) const |
|
bool | NeedsTag () const |
|
unsigned char | Opcode () const |
|
int | Pass (BStreamFileToolkit &tk) const |
|
void | Set_General_Flags (int f) |
|
void | SetCollectionPart (bool n) |
|
void | SetLoggingString (char const *segment) |
|
void | SetLoggingString (int length) |
|
void | SetNeedsTag (bool n) |
|
TK_Status | Tag (BStreamFileToolkit &tk, int variant=-1) const |
|
bool | Tagging (BStreamFileToolkit &tk) const |
|
void | operator delete (void *p) |
| force deallocation to happen in the stream toolkit's scope
|
|
void * | operator new (size_t size) |
| force allocation to happen in the stream toolkit's scope
|
|
|
TK_Status | analyze_dimensionality (BStreamFileToolkit &tk) |
|
TK_Status | compute_line_extend_points (BStreamFileToolkit &tk) |
|
TK_Status | compute_trivial_points (BStreamFileToolkit &tk) |
|
TK_Status | expand_lengths (BStreamFileToolkit &tk) |
|
TK_Status | figure_num_floats (BStreamFileToolkit &tk) |
|
TK_Status | mangle (BStreamFileToolkit &tk) |
|
TK_Status | process_line_extend_points (BStreamFileToolkit &tk) |
|
TK_Status | process_trivial_points (BStreamFileToolkit &tk) |
|
TK_Status | read_compressed_points (BStreamFileToolkit &tk) |
|
TK_Status | read_trivial_leftovers (BStreamFileToolkit &tk) |
|
TK_Status | unmangle (BStreamFileToolkit &tk) |
|
TK_Status | validate_primitive_count (BStreamFileToolkit &tk) |
|
TK_Status | write_compressed_points (BStreamFileToolkit &tk) |
|
TK_Status | write_trivial_leftovers (BStreamFileToolkit &tk) |
|
Protected Member Functions inherited from BBaseOpcodeHandler |
void | add_segment (BStreamFileToolkit &tk, ID_Key key) |
| for internal use only
|
|
void | adjust_written (BStreamFileToolkit &tk, int count) |
| for internal use only
|
|
void | bytes_to_floats (unsigned char const *in, float *out, int count) const |
| for internal use only
|
|
void | decrease_nesting (BStreamFileToolkit &tk, int amount=1) |
| for internal use only
|
|
bool | Find_Instance (BStreamFileToolkit &tk, int val1, int val2, int val3) |
|
bool | Find_Item (BStreamFileToolkit &tk, ID_Key key) const |
|
void | floats_to_bytes (float const *in, unsigned char *out, int count) const |
| for internal use only
|
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, int *rInts, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, char &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, short &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, int &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, float &value) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, float *rFloats, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, char *m_string, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char *m_string, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, int *rInts, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, short *rShorts, unsigned int n) |
|
TK_Status | GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short *rShorts, unsigned int n) |
|
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned char &value) |
|
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, int &value) |
|
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, char &value) |
|
TK_Status | GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned short &value) |
|
TK_Status | GetAsciiImageData (BStreamFileToolkit &tk, const char *tag, unsigned char *rValues, unsigned int n) |
|
TK_Status | GetGeneral (BStreamFileToolkit &tk) |
|
void | increase_nesting (BStreamFileToolkit &tk, int amount=1) |
| for internal use only
|
|
ID_Key | last_key (BStreamFileToolkit &tk) const |
| obsolete
|
|
void | log_opcode (BStreamFileToolkit &tk, unsigned int sequence, unsigned char opcode) |
| for internal use only
|
|
BBaseOpcodeHandler * | Opcode_Handler (BStreamFileToolkit &tk, unsigned char op) const |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const *b, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const *s, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const *i, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const *f, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const *b, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const *s, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const *i, int n) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const &c) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const &s) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const &i) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const &b) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const &s) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const &i) |
|
TK_Status | PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const &f) |
|
TK_Status | PutAsciiFlag (BStreamFileToolkit &tk, char const *tag, int const &i) |
|
TK_Status | PutAsciiHex (BStreamFileToolkit &tk, char const *tag, int const &i) |
|
TK_Status | PutAsciiMask (BStreamFileToolkit &tk, char const *tag, int const &i) |
|
TK_Status | PutAsciiOpcode (BStreamFileToolkit &tk, int adjust=1, bool is_end=false, bool want_newline=true) |
|
TK_Status | PutEndXMLTag (BStreamFileToolkit &tk, char const *tag) |
|
TK_Status | PutGeneral (BStreamFileToolkit &tk) |
|
TK_Status | PutOpcode (BStreamFileToolkit &tk, int adjust=1) |
|
TK_Status | PutStartXMLTag (BStreamFileToolkit &tk, char const *tag) |
|
TK_Status | Read_Referenced_Segment (BStreamFileToolkit &tk, int &i_progress) |
|
TK_Status | ReadAsciiLine (BStreamFileToolkit &tk, unsigned int *readSize=0) |
|
TK_Status | ReadAsciiWord (BStreamFileToolkit &tk, unsigned int *readSize=0) |
|
TK_Status | ReadEndOpcode (BStreamFileToolkit &tk) |
|
void | Record_Instance (BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const |
|
void | Remember_Item (BStreamFileToolkit &tk, ID_Key key) const |
|
ID_Key | remove_segment (BStreamFileToolkit &tk) |
| for internal use only
|
|
bool | RemoveAngularBrackets (char *string) |
|
bool | RemoveQuotes (char *string) |
|
void | Revisit (BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const |
|
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
|
|
TK_Status | SkipNewlineAndTabs (BStreamFileToolkit &tk, unsigned int *readSize=0) |
|
bool | validate_count (int count, int limit=1<< 24) const |
|
|
float | m_bbox [6] |
| A bounding box around the unrestricted dimensions. If the data is 2d, only the first 4 values are used, and it becomes a bounding rectangle.
|
|
int | m_bits_per_sample |
| the number of bits per sample. Should be tk.GetNumVertexBits()/3
|
|
unsigned char | m_compression_scheme |
| If the TKPP_COMPRESSED bit is set in m_subop, this variable tracks the specific compression algorithm used.
|
|
float | m_dbbox [6] |
| A bounding box around the unrestricted dimensions. If the data is 2d, only the first 4 values are used, and it becomes a bounding rectangle.
|
|
double * | m_dpoints |
| The points array.
|
|
float | m_dtemprange [2] |
| 1d bounds of the stragglers
|
|
int * | m_lengths |
| The length of each primitive.
|
|
int | m_lengths_allocated |
| The number of array elements that we have allocated for primitive lengths.
|
|
int | m_point_count |
| The number of points.
|
|
float * | m_points |
| The points array.
|
|
int | m_points_allocated |
| The number of points for which we have allocated space (to save time, we only reallocate the points array if it needs to be expanded, not on every call to Reset()).
|
|
int | m_points_num_dimensions |
| The number of unrestricted dimensions in the points array that must be completely specified.
|
|
int | m_points_num_floats |
| The number of independent floating point values required to specify the points array (equals m_point_count*3 for 3d data, but less for 2d)
|
|
int | m_primitive_count |
| The number of primitives. Omitted from read/write (it can be deduced from the lengths array) unless TKPP_HAS_EXPLICIT_PRIMITIVE_COUNT bit is set.
|
|
unsigned short | m_subop |
| Suboptions. Among other things, it specifies all 2d restrictions that can be made on the points. Be careful when testing for the 2d bits, because some have multiple bits set. For this reason, you should use the form if((m_subop & mask) == value) instead of if(m_subop & bit)
|
|
int | m_substage |
| tracks progress during helper functions
|
|
int | m_templen |
| the length of all stragglers left behind (e.g. an array of floats of length m_primitive_count if TKPP_PER_PRIMITIVE_X subop bit is set)
|
|
float | m_temprange [2] |
| 1d bounds of the stragglers
|
|
unsigned char * | m_workspace |
| Raw data after packing.
|
|
int | m_workspace_allocated |
| The amount of workspace area allocated.
|
|
int | m_workspace_used |
| The amount of workspace area used.
|
|
Protected Attributes inherited from BBaseOpcodeHandler |
char * | m_ascii_buffer |
|
int | m_ascii_length |
|
int | m_ascii_progress |
| Tracks the amount of data that has been read/written so far by GetAscii functions.
|
|
int | m_ascii_size |
|
int | m_ascii_stage |
|
unsigned char | m_byte |
| temporary
|
|
char | m_char |
| temporary
|
|
bool | m_collection_part |
| Indicates if this object is part of a LOD collection.
|
|
int | m_debug_allocated |
|
char * | m_debug_string |
|
unsigned char | m_general_flags |
| Basic flags common to many handlers.
|
|
int | m_int |
| temporary
|
|
bool | m_needs_tag |
| Indicate if this object explicitly needs tagging.
|
|
unsigned char | m_opcode |
| The opcode being handled by this particular object.
|
|
int | m_progress |
| Tracks the amount of data that has been read/written so far.
|
|
int | m_stage |
| The writing stage.
|
|
unsigned short | m_unsigned_short |
| temporary
|
|
|
Static Protected Member Functions inherited from BBaseOpcodeHandler |
static void | fix (int *i, int n) |
| for internal use only
|
|
static void | fix (short *s, int n) |
| for internal use only
|
|
static void | fix_in (float *f, int n) |
| for internal use only
|
|
static void | fix_in (double *d, int n) |
| for internal use only
|
|
static void | fix_out (float *f, int n) |
| for internal use only
|
|
static void | fix_out (double *d, int n) |
| for internal use only
|
|
static short | flip (short s) |
| for internal use only
|
|
static int | flip (int i) |
| for internal use only
|
|
static TK_Status | GetData (BStreamFileToolkit &tk, char *b, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, short *s, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, int *i, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, float *f, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, double *d, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char *b, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short *s, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int *i, int n) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, char &c) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, short &s) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, int &i) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char &b) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short &s) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int &i) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, float &f) |
|
static TK_Status | GetData (BStreamFileToolkit &tk, double &d) |
|
static TK_Status | LookatData (BStreamFileToolkit &tk, unsigned char &b) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, char const *b, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, short const *s, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, int const *i, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, float const *f, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, double const *d, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const *b, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const *s, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const *i, int n) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, char const &c) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, short const &s) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, int const &i) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const &b) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const &s) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const &i) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, float const &f) |
|
static TK_Status | PutData (BStreamFileToolkit &tk, double const &d) |
|
static float | read_float (char const *cp, char const **newcpp=0) |
|
static float | read_float (char const *cp, char **newcpp) |
| for internal use only
|
|
static char * | write_float (char *buffer, double f) |
| for internal use only
|
|
Handles the TKE_PolyPolyline opcode.
TK_Polypoint provides support for writing/reading the TKE_PolyPolyline opcode objects to/from an HSF file.
TKE_PolyPolyline is an alternative to TKE_Polyline and TKE_Line. It is a more compressed way of handling large numbers of polylines and lines. The idea is that by grouping primitives together, better compression algorithms can be run for them. This class utilizes some of the same compression schemes that are implemented in TK_Shell.
This class is especially optimal for dealing with 2d data. With all of the 12 combinations ("zero", "constant", "per-primitive" or "unrestricted" along any of the 3 standard axes X, Y and/or Z), we leverage the restrictions that we can make to compress as deeply as possible. There is no provision for point data that is "mostly" 2d, however, so such data will be encoded as 3d. For this reason, performance will improve if all 2d lines and polylines can be put in a segment or segments that are separate from any 3d line data.
The HOOPS/3dGS scene-graph supports 'polyline' and 'polygon' primitives which are both defined by a point count and points array.