The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information. More...
#include <BStreamFileToolkit.h>
Public Member Functions | |
virtual void | ActivateContext (ID_Key key) |
TK_Status | AddBounds (ID_Key key, float const bounds[]) |
bool | AddExternalReference (char const *ref, ID_Key context) |
bool | AddExternalReference (__wchar_t const *ref, ID_Key context) |
TK_Status | AddIndexKeyPair (int index, ID_Key key) |
void | AddSegment (ID_Key key) |
TK_Status | AddVariant (ID_Key key, int variant, int value1, int value2=-1) |
TK_Status | AppendLastKey (ID_Key key) |
BStreamFileToolkit () | |
void | ClearLastKey () |
void | ClearPauses () |
virtual TK_Status | CloseFile () |
virtual TK_Status | CloseGeometry () |
void | CloseLogFile () |
int | CurrentBufferLength () |
ID_Key | CurrentSegment () |
virtual void | DeactivateContext (ID_Key key) |
virtual TK_Status | Error (char const *msg=0) const |
int | GeneratedSoFar () const |
bool | GeometryIsOpen () const |
bool | GetAsciiMode () |
TK_Status | GetBounds (ID_Key key, float bounds[]) const |
int | GetBufferLimit () const |
__wchar_t const * | GetCurrentFile () const |
void | GetCurrentFile (__wchar_t const *&filename) const |
int | GetDictionaryFormat () const |
int | GetDictionaryOffset () const |
int | GetDictionaryOptions () const |
int | GetDictionarySize () const |
wchar_t const * | GetExternalReference () const |
void | GetExternalReference (__wchar_t const *&exref) const |
ID_Key | GetExternalReferenceContext () const |
unsigned int | GetFileOffset () const |
Gets the file offset, a displacement to be added to positions used in the dictionary (for example, in case the data is appended to another file) | |
virtual TK_Status | GetFileSize (unsigned HLONG &size) |
int | GetFirstPause () const |
int | GetFlags () const |
int | GetJpegQuality () const |
TK_Status | GetLastKey (ID_Key &key) const |
char const * | GetLogFile () const |
bool | GetLogging () const |
unsigned int | GetLoggingOptions (unsigned int mask=~0) const |
int | GetNumColorBits () const |
int | GetNumIndexBits () const |
int | GetNumNormalBits () const |
int | GetNumParameterBits () const |
int | GetNumVertexBits () const |
TK_Status | GetOffset (ID_Key key, int variant, int &offset) const |
TK_Status | GetOffset (ID_Key key, int variant, int &offset, int &length) const |
TK_Status | GetOffset (ID_Key key, int variant, int &offset, int &length, __wchar_t const *&filename) const |
BBaseOpcodeHandler * | GetOpcodeHandler (int which) const |
int | GetPauseCount () const |
int const * | GetPauseTable () const |
int | GetPosition () const |
TK_Progress_Callback | GetProgressCallback () const |
void * | GetProgressValue () const |
float | GetQuantizationError () const |
int | GetReadFlags (int mask=~0) const |
int | GetTabs () |
int | GetTargetVersion () const |
int | GetVersion () const |
float const * | GetWorldBounding () const |
int | GetWriteFlags (int mask=~0) const |
bool | HeaderCommentSeen () const |
TK_Status | IndexToKey (int index, ID_Key &key) const |
TK_Status | KeyToIndex (ID_Key key, int &index) const |
virtual TK_Status | LocateDictionary () |
virtual TK_Status | LocateEntity (ID_Key key, int variant) |
void | LogEntry (char const *string) const |
void | LogEntry (__wchar_t const *string) const |
virtual bool | MatchPreviousExRef () const |
virtual void | NewFileContext (ID_Key key) |
bool | NextExternalReference () |
unsigned int | NextOpcodeSequence () |
int | NextTagIndex () |
unsigned int | ObjectsSoFar () const |
virtual TK_Status | OpenFile (char const *name, bool write=false) |
virtual TK_Status | OpenFile (__wchar_t const *name, bool write=false) |
virtual TK_Status | OpenGeometry () |
TK_Status | OpenLogFile (char const *filename, char const *mode) |
TK_Status | ParseBuffer (char const *b, int s, TK_Status mode=TK_Normal) |
int | PeekTagIndex () const |
virtual TK_Status | PositionFile (int offset) |
TK_Status | PrepareBuffer (char *b, int s) |
TK_Status | Read_Stream_File () |
virtual TK_Status | ReadBuffer (char *buffer, int size, int &amount_read) |
void | RecordPause (int offset) |
ID_Key | RemoveSegment () |
void | ReportQuantizationError (float error) |
void | ReportQuantizationError (int bits_per_sample, float const *bounding, int num_dimensions=3) |
void | ResetQuantizationError () |
virtual void | Restart () |
ID_Key | RevisitKey () const |
ID_Key | RevisitOwner () const |
TK_Status | SelectFile (char const *name) |
TK_Status | SelectFile (__wchar_t const *name) |
TK_Status | SetAsciiMode (bool whether) |
void | SetBufferLimit (int limit) |
void | SetDictionaryFormat (int format=3, int options=TK_Dictionary_Bounding_Volumes) |
void | SetDictionaryOffset (int offset) |
void | SetDictionarySize (int size) |
void | SetFilename (char const *name) |
void | SetFilename (__wchar_t const *name) |
void | SetFileOffset (unsigned int offset) |
Sets the file offset, a displacement to be added to positions used in the dictionary (for example, in case the data is appended to another file) | |
void | SetFirstPause (int offset) |
void | SetFlags (int flags) |
void | SetJpegQuality (int quality=75) |
void | SetLastKey (ID_Key key) |
void | SetLogFile (char const *filename=0) |
void | SetLogging (bool setting) |
void | SetLoggingOptions (unsigned int options=~0) |
void | SetNewFile (char const *name) |
void | SetNewFile (__wchar_t const *name) |
void | SetNumColorBits (int numbits) |
void | SetNumIndexBits (int numbits) |
void | SetNumNormalBits (int numbits) |
void | SetNumParameterBits (int numbits) |
void | SetNumVertexBits (int numbits) |
void | SetOpcodeHandler (int which, BBaseOpcodeHandler *handler) |
void | SetOpcodeSequence (unsigned int seq=0) |
void | SetPostwalkHandler (BBaseOpcodeHandler *handler) |
void | SetPrewalkHandler (BBaseOpcodeHandler *handler) |
void | SetProgressCallback (TK_Progress_Callback cb=0) |
void | SetProgressValue (void *value) |
void | SetReadFlags (int flags) |
void | SetReadVersion (int version) |
void | SetTabs (int) |
void | SetTargetVersion (int version) |
void | SetWorldBounding (float const bbox[]) |
void | SetWorldBoundingBySphere (float const pt[], float radius) |
void | SetWriteFlags (int flags) |
int | Unused () const |
virtual TK_Status | WriteBuffer (char *buffer, int size) |
![]() | |
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 | |
Static Public Member Functions | |
static int | ParseVersion (char const *block) |
static bool | SupportsAsciiMode () |
Protected Attributes | |
void * | m_file |
The BStreamFileToolkit class provides support for importing/exporting HOOPS Stream File information.
BStreamFileToolkit is the primary support class which manages streaming of HOOPS Stream File data into the HOOPS database. The class also provides support for the user to manage export of information from the HOOPS database to a HOOPS Stream File. It is HOOPS/3dGS-independent; therefore the data does not have to reside in a HOOPS/3dGS scene-graph prior to export and it will not be mapped to a HOOPS/3dGS scene-graph during import. (See the opcode handler notes below)
The HSF file reading process involves reading the opcode at the start of each piece of binary information, and calling the Read method of the associated opcode handler. After the opcode handler reports that reading is complete, the Execute method should be called. The ParseBuffer method of the BStreamFileToolkit object encapsulates this process.
The HSF file writing process involves determining the proper opcode for each piece of binary information, and calling the Interpret method of the associated opcode handler. After interpretation is complete, the Write method of the opcode handler should be called until writing is complete.
BStreamFileToolkit uses a concept of opcode handlers to manage reading and writing of logical pieces of binary information stored in the file. A set of default opcode handlers support standard HOOPS file objects such as segments, attributes and geometry, and the toolkit can be extended by deriving from the existing opcode handlers or adding new ones in order to handle user-specific data. All of the default opcode handlers registered with this class are of the naming convention TK_XXX, where XXX is the type of HSF object. The TK_XXX opcode handlers only provide implementations of the Read and Write methods; therefore the following two methods need to be implemented:
Streaming refers to a method of import where the user can incrementally supply pieces of data to the file toolkit object. This is useful in order to incrementally update the scene while data is still being read in, rather than wait until the entire file has been read before any visual result is available.
To begin the streaming process, read a buffer of HOOPS Stream File data from a local file, a remote location, or memory. This reading process could happen asynchronously on a thread that is separate from the main application thread. The toolkit class provides some wrapper functions to open/close and read/write a buffer of data to and from the HOOPS Stream File.
BStreamFileToolkit::BStreamFileToolkit | ( | ) |
Default constructor for an BStreamFileToolkit object
|
inlinevirtual |
While parsing a buffer it may be necessary to keep a context. This method will be called by ParseBuffer to activate a context, and should be overloaded to provide custom context-activation.
key | A context identifier |
Reimplemented in HStreamFileToolkit.
Records the bounding volume associated with a previously recorded object.
key | The HOOPS key of the object |
bounds | The bounding volume as 6 floats (min & max points of a box) |
bool BStreamFileToolkit::AddExternalReference | ( | char const * | ref, |
ID_Key | context | ||
) |
Saves an external reference (string) and associated context (current open segment) to be processed.
ref | external reference string |
context | external reference context |
bool BStreamFileToolkit::AddExternalReference | ( | __wchar_t const * | ref, |
ID_Key | context | ||
) |
Saves an external reference (Unicode string) and associated context (current open segment) to be processed.
ref | external reference Unicode string |
context | external reference context |
Associates a HOOPS key with a file index, and adds the an entry to the toolit's index/key association table.
index | An integer denoting a file index. |
key | The HOOPS key that to associate with the specified index. |
void BStreamFileToolkit::AddSegment | ( | ID_Key | key | ) |
Adds the specified key to the from of a list to keep track of "open" segments.
key | of segment being openned |
|
inline |
Records the file offset, and optionally the size, of a variant (LOD) associated with a previously recorded key.
key | The HOOPS key of the object |
variant | The variant (LOD number) being recorded |
value1 | The file offset of the start of the variant |
value2 | The size of the variant |
Appends the identifier of the last object processed to the current identifier list
void BStreamFileToolkit::ClearLastKey | ( | ) |
Clears identifier of the last object processed
|
inline |
Clears the pause table
|
virtual |
Closes a file. This acts as a simple wrapper for the 'fclose' command.
|
inlinevirtual |
Completes dealing with geometry-level attributes
References TK_Normal.
void BStreamFileToolkit::CloseLogFile | ( | ) |
Closes the log file
|
inline |
Returns how much of the internal data buffer is currently filled
|
inline |
Returns the key of the currently "open" segment
|
inlinevirtual |
While parsing a buffer it may be necessary to keep a context. This method will be called by ParseBuffer to deactivate a context, and should be overloaded to provide custom context-deactivation.
key | A context identifier |
Reimplemented in HStreamFileToolkit.
|
virtual |
Prints out a debug message informing the user that an error has occurred. Also provides a handy choke point for break points during debugging.
Referenced by BBaseOpcodeHandler::Clone().
|
inline |
Returns the number of bytes that have been written since the beginning of the writing process. This is currently used internally during writing to build up a dictionary of file offets for each logical piece of binary data in the file, so that random lookups may be performed during file loading.
|
inline |
Queries the state of geometry-level attribute handling
bool BStreamFileToolkit::GetAsciiMode | ( | ) |
Ascii is a deprecated mode. DO NOT USE.
Returns the bounding volume associated with a previously recorded key.
key | The HOOPS key of the object |
bounds | The bounding volume as 6 floats (min & max points of a box) |
|
inline |
Returns the progress passthrough value
|
inline |
Returns the name of the last file, if any, that was associated with the toolkit.
|
inline |
Returns the name of the last file, if any, that was associated with the toolkit.
The | pointer to receive the adress of then name of the file associated with the toolkit. |
|
inline |
Returns the currently requested dictionary format level
|
inline |
Returns the recorded dictionary offset
|
inline |
Returns the options for the dictionary format.
|
inline |
Returns the recorded dictionary size
|
inline |
Returns the string representing the external reference at the beginning of the list, null if none.
|
inline |
Returns the string representing the external reference at the beginning of the list, null if none.
pointer | to receive the address of the external reference string |
|
inline |
Returns the context associated with the external reference at the beginning of the list, -1 if none.
|
virtual |
Utility function which returns the size of the currently open file. This acts a wrapper for fstat, and is used by the progress callback (if any), but might be reimplemented by classes derived from BStreamFileToolkit to perform custom file repositioning.
size | reference to the variable to receive the file size. |
|
inline |
supported for older code
|
inline |
Deprecated; Use GetWriteFlags; Returns the writing flags set on the toolkit.
|
inline |
Returns the current JPEG quality setting
Returns identifier of the last object processed
|
inline |
Returns the name of the log file
|
inline |
Returns the logging state
Referenced by BBaseOpcodeHandler::PutOpcode().
|
inline |
Returns the logging options
|
inline |
Returns the maximum number of bits that will be used per vertex color
|
inline |
Returns the maximum number of bits that will be used per vertex color-by-index
|
inline |
Returns the maximum number of bits that will be used per normal
|
inline |
Returns 3 times the number of bits that will be used per sample in vertex parameters (texture cordinate)
|
inline |
Returns the maximum number of bits that will be used per vertex location (x,y,z combined).
Returns the file offset of a variant (LOD) associated with a previously recorded key.
key | The HOOPS key of the object |
variant | The variant (LOD number) being recorded |
offset | The file offset of the start of the variant |
|
inline |
Returns the file offset and length of a variant (LOD) associated with a previously recorded key.
key | The HOOPS key of the object |
variant | The variant (LOD number) being recorded |
offset | The file offset of the start of the variant |
length | The size of the variant (returned as 0 if unknown) |
TK_Status BStreamFileToolkit::GetOffset | ( | ID_Key | key, |
int | variant, | ||
int & | offset, | ||
int & | length, | ||
__wchar_t const *& | filename | ||
) | const |
Returns the file offset and length of a variant (LOD) associated with a previously recorded key.
key | The HOOPS key of the object |
variant | The variant (LOD number) being recorded |
offset | The file offset of the start of the variant |
length | The size of the variant (returned as 0 if unknown) |
filename | pointer to the stored filename associated with the key (may be null) |
|
inline |
|
inline |
Returns the number of pauses recorded
|
inline |
Returns the pause offsets
|
inline |
Returns the current file position
|
inline |
Returns the progress callback
|
inline |
Returns the progress passthrough value
|
inline |
|
inline |
Returns the reading flags set on the toolkit. These flags control various import properties, and are defined in TK_File_Read_Options
mask | of flags to be returned (default is all). |
|
inline |
Returns the file format version desired for writing
Referenced by BBaseOpcodeHandler::PutGeneral().
|
inline |
Returns the file format version during reading
Referenced by BBaseOpcodeHandler::GetGeneral().
|
inline |
|
inline |
Returns the writing flags set on the toolkit. These flags control a variety of export properties, and are defined in TK_File_Write_Options
mask | of flags to be returned (default is all). |
Referenced by BBaseOpcodeHandler::Tagging().
|
inline |
Returns true if the header comment has been processed
Calculates the HOOPS key associated with the specified index.
index | An integer denoting a file index. |
key | The HOOPS key associated with the specified index. Returned to user. Passed by reference. |
Calculates the index associated with the specified HOOPS key.
key | A HOOPS key. |
index | An integer denoting the file index associated with the HOOPS key. Returned to user. Passed by reference. |
|
virtual |
Instructs the BStreamFileToolkit object to sets its internal file pointer to the location of the file dictionary. The dictionary contains entries for the file locations of various representations of entities.
Objects which are derived from BStreamFileToolkit may reimplement to support locating a dictionary for a file that resides on a remote location such as a web server. This might involve passing a message that instructs the server process to locate the dictionary.
Instructs the BStreamFileToolkit object to sets its internal file pointer to the location of a variant of an entity, which could be the full representation or a LOD representation. This allows reading a single entity from the file, even though it resides at an offset in the file.
key | The key of a HOOPS entity. |
variant | The variant of the HOOPS entity to locate. 0 represents the full representation, 1 represents LOD level 1, etc.... |
void BStreamFileToolkit::LogEntry | ( | char const * | string | ) | const |
Writes a message into the log
void BStreamFileToolkit::LogEntry | ( | __wchar_t const * | string | ) | const |
Writes a message into the log with wide characters
|
inlinevirtual |
Allows derived toolkits to process an external reference directly if it matches a previous one
Reimplemented in HStreamFileToolkit.
|
inlinevirtual |
While processing External_References a previously visited context will be revisited. This method will be called by the default Read_Stream_File to indicate that context should be prepared to receive content, and should be overloaded to provide custom preparation. This might include operations such as clearing out any placeholder geometry.
key | A context identifier |
Reimplemented in HStreamFileToolkit.
bool BStreamFileToolkit::NextExternalReference | ( | ) |
Removes the current external reference and readies the next one (if any).
|
inline |
internal use
Referenced by BBaseOpcodeHandler::PutOpcode().
|
inline |
Reserves & returns the next available tag index
|
inline |
Returns the number of objects that have been written since the beginning of the writing process. This is available to applications for estimation of writing progress if there is a means of estimating the total.
|
virtual |
Opens a file. This acts as a simple wrapper for the 'fopen' command.
name | The name of the file to open. |
write | True if the file is open for writing, otherwise, file is open for reading. |
|
virtual |
Opens a file. This acts as a simple wrapper for the 'fopen' command.
name | The name of the file to open. |
write | True if the file is open for writing, otherwise, file is open for reading. |
|
inlinevirtual |
Prepares the toolkit for dealing with geometry-level attributes
References TK_Normal.
TK_Status BStreamFileToolkit::OpenLogFile | ( | char const * | filename, |
char const * | mode | ||
) |
Opens the log file for writing.
filename | the name of the file to be opened as a log |
mode | passed through to fopen |
ParseBuffer reads the opcode at the start of the binary data buffer and continually calls the Read method of the associated opcode handler. The Read methods of the default object handlers read binary information from the buffer that was passed in and convert it into HOOPS/3dGS formatted segment, geometry and attribute information. After the opcode handler reports that reading is complete, ParseBuffer calls the Execute method of the opcode handler.
If the HOOPS/3dGS-specific opcode handlers are being used (the HoopsStream classes, of the form HTK_XXX) then the Execute methods will call the appropriate HOOPS/3dGS functions to either create segemnts, insert geometry or set attributes underneath the currently open HOOPS/3dGS segment. When using HoopsStream, a HOOPS/3dGS scene-graph segment must currently be open before calling ParseBuffer.
If the HOOPS/3dGS-independent default object handlers are used (the BaseStream classes, of the form TK_XXX), then the Execute method does nothing and the developer would need to overload it to map the HSF data to custom data structures.
If the buffer being parsed ends in the middle of an object, it will be saved along with any HOOPS database state information and the next buffer will be appended to it.
The mode parameter allows for control of how the buffer is parsed. The default of TK_Normal indicates read until the Termination code.
TK_Pause indicates read to the next Pause or Termination. If the HOOPS Stream File has been written out with default streaming properties, a pause will occur at the end of the HOOPS segment tree. This tree contains simple bounding box representations for the HOOPS geometric primitives that are used to represent facetted surfaces.
TK_Single indicates read only the first object in the buffer. If the buffer ends in the middle of an object, it will be saved and the next buffer will be appended to it. Any extra data in the buffer than is associated with more than one object is thrown away. This is referred to as 'a la carte mode', and is useful when the application wants specific entities to be read in from the file, typically from random locations. This is necessary for image sweetening.
b | A pointer to a character buffer. |
s | An integer denoting the length of the buffer. |
mode | A flag controlling how the buffer is to be parsed. |
|
static |
ParseVersion attempts to read a given block as a header to extract the file version
block | A pointer to a character buffer. |
|
inline |
Returns the next available tag index without reserving it for use
|
virtual |
Utility function which repositions the current file pointer. This acts a wrapper for fseek, and is used by LocateDictionary and LocateEntity, but might be reimplemented by classes derived from BStreamFileToolkit to perform custom file repositioning.
offset | If positive, repositions the file pointer to offset bytes from the beginning of the file, otherwise repositions the file pointer to offset bytes from the end of the file. |
TK_Status BStreamFileToolkit::PrepareBuffer | ( | char * | b, |
int | s | ||
) |
Tells the toolkit where to begin writing data.
b | A character pointer denoting the buffer to write into. |
s | Size of the buffer |
TK_Status BStreamFileToolkit::Read_Stream_File | ( | ) |
Reads the file associated with the toolkit (internal utility).
|
virtual |
Reads a buffer of data to the file associated with the BStreamFileToolkit object. This acts as a simple wrapper for the 'fread' command.
buffer | Character buffer used to store the data being read. |
size | Integer denoting amount of data to read. |
amount_read | The amount of data actually read into the buffer. |
void BStreamFileToolkit::RecordPause | ( | int | offset | ) |
Record a pause at the given file offset
offset | File offset of this pause |
ID_Key BStreamFileToolkit::RemoveSegment | ( | ) |
Removes the most currently "openned" segment
|
inline |
Intended primarily for use by opcode handlers, this function sets m_quantization_error to error if it is the largest error seen so far.
void BStreamFileToolkit::ReportQuantizationError | ( | int | bits_per_sample, |
float const * | bounding, | ||
int | num_dimensions = 3 |
||
) |
Intended primarily for use by opcode handlers, this function calculates the longest dimension cell size and uses that as an upper bound on quantization error for a call to ReportQuantizationError
|
inline |
resets the quantization error back to zero
|
virtual |
Initializes the file toolkit. This is useful if a single toolkit object is to be used for dealing with different files, rather than deleting the current toolkit object and creating a new instance. Call this function after processing of the current file is complete.
Reimplemented in HStreamFileToolkit.
TK_Status BStreamFileToolkit::SelectFile | ( | char const * | name | ) |
[Re]Selects a previously accessed file for further processing
name | The name of the file. |
TK_Status BStreamFileToolkit::SelectFile | ( | __wchar_t const * | name | ) |
[Re]Selects a previously accessed file for further processing
name | The Unicode name of the file. |
TK_Status BStreamFileToolkit::SetAsciiMode | ( | bool | whether | ) |
Ascii is a deprecated mode. DO NOT USE.
|
inline |
Sets the progress passthrough value
References TK_DEFAULT_BUFFER_SIZE.
|
inline |
Sets the desired dictionary format level and options
format | The desried dictionary format |
options | Bitmask of any options that many modify a specific format |
|
inline |
Sets (records) the dictionary offset
offset | The dictionary offset |
|
inline |
Sets (records) the dictionary size
size | The dictionary size |
void BStreamFileToolkit::SetFilename | ( | char const * | name | ) |
Sets the starting filename for the toolkit (normally used internally).
name | The name of the file. |
void BStreamFileToolkit::SetFilename | ( | __wchar_t const * | name | ) |
Sets the starting filename for the toolkit (normally used internally).
name | The name of the file. |
|
inline |
supported for older code
|
inline |
Deprecated; Use SetWriteFlags; Sets the toolkit writing flags.
|
inline |
Sets the quality level for JPEG compression, range is 0-100, 0 disables, 75 by default
void BStreamFileToolkit::SetLastKey | ( | ID_Key | key | ) |
Reports to the toolkit the identifier of the last object processed
void BStreamFileToolkit::SetLogFile | ( | char const * | filename = 0 | ) |
Sets the name of the log file
|
inline |
Sets the logging state. If true, the toolkit will output files called hsf_export_log.txt and hsf_import_log.txt which contain a byte representing each opcode that was exported or imported. during the write and/or read phase, respectively.
|
inline |
Sets the logging options. controls the types of logging information collected.
void BStreamFileToolkit::SetNewFile | ( | char const * | name | ) |
Associates a new filename with the toolkit.
name | The name of the file. |
void BStreamFileToolkit::SetNewFile | ( | __wchar_t const * | name | ) |
Associates a new Unicode filename with the toolkit.
name | The name of the file. |
|
inline |
Sets the maximum number of bits to use for vertex colors
|
inline |
Sets the maximum number of bits to use for vertex colors-by-index
|
inline |
Sets the maximum number of bits that will be used per normal (x,y, and z combined). The default is 10 (for the entire normal). Opcode handlers may, at their option, decide to use less
|
inline |
Sets the number of bits per sample for vertex parameters (texture coordinates). For backwards compatibility it is specified as 3 times the number (previous versions of the stream toolkit specified the number of bits for the entire parameter, but always assumed 3 parameters (u,v,w) per vertex). Thus, for example, if you specify '24' bits, a 1d texture will have 8 bits total, a 2d texture will have 16, and a 3d texture will have 24.
|
inline |
Sets the maximum number of bits to use for vertex locations (x,y, and z combined). Default is 24.
void BStreamFileToolkit::SetOpcodeHandler | ( | int | which, |
BBaseOpcodeHandler * | handler | ||
) |
Registers an opcode handler for the specified type, allowing for variations on normal processing of HOOPS Stream Metafile objects, or handling of user-defined binary objects.
which | The type of binary object to associated the opcode handler with. |
handler | A pointer to an BBaseOpcodeHandler object. |
|
inline |
internal use
void BStreamFileToolkit::SetPostwalkHandler | ( | BBaseOpcodeHandler * | handler | ) |
Registers an opcode handler which will be called by the toolkit after it processes (walks and imports/exports) the HOOPS segment tree. This allows the user to import/export user-specified data from/to the HOOPS Stream File, at a location following the segment tree information. objects, or handling of user-defined binary objects.
handler | A pointer to an BBaseOpcodeHandler object. |
void BStreamFileToolkit::SetPrewalkHandler | ( | BBaseOpcodeHandler * | handler | ) |
Registers an opcode handler which will be called by the toolkit before it processes (walks and imports/exports) the HOOPS segment tree. This allows the user to import/export user-specified data from/to the HOOPS Stream File, at a location prior to the segment tree information. objects, or handling of user-defined binary objects.
handler | A pointer to an BBaseOpcodeHandler object. |
|
inline |
Sets the progress callback
|
inline |
Sets the progress passthrough value
|
inline |
Sets the toolkit reading flags. These flags control various import properties, and are defined in TK_File_Read_Options
|
inline |
for reading embedded hsf data for which format version is externally available.
|
inline |
This method sets the file format version desired for writing. The default value for the target version is the most recent version in the File Version table.
\param version The HSF file version you are writing out. For instance, to export a v15.00 HSF File, pass 1500.
References TK_File_Format_Version.
void BStreamFileToolkit::SetWorldBounding | ( | float const | bbox[] | ) |
Sets the global bounding box to be used for bounding box aggegation. This is utilized when the TK_Global_Quantization bit of TK_File_Write_Options is set
bbox | pointer to the bounding box coordinates |
void BStreamFileToolkit::SetWorldBoundingBySphere | ( | float const | pt[], |
float | radius | ||
) |
Sets the global bounding box (by sphere) be used for bounding box aggegation. This is utilized when the TK_Global_Quantization bit of TK_File_Write_Options is set
pt | center point of sphere |
radius | radius of sphere |
|
inline |
Sets the toolkit writing flags. These flags control a variety of export properties, and are defined in TK_File_Write_Options
|
inlinestatic |
Ascii is a deprecated mode. DO NOT USE.
|
inline |
|
virtual |
Writes a buffer of data to the file associated with the BStreamFileToolkit object. This acts as a simple wrapper for the 'fwrite' command.
buffer | Character buffer to be written out. |
size | Integer denoting amount of data to write. |
|
protected |
Pointer to the file associated with the BStreamFileToolkit object