Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

TK_Color Class Reference

Handles the TKE_Color opcode. More...

#include <BOpcodeHandler.h>

Inheritance diagram for TK_Color:

BBaseOpcodeHandler BControlledMemoryObject HTK_Color

List of all members.

Public Member Functions

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

Protected Member Functions

void set_channel_name (channel &c, int length, int which_channel=-1)
 internal use
void set_channel_name (channel &c, char const *name, 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

Classes

class  channel


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:
tk A reference to the BStreamFileToolkit object.
handler A pointer to the opcode handler object. Passed by reference.
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

Reimplemented in HTK_Color.

char* TK_Color::GetBumpName (  )  [inline]

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

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

Returns the address of the bump texture name string.

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* TK_Color::GetDiffuseName (  )  [inline]

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

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

Returns the address of the diffuse color name string.

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

Returns the emission color as the address of a float triplet

char* TK_Color::GetEmissionName (  )  [inline]

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

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

Returns the address of the emission color name string.

char* TK_Color::GetEnvironmentName (  )  [inline]

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

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

Returns the address of the environment texture name string.

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* TK_Color::GetMirrorName (  )  [inline]

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

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

Returns the address of the mirror color name string.

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

Returns the specular color as the address of a float triplet

char* TK_Color::GetSpecularName (  )  [inline]

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

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

Returns the address of the specular color name string.

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

Returns the transmission color as the address of a float triplet

char* TK_Color::GetTransmissionName (  )  [inline]

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

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

Returns the address of the transmission color name string.

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:
tk A 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 ( 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::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::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 const *  rgb  )  [inline]

Sets the diffuse color using a float triplet

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::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::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::SetEmission ( float const *  rgb  )  [inline]

Sets the emission color using a float triplet

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::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::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::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::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::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 const *  rgb  )  [inline]

Sets the mirror color using a float triplet

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::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::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::SetSpecular ( float const *  rgb  )  [inline]

Sets the specular color using a float triplet

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::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::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::SetTransmission ( float const *  rgb  )  [inline]

Sets the transmission color using a float triplet

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::SetTransmissionName ( int  length  )  [inline]

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

References TKO_Channel_Transmission.

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.

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:
tk A 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: