Class: TLinkableSceneState

Declaration: SceneState.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TSceneState

Inherited By:

None.

Purpose:

TLinkableSceneState is an abstract class derived from TSceneState. The parent class provides protocol for accessing the scene attributes, as well as functionality for maintaining a time stamp. To these functions, TLinkableSceneState adds the pure virtual member functions LinkTo and Unlink, which are used to link to and unlink from another TSceneState, in order to create a linked hierarchy of TSceneStates. Note that there is another TSceneState derived class, TLinkableClippingSceneState, which provides a different type of linking protocol.

Instantiation:

Abstract class; do not allocate.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TLinkableSceneState::~TLinkableSceneState

virtual ~ TLinkableSceneState ()

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: TLinkableSceneState::GetAmbientLight

virtual void GetAmbientLight (TColor &) const

Interface Category:

API.

Purpose:

Returns, in its argument, a TColor indicating the intensity and hue of the ambient light shining on the scene. This is a pure virtual function that must be overridden by 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: TLinkableSceneState::GetAtmosphereShader

virtual const TAtmosphereShader * GetAtmosphereShader () const

Interface Category:

API.

Purpose:

Returns a constant pointer to the TAtmosphereShader, which simulates atmospheric attenuation due to haze, clouds, or fog between the objects in the scene and the viewer. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a constant pointer to the TAtmosphereShader, which simulates atmospheric attenuation due to haze, clouds, or fog between the objects in the scene and the viewer.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableSceneState::GetCamera

virtual const TCamera * GetCamera () const

Interface Category:

API.

Purpose:

Returns a constant pointer to the TCamera, which simulates a camera or eye that views the scene. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a constant pointer to the TCamera, which simulates a camera or eye that views the scene.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableSceneState::GetSceneAttribute

virtual const TGrafAttribute * GetSceneAttribute (const TToken & attributeName) const

Interface Category:

API.

Purpose:

Returns a constant pointer to the named extended TGrafAttribute. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a constant pointer to the named TGrafAttribute. Returns NIL if the name attribute is not found.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableSceneState::CreateSceneAttributeIterator

virtual TSceneAttributeIterator * CreateSceneAttributeIterator () const

Interface Category:

API.

Purpose:

Creates an iterator that accesses the scene's extended attributes (but not the standard attributes). This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a pointer to a TSceneAttributeIterator that can be used to access the extended attributes held by this object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TLinkableSceneState::LinkTo

virtual void LinkTo (const TSceneState * parent)

Interface Category:

API.

Purpose:

Links this object to the specified parent TSceneState. 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: TLinkableSceneState::Unlink

virtual void Unlink ()

Interface Category:

API.

Purpose:

Severs the link between this object and its parent object. 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: TLinkableSceneState::TLinkableSceneState

  1. TLinkableSceneState ()
  2. TLinkableSceneState (const TLinkableSceneState &)

Interface Category:

API.

Purpose:

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

Calling Context:

  1. Do not call this function directly.
  2. 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: TLinkableSceneState::operator=

TLinkableSceneState & operator =(const TLinkableSceneState &)

Interface Category:

API.

Purpose:

Assignment operator. This is a protected member function that is designed to be overridden by 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.

Member Function: TLinkableSceneState::operator>>=

TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator. This is a protected member function that is designed to be overridden by derived classes.

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: TLinkableSceneState::operator<<=

TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator. This is a protected member function that is designed to be overridden by derived classes.

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: TLinkableSceneState::CreateLightIterator

virtual TIteratorOver < TKeyValuePair < TLightSurrogate , TLight >>* CreateLightIterator () const

Interface Category:

API.

Purpose:

Creates an iterator that can be used to access the list of lights that shine upon the scene from specific locations. This is a pure virtual function that must be overridden by derived classes.

Calling Context:

Do not call this function directly.

Parameters:

Return Value:

Returns a pointer to a TIterator object that can be used to access the list of lights that shine upon the scene.

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.