Class: TFrameBundle3D

Declaration: Bundles3D.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TLocalAttribute3DState

Inherited By:

None.

Purpose:

TFrameBundle3D is a bundle class that is used for polygon frames. This bundle contains a collection of attributes that contain imaging information for the rendering device. A TFrameBundle3D collects together the attributes needed to render the frame for a particular 3-D graphic object, just as a TGrafBundle is used for 2-D. The MGraphic3D class associates a TFrameBundle3D with a 3-D geometry, in order to define the attributes needed for rendering the outer edge of the geometry--color, frame width, shader, balance, and so on.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Other Considerations:

When thick pen widths are used for 3-D polygon frames, the final rendering may appear unnatural. This is because perspective computations do not apply to frames. Therefore, if a framed edge is receding from the camera, the frame will not diminish in width. If a true wire frame is desired, consider using a hairline frame.

Member Function: TFrameBundle3D::TFrameBundle3D

  1. TFrameBundle3D ()
  2. TFrameBundle3D (const TFrameBundle3D &)
  3. TFrameBundle3D (const TColor & frameColor, GCoordinate penWidth =1, TPen :: EPenBalance balance =TPen :: kCenterFrame)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.
  3. A constructor used when certain parameters are desired, such as pen width.

Calling Context:

  1. Called by the stream-in operators and can be called directly.
  2. Called to copy an object.
  3. Called when a non-default frame bundle object is desired.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameBundle3D::~TFrameBundle3D

virtual ~ TFrameBundle3D ()

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

TFrameBundle3D & operator =(const TFrameBundle3D &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

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: TFrameBundle3D::SetFrameColor

void SetFrameColor (const TColor & frameColor)

Interface Category:

API.

Purpose:

Sets the color to be used when rendering the frame.

Calling Context:

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: TFrameBundle3D::SetPenWidth

void SetPenWidth (GCoordinate penWidth)

Interface Category:

API.

Purpose:

Sets the pixel width of the frame.

Calling Context:

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: TFrameBundle3D::SetPenBalance

void SetPenBalance (TPen :: EPenBalance balance)

Interface Category:

API.

Purpose:

Sets the pen balance for the frame. This specifies where, in relation to the edge of the rendered geometry, to render the frame. It can be drawn on the inside or outside of the geometry, or straddle the edge (when a value of kCenterFrame is used).

Calling Context:

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: TFrameBundle3D::GetOutsideColor

virtual const TColor * GetOutsideColor () const

Interface Category:

API.

Purpose:

Returns the outside color being used for this frame.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Pointer to the outside color object being used.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameBundle3D::GetFramePen

virtual const TPen * GetFramePen () const

Interface Category:

API.

Purpose:

Gets the TPen object that is used for the rendering of the frame.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to this frame's TPen.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameBundle3D::GetDrawingOperation

virtual TAttributeState :: EDrawOperation GetDrawingOperation () const

Interface Category:

API.

Purpose:

Returns the EDrawOperation that contains the rendering information.

Calling Context:

Call this function directly.

Parameters:

Return Value:

The EDrawingOperation value of the frame bundle.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameBundle3D::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: TFrameBundle3D::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.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.