Handles the TKE_Heuristics opcode. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
int | GetCulling () const |
int | GetExtras () const |
int | GetForceDefer () const |
int | GetHardExtent () const |
int | GetInternalPolylineSelectionLimit () const |
int | GetInternalSelectionLimit () const |
int | GetInternalShellSelectionLimit () const |
int | GetMask () const |
float | GetMaxDistance () const |
int | GetMaximumExtent () const |
int | GetMaximumExtentLevel () const |
int | GetMaximumExtentMode () const |
float | GetOrderedWeight (int index) const |
float const * | GetOrderedWeights () const |
float * | GetOrderedWeights () |
int | GetOrderedWeightsMask () const |
int | GetPixelThreshold () const |
int | GetRelatedSelectionLimit () const |
int | GetSelectionCulling () const |
int | GetSelectionLevel () const |
int | GetValue () const |
float const * | GetVector () const |
float | GetVectorTolerance () const |
float const * | GetViewVolume () const |
TK_Status | Read (BStreamFileToolkit &tk) |
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
Deprecated. | |
void | SetCulling (int c) |
void | SetExtras (int e) |
void | SetForceDefer (int l) |
void | SetHardExtent (int c) |
void | SetInternalPolylineSelectionLimit (int i) |
void | SetInternalSelectionLimit (int i) |
void | SetInternalShellSelectionLimit (int i) |
void | SetMask (int m) |
void | SetMaxDistance (float m) |
void | SetMaximumExtent (int c) |
void | SetMaximumExtentLevel (int c) |
void | SetMaximumExtentMode (int c) |
void | SetOrderedWeight (int index, float weight) |
void | SetOrderedWeightsMask (int c) |
void | SetPixelThreshold (int c) |
void | SetRelatedSelectionLimit (int r) |
void | SetSelectionCulling (int c) |
void | SetSelectionLevel (int l) |
void | SetValue (int v) |
void | SetVector (float x, float y, float z) |
void | SetVector (float const *v) |
void | SetVectorTolerance (float tol) |
void | SetViewVolume (float ax, float ay, float az, float bx, float by, float bz) |
void | SetViewVolume (float const *v) |
TK_Heuristics () | |
TK_Status | Write (BStreamFileToolkit &tk) |
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
Deprecated. | |
Protected Attributes | |
int | m_culling |
internal use; culling options | |
unsigned char | m_extras |
internal use; low bit set == left handed, second bit set == spriting | |
int | m_force_defer |
internal use; hard extent | |
int | m_hard_extent |
internal use; hard extent | |
int | m_internal_polyline |
internal use | |
int | m_internal_shell |
internal use | |
int | m_mask |
internal use | |
float | m_max_distance |
internal use; max distance | |
int | m_maximum_extent |
internal use; maximum extent | |
char | m_maximum_extent_level |
internal use; maximum extent level | |
int | m_maximum_extent_mode |
internal use; maximum extent mode -- int! argh... | |
unsigned char | m_model_type |
float | m_ordered_weights [TKO_Heur_Order_Count] |
unsigned char | m_ordered_weights_mask |
int | m_pixel_threshold |
internal use; pixel threshold | |
int | m_related |
internal use | |
int | m_selection_culling |
internal use; selection culling options | |
unsigned char | m_selection_level |
int | m_value |
internal use | |
float | m_vector [3] |
internal use; culling vector | |
float | m_vector_tolerance |
internal use; culling vector tolerance | |
float | m_view_volume [6] |
internal use; view volume |
Handles the TKE_Heuristics opcode.
TK_Heuristics provides support for writing/reading the TKE_Heuristics opcode object to/from an HSF file.
The HOOPS/3dGS scene-graph supports an attribute called Heuristics which provide instructions about scene-graph optimizations or required calculations
TK_Heuristics::TK_Heuristics | ( | ) | [inline] |
constructor
TK_Status TK_Heuristics::Clone | ( | BStreamFileToolkit & | tk, |
BBaseOpcodeHandler ** | handler | ||
) | const [virtual] |
Copies the opcode handler
tk | A reference to the BStreamFileToolkit object. |
handler | A pointer to the opcode handler object. Passed by reference. |
Reimplemented from BBaseOpcodeHandler.
int TK_Heuristics::GetCulling | ( | ) | const [inline] |
Returns the culling mode.
int TK_Heuristics::GetExtras | ( | ) | const [inline] |
Returns the 'extra' bits.
int TK_Heuristics::GetForceDefer | ( | ) | const [inline] |
Returns the force defer level.
int TK_Heuristics::GetHardExtent | ( | ) | const [inline] |
Gets the Hard Extent
int TK_Heuristics::GetInternalPolylineSelectionLimit | ( | ) | const [inline] |
Returns the internal polyline selection limit
int TK_Heuristics::GetInternalSelectionLimit | ( | ) | const [inline] |
Returns the internal selection limit
int TK_Heuristics::GetInternalShellSelectionLimit | ( | ) | const [inline] |
Returns the internal shell selection limit
int TK_Heuristics::GetMask | ( | ) | const [inline] |
Returns the mask indicating which heuristics have a setting. Options are specified by TKO_Heuristic_Bits.
float TK_Heuristics::GetMaxDistance | ( | ) | const [inline] |
Gets the Hard Extent
int TK_Heuristics::GetMaximumExtent | ( | ) | const [inline] |
Gets the Maximum Extent
int TK_Heuristics::GetMaximumExtentLevel | ( | ) | const [inline] |
Gets the Maximum Extent Level
int TK_Heuristics::GetMaximumExtentMode | ( | ) | const [inline] |
Gets the Maximum Extent Mode
float TK_Heuristics::GetOrderedWeight | ( | int | index | ) | const [inline] |
Return a single drawing order weighting factor
float const* TK_Heuristics::GetOrderedWeights | ( | ) | const [inline] |
Returns the array of drawing order weighting factors
float* TK_Heuristics::GetOrderedWeights | ( | ) | [inline] |
Returns the array of drawing order weighting factors, which may be modified directly
int TK_Heuristics::GetOrderedWeightsMask | ( | ) | const [inline] |
Gets the mask of drawing order weight values which are interesting
int TK_Heuristics::GetPixelThreshold | ( | ) | const [inline] |
Gets the Pixel Threshold
int TK_Heuristics::GetRelatedSelectionLimit | ( | ) | const [inline] |
Returns the related selection limit
int TK_Heuristics::GetSelectionCulling | ( | ) | const [inline] |
Returns the culling mode.
int TK_Heuristics::GetSelectionLevel | ( | ) | const [inline] |
Returns the selection level mode.
int TK_Heuristics::GetValue | ( | ) | const [inline] |
Returns the mask indicating which heuristics are set on/active. Options are specified by TKO_Heuristic_Bits.
float const* TK_Heuristics::GetVector | ( | ) | const [inline] |
Gets the Culling Vector
float TK_Heuristics::GetVectorTolerance | ( | ) | const [inline] |
Gets the Culling Vector Tolerance
float const* TK_Heuristics::GetViewVolume | ( | ) | const [inline] |
Gets the Culling view volume
TK_Status TK_Heuristics::Read | ( | BStreamFileToolkit & | tk | ) | [virtual] |
Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.
void TK_Heuristics::SetCulling | ( | int | c | ) | [inline] |
Sets the culling mode. These bits indicate forms of scene culling which may be used.
void TK_Heuristics::SetExtras | ( | int | e | ) | [inline] |
Sets the 'extra' bits. These bits are used to indicate an alternate form for some of the options.
void TK_Heuristics::SetForceDefer | ( | int | l | ) | [inline] |
Sets the force defer level.
void TK_Heuristics::SetHardExtent | ( | int | c | ) | [inline] |
Sets the limit for hard extent culling
void TK_Heuristics::SetInternalPolylineSelectionLimit | ( | int | i | ) | [inline] |
Sets the internal polyline selection limit
void TK_Heuristics::SetInternalSelectionLimit | ( | int | i | ) | [inline] |
Sets the internal selection limit
void TK_Heuristics::SetInternalShellSelectionLimit | ( | int | i | ) | [inline] |
Sets the internal shell selection limit
void TK_Heuristics::SetMask | ( | int | m | ) | [inline] |
Sets the mask indicating which heuristics have a setting. Options are specified by TKO_Heuristic_Bits.
References TKO_Heuristic_Extended, and TKO_Heuristic_Extended_Mask.
void TK_Heuristics::SetMaximumExtent | ( | int | c | ) | [inline] |
Sets the upper limit for extent culling
void TK_Heuristics::SetMaximumExtentLevel | ( | int | c | ) | [inline] |
Sets the Maximum Extent Level
void TK_Heuristics::SetMaximumExtentMode | ( | int | c | ) | [inline] |
Sets the Maximum Extent Mode
void TK_Heuristics::SetOrderedWeight | ( | int | index, |
float | weight | ||
) | [inline] |
Sets a specified drawing order weighting factor
void TK_Heuristics::SetOrderedWeightsMask | ( | int | c | ) | [inline] |
Sets the mask of drawing order weight values which are interesting
void TK_Heuristics::SetPixelThreshold | ( | int | c | ) | [inline] |
Sets the minimum number of pixels that must be touched under an occlusion culling node for it to be considered for drawing
void TK_Heuristics::SetRelatedSelectionLimit | ( | int | r | ) | [inline] |
Sets the related selection limit
void TK_Heuristics::SetSelectionCulling | ( | int | c | ) | [inline] |
Sets the selection culling mode. These bits indicate forms of scene culling which may be used.
void TK_Heuristics::SetSelectionLevel | ( | int | l | ) | [inline] |
Sets the selection level mode.
void TK_Heuristics::SetValue | ( | int | v | ) | [inline] |
Sets the mask indicating which heuristics are set on/active. Options are specified by TKO_Heuristic_Bits.
void TK_Heuristics::SetVector | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the Culling Vector using discrete values
void TK_Heuristics::SetVector | ( | float const * | v | ) | [inline] |
void TK_Heuristics::SetVectorTolerance | ( | float | tol | ) | [inline] |
Sets the Culling Vector Tolerance
void TK_Heuristics::SetViewVolume | ( | float | ax, |
float | ay, | ||
float | az, | ||
float | bx, | ||
float | by, | ||
float | bz | ||
) | [inline] |
Sets the Culling view volume using discrete values
void TK_Heuristics::SetViewVolume | ( | float const * | v | ) | [inline] |
Sets the Culling view volume using a float array
References SetViewVolume().
Referenced by SetViewVolume().
TK_Status TK_Heuristics::Write | ( | BStreamFileToolkit & | tk | ) | [virtual] |
Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.