BStream.h
Macro Definitions
Types
Fields
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
Functions
typename T |
|
|
|
|
|
|
|
|
|
|
Detailed Description
The HOOPS/Stream Toolkit utilizes several global enumerated types. The functions which black box support for writing and reading HOOPS Stream Files are also global, and are defined in BStream.h
Macro Definition
-
__wchar_t
-
BBINFILETK_API2
-
BBINFILETK_API
-
TK_File_Format_Version
the HSF specification version that this toolkit supports (along with any previous versions)
-
TK_DEFAULT_BUFFER_SIZE
default amount of the internal memory buffer used for file processing
-
ID_Key
ID_Key is just a pointer sized long integer by which it is assumed that the graphics system can uniquely identify its contents. Declared as 64-bit on win64 systems because a long is not big enough to store a pointer there (unlike all other 64-bit systems we have supported in the past
-
alter
complementary to const, indicates we thought about it instead of a forgotten “const”
Type Documentation
-
enum TK_File_Write_Options
Options which control how the HOOPS Stream File is generated.
An HSF file has a variety of properties, and the toolkit utilizes default logic when generating a file. This enumerated type gives the user high-level control over file compression, tagging and content. These options are set by calling BStreamFileToolkit::SetWriteFlags
Values:
-
enumerator TK_Suppress_LOD
No LODS are exported, only the original shells are written out (single pass); implicitly disables dictionary
-
enumerator TK_Full_Resolution_Vertices
Data fidelity is required for geometry; this causes the full single-precision floating point information to be exported; does not affect LODs or lossless compression of connectivity information
-
enumerator TK_Full_Resolution_Normals
Data fidelity is required for normals; as in above description of TK_Full_Resolution_Points
-
enumerator TK_First_LOD_Is_Bounding_Box
Adds a new LOD to represent the lowest resolution of objects, which is a bounding box representation
-
enumerator TK_Force_Tags
All appropriate objects (geometries,segments,includes) will be tagged
-
enumerator TK_Disable_Priority_Heuristic
Disables organization of multiresolution objects according to heuristic cost/benifit.
-
enumerator TK_Disable_Global_Compression
Inline lossless compression will not be used
-
enumerator TK_Disable_Instancing
Object instancing will not be used
-
enumerator TK_Generate_Dictionary
Enables random-access by creation of the file dictionary
-
enumerator TK_Connectivity_Compression
Enables connectivity compression
-
enumerator TK_Disable_Tristrips
Disables triangle strips, and the triangulation it requires, in shells. Incurs a heavy read-time computational cost.
-
enumerator TK_Disable_Compound_Primitives
Disables the use of OpcodeHandlers that encode multiple primitives (since they cannot be properly tagged)
-
enumerator TK_Global_Quantization
Causes any required quantization to be global (bbox of scene) instead of local (bbox of individual geometry) . Regardless of this flag, however, local quantization applies until the first TKE_Bounding_Info. HStreamFiletoolkit sends a TKE_Bounding_Info automatically, but BStreamFiletoolkit does not.
-
enumerator TK_Full_Resolution_Parameters
Data fidelity is required for parameters (a.k.a texture coordinates); as in above description of TK_Full_Resolution_Points
-
enumerator TK_Full_Resolution_Colors
Data fidelity is required for vertex/face colors; as in above description of TK_Full_Resolution_Points
-
enumerator TK_Full_Resolution_Index_Colors
Data fidelity is required for vertex/face colors-by-index; as in above description of TK_Full_Resolution_Points
-
enumerator TK_Communicator_Mode
Alters HSF Export for easier web viewer parsing
-
enumerator TK_Disable_Custom_Shader
Disables custom shaders.
-
enumerator TK_All_Global_Textures
Include all global textures, new default is only those referenced.
-
enumerator TK_No_Global_Textures
Skip all global textures. Overrides “All” option if both set
-
enumerator TK_Full_Resolution
for convenience, a combination of 5 other options.
-
enumerator TK_Suppress_LOD
-
enum TK_Dictionary_Options
This enumerated type gives the user control of specific options to include if a dictionary is generated
Values:
-
enumerator TK_Dictionary_Bounding_Volumes
dictionary entries include bounding volume info
-
enumerator TK_Dictionary_Bounding_Volumes
-
enum TK_File_Read_Options
Options which control how the HOOPS Stream File is read
Values:
-
enumerator TK_Flag_Unhandled_Opcodes
Instructs toolkit to return an error for opcodes which are not handled by a custom toolkit during reading; the default is to silently skip over unhandled opcodes
-
enumerator TK_Ignore_Version
Version checking will be bypassed
-
enumerator TK_Skip_External_References
TKE_External_Reference filespecs will not be read (the strings will still be stored in toolkit by the default handler)
-
enumerator TK_Ignore_Bounding_LODs
Instructs the toolkit to ignore any explicit bounding box lods included in the stream file
-
enumerator TK_Disable_Deferal
Instructs the toolkit to do thing in order rather than reordering as desired.
-
enumerator TK_Flag_Unhandled_Opcodes
-
enum TK_Debug_Logging_Options
Options which control what data is collected when creating a debug log
Values:
-
enumerator TK_Logging_Sequence
Record sequence numbers
-
enumerator TK_Logging_Tagging
Record tag indices
-
enumerator TK_Logging_Segment_Names
Record segment names
-
enumerator TK_Logging_Sequence
-
enum TK_General_Flags
General flags which may be used by many opcodes
Values:
-
enumerator TK_Double_Precision
entity is double precision
-
enumerator TK_Has_Condition
entity has an associated condition
-
enumerator TK_Has_Filter
entity has an associated filter
-
enumerator TK_Has_Custody
entity has an owning interest in its referee
-
enumerator TK_UTF8_Strings
entity string(s) are UTF8 rather than (presumably) ISO Latin-1
-
enumerator TK_Double_Precision
Field Documentation
-
int TK_File_Format_History[]
Table of format changes, commented values are informational (were never included in a release,.