Class: TLinkableClippingSceneState

Declaration: SceneState.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TSceneState

Inherited By:

TSceneBundle

Purpose:

TLinkableClippingSceneState is an abstract class derived from TSceneState. The base class provides protocol for accessing the scene attributes, as well as functionality for maintaining a time stamp. To these functions, TLinkableClippingSceneState adds the pure virtual member functions LinkTo and Unlink. Contrary to what you might expect from experience with other classes, the LinkTo function is not used to build a hierarchy of TSceneStates. Instead, this LinkTo function takes a TMatrixState and TClipState as arguments. From these, the TLinkableClippingSceneState obtains the 2-D view matrix and clip area, which its camera uses to calculate its own 3-D matrix. TLinkableClippingSceneState is used mainly through its concrete derived class, TSceneBundle.

Instantiation:

Abstract class; do not allocate.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TLinkableClippingSceneState::~TLinkableClippingSceneState

virtual ~ TLinkableClippingSceneState ()

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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::TLinkableClippingSceneState

  1. TLinkableClippingSceneState ()
  2. TLinkableClippingSceneState (const TLinkableClippingSceneState &)

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 member function that is designed to be overridden by the 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: TLinkableClippingSceneState::operator=

TLinkableClippingSceneState & operator =(const TLinkableClippingSceneState &)

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 =of a derived class.

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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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: TLinkableClippingSceneState::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.