Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

TK_Color Class Reference

Handles the TKE_Color opcode. More...

#include <BOpcodeHandler.h>

List of all members.

Classes

class  channel

Public Member Functions

TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
char const * GetBumpName () const
char * GetBumpName ()
int GetChannels () const
float const * GetDiffuse () const
char const * GetDiffuseName () const
char * GetDiffuseName ()
float const * GetEmission () const
char const * GetEmissionName () const
char * GetEmissionName ()
char const * GetEnvironmentName () const
char * GetEnvironmentName ()
int GetGeometry () const
float GetGloss () const
float GetIndex () const
float const * GetMirror () const
char const * GetMirrorName () const
char * GetMirrorName ()
float const * GetSpecular () const
char const * GetSpecularName () const
char * GetSpecularName ()
float const * GetTransmission () const
char const * GetTransmissionName () const
char * GetTransmissionName ()
TK_Status Read (BStreamFileToolkit &tk)
TK_Status ReadAscii (BStreamFileToolkit &tk)
 Deprecated.
void Reset ()
void SetBumpName (char const *name)
void SetBumpName (int length)
void SetChannels (int c)
void SetDiffuse (float r, float g, float b)
void SetDiffuse (float const *rgb)
void SetDiffuseName (char const *name)
void SetDiffuseName (int length)
void SetEmission (float r, float g, float b)
void SetEmission (float const *rgb)
void SetEmissionName (char const *name)
void SetEmissionName (int length)
void SetEnvironmentName (char const *name)
void SetEnvironmentName (int length)
void SetGeometry (int m)
void SetGloss (float g)
void SetIndex (float i)
void SetMirror (float r, float g, float b)
void SetMirror (float const *rgb)
void SetMirrorName (char const *name)
void SetMirrorName (int length)
void SetSpecular (float r, float g, float b)
void SetSpecular (float const *rgb)
void SetSpecularName (char const *name)
void SetSpecularName (int length)
void SetTransmission (float r, float g, float b)
void SetTransmission (float const *rgb)
void SetTransmissionName (char const *name)
void SetTransmissionName (int length)
TK_Status Write (BStreamFileToolkit &tk)
TK_Status WriteAscii (BStreamFileToolkit &tk)
 Deprecated.

Protected Member Functions

void set_channel_name (channel &c, char const *name, int which_channel=-1)
 internal use
void set_channel_name (channel &c, int length, int which_channel=-1)
 internal use
void set_channel_rgb (channel &c, float r, float g, float b, int which_channel=-1)
 internal use

Protected Attributes

channel m_bump
 internal use
short m_channels
 internal use
channel m_diffuse
 internal use
channel m_emission
 internal use
channel m_environment
 internal use; note: environment & bump are never a simple RGB type color
float m_gloss
 internal use
float m_index
 internal use
int m_mask
 internal use
channel m_mirror
 internal use
channel m_specular
 internal use
int m_substage
 internal use; To track the subcases
channel m_transmission
 internal use

Detailed Description

Handles the TKE_Color opcode.

TK_Color provides support for writing/reading the TKE_Color opcode object to/from an HSF file.

The HOOPS/3dGS scene-graph segments can have a 'named' color (i.e. "faces = red, lines = blue")


Member Function Documentation

TK_Status TK_Color::Clone ( BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler 
) const [virtual]

Copies the opcode handler

Parameters:
tkA reference to the BStreamFileToolkit object.
handlerA pointer to the opcode handler object. Passed by reference.
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

Reimplemented in HTK_Color.

char const* TK_Color::GetBumpName ( ) const [inline]

Returns the address of the bump texture name string.

char* TK_Color::GetBumpName ( ) [inline]

Returns the address of the bump texture name buffer, which may be modified directly.

int TK_Color::GetChannels ( ) const [inline]

Returns the mask indicating which color/material components are valid. Color channels are specified by TKO_Color_Channels.

float const* TK_Color::GetDiffuse ( ) const [inline]

Returns the diffuse color as the address of a float triplet

char const* TK_Color::GetDiffuseName ( ) const [inline]

Returns the address of the diffuse color name string.

char* TK_Color::GetDiffuseName ( ) [inline]

Returns the address of the diffuse color name buffer, which may be modified directly.

float const* TK_Color::GetEmission ( ) const [inline]

Returns the emission color as the address of a float triplet

char const* TK_Color::GetEmissionName ( ) const [inline]

Returns the address of the emission color name string.

char* TK_Color::GetEmissionName ( ) [inline]

Returns the address of the emission color name buffer, which may be modified directly.

char const* TK_Color::GetEnvironmentName ( ) const [inline]

Returns the address of the environment texture name string.

char* TK_Color::GetEnvironmentName ( ) [inline]

Returns the address of the environment texture name buffer, which may be modified directly.

int TK_Color::GetGeometry ( ) const [inline]

Returns the mask value which indicates which types of geometry are affected by this color setting. Geometry types are specified by TKO_Geometry_Bits.

float TK_Color::GetGloss ( ) const [inline]

Returns the gloss value

float TK_Color::GetIndex ( ) const [inline]

Returns the index of refraction

float const* TK_Color::GetMirror ( ) const [inline]

Returns the mirror color as the address of a float triplet

char const* TK_Color::GetMirrorName ( ) const [inline]

Returns the address of the mirror color name string.

char* TK_Color::GetMirrorName ( ) [inline]

Returns the address of the mirror color name buffer, which may be modified directly.

float const* TK_Color::GetSpecular ( ) const [inline]

Returns the specular color as the address of a float triplet

char const* TK_Color::GetSpecularName ( ) const [inline]

Returns the address of the specular color name string.

char* TK_Color::GetSpecularName ( ) [inline]

Returns the address of the specular color name buffer, which may be modified directly.

float const* TK_Color::GetTransmission ( ) const [inline]

Returns the transmission color as the address of a float triplet

char const* TK_Color::GetTransmissionName ( ) const [inline]

Returns the address of the transmission color name string.

char* TK_Color::GetTransmissionName ( ) [inline]

Returns the address of the transmission color name buffer, which may be modified directly.

TK_Status TK_Color::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.

Parameters:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implements BBaseOpcodeHandler.

void TK_Color::Reset ( ) [virtual]

Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

Reimplemented from BBaseOpcodeHandler.

void TK_Color::SetBumpName ( char const *  name) [inline]

Sets the bump texture as a string value. Allocates the buffer and copies the string

References TKO_Channel_Bump.

void TK_Color::SetBumpName ( int  length) [inline]

Sets the bump texture string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Bump.

void TK_Color::SetChannels ( int  c) [inline]

Sets the mask indicating which color/material components are valid. Color channels are specified by TKO_Color_Channels. Note that TKO_Color_Channels are **NOT** bit masks, but rather indices, so you should pass (1<<TKO_Channel_Diffuse) here, for example.

References TKO_Channel_Extended, and TKO_Channel_Extended_Shift.

void TK_Color::SetDiffuse ( float  r,
float  g,
float  b 
) [inline]

Sets the diffuse color using discrete rgb values

References TKO_Channel_Diffuse.

void TK_Color::SetDiffuse ( float const *  rgb) [inline]

Sets the diffuse color using a float triplet

References SetDiffuse().

Referenced by SetDiffuse().

void TK_Color::SetDiffuseName ( char const *  name) [inline]

Sets the diffuse color as a string value. Allocates the buffer and copies the string

References TKO_Channel_Diffuse.

void TK_Color::SetDiffuseName ( int  length) [inline]

Sets the diffuse color string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Diffuse.

void TK_Color::SetEmission ( float  r,
float  g,
float  b 
) [inline]

Sets the emission color using discrete rgb values

References TKO_Channel_Emission.

void TK_Color::SetEmission ( float const *  rgb) [inline]

Sets the emission color using a float triplet

References SetEmission().

Referenced by SetEmission().

void TK_Color::SetEmissionName ( char const *  name) [inline]

Sets the emission color as a string value. Allocates the buffer and copies the string

References TKO_Channel_Emission.

void TK_Color::SetEmissionName ( int  length) [inline]

Sets the emission color string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Emission.

void TK_Color::SetEnvironmentName ( char const *  name) [inline]

Sets the environment texture as a string value. Allocates the buffer and copies the string

References TKO_Channel_Environment.

void TK_Color::SetEnvironmentName ( int  length) [inline]

Sets the environment texture string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Environment.

void TK_Color::SetGeometry ( int  m) [inline]

Sets the mask value which indicates which types of geometry are affected by this color setting. Geometry types are specified by TKO_Geometry_Bits.

References TKO_Geo_All_Colors, TKO_Geo_Extended, TKO_Geo_Extended2, TKO_Geo_Extended2_Mask, TKO_Geo_Extended_Colors, TKO_Geo_Extended_Colors_Mask, and TKO_Geo_Extended_Mask.

void TK_Color::SetGloss ( float  g) [inline]

Sets the gloss value

References TKO_Channel_Gloss.

void TK_Color::SetIndex ( float  i) [inline]

Sets the index of refraction

References TKO_Channel_Index.

void TK_Color::SetMirror ( float  r,
float  g,
float  b 
) [inline]

Sets the mirror color using discrete rgb values

References TKO_Channel_Mirror.

void TK_Color::SetMirror ( float const *  rgb) [inline]

Sets the mirror color using a float triplet

References SetMirror().

Referenced by SetMirror().

void TK_Color::SetMirrorName ( char const *  name) [inline]

Sets the mirror color as a string value. Allocates the buffer and copies the string

References TKO_Channel_Mirror.

void TK_Color::SetMirrorName ( int  length) [inline]

Sets the mirror color string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Mirror.

void TK_Color::SetSpecular ( float  r,
float  g,
float  b 
) [inline]

Sets the specular color using discrete rgb values

References TKO_Channel_Specular.

void TK_Color::SetSpecular ( float const *  rgb) [inline]

Sets the specular color using a float triplet

References SetSpecular().

Referenced by SetSpecular().

void TK_Color::SetSpecularName ( char const *  name) [inline]

Sets the specular color as a string value. Allocates the buffer and copies the string

References TKO_Channel_Specular.

void TK_Color::SetSpecularName ( int  length) [inline]

Sets the specular color string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Specular.

void TK_Color::SetTransmission ( float  r,
float  g,
float  b 
) [inline]

Sets the transmission color using discrete rgb values

References TKO_Channel_Transmission.

void TK_Color::SetTransmission ( float const *  rgb) [inline]

Sets the transmission color using a float triplet

References SetTransmission().

Referenced by SetTransmission().

void TK_Color::SetTransmissionName ( char const *  name) [inline]

Sets the transmission color as a string value. Allocates the buffer and copies the string

References TKO_Channel_Transmission.

void TK_Color::SetTransmissionName ( int  length) [inline]

Sets the transmission color string buffer. Allocates a buffer to hold a string of 'length' characters

References TKO_Channel_Transmission.

TK_Status TK_Color::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.

Parameters:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implements BBaseOpcodeHandler.


The documentation for this class was generated from the following file: