Class: TProcedureMap

Declaration: MapUtilities.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MCollectible

Inherited By:

TNoiseProcedureMap

Purpose:

TProcedureMap is an abstract base class for procedure maps. A procedure map is used by a shader (typically, a TProcedureMapShader) to simulate a textured surface by invoking an arbitrary algorithm that modifies the shading information. Unlike image texture maps and bump maps, procedure maps are not based on an image. A procedure map can be used to alter the surface point's color or shading normal, or both.

Instantiation:

Abstract class; do not allocate.

Deriving Classes:

Deriving classes must override the pure virtual member functions GetValue, GetRequiredShadingVariables, and GetModifiedShadingVariables.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TProcedureMap::~TProcedureMap

virtual ~ TProcedureMap ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::GetValue

virtual void GetValue (TShadingSample & shadingSample, const TSceneState & sceneState) const

Interface Category:

API.

Purpose:

Returns, in its TShadingSample argument, the modified shading information for the surface point. This is a pure virtual function that must be overridden by the derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::GetRequiredShadingVariables

virtual void GetRequiredShadingVariables (TShadingUsageVariables & variables) const

Interface Category:

API.

Purpose:

Returns, in its TShadingUsageVariables argument, a list of the TShadingSample fields that are needed by the shader. This is a pure virtual function that must be overridden by the derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::GetModifiedShadingVariables

virtual void GetModifiedShadingVariables (TShadingUsageVariables & variables) const

Interface Category:

API.

Purpose:

Returns, in its TShadingUsageVariables argument, a list of the TShadingSample fields that are modified by the shader. This is a pure virtual function that must be overridden by the derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::operator>>=

virtual TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::operator<<=

virtual TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::TProcedureMap

  1. TProcedureMap ()
  2. TProcedureMap (const TProcedureMap & map)

Interface Category:

API.

Purpose:

  1. Default constructor. This is a protected constructor that must be overridden by the derived classes.
  2. Copy constructor. This is a protected constructor that must be overridden by the derived classes.

Calling Context:

  1. Called by the stream-in operators. Do not call this function directly.
  2. Called to copy an object. Do not call this function directly, except from within the copy constructor of a derived class.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TProcedureMap::operator=

TProcedureMap & operator =(const TProcedureMap & source)

Interface Category:

API.

Purpose:

Assignment operator. This is a protected member function that must be overridden by the derived classes.

Calling Context:

Do not call this function directly, except from within the operator

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.