Class: TSurfaceIsolines

Declaration: GrafAttribute.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TGrafAttribute

Inherited By:

None.

Purpose:

TSurfaceIsolines is a concrete class derived from TGrafAttribute. It represents an attribute that tells the renderer how densely to draw isolines on a 3-D surface (a TGSurface3D). Isolines (also known as isoparametric lines) are quasi-parallel curves that run along a curved surface in one parametric direction. A surface has two parametric directions that are roughly perpendicular, so the isolines along one direction cross the isolines along the other, dividing the surface into four-sided pieces. The TSurfaceIsolines attribute is needed only when the surface is being rendered in frame mode (in other words, when the draw type is eFrame); in fill mode, the surface is tessellated instead of being drawn with isolines. The attribute specifies the number of isolines to draw. If the number of lines is set to zero, only the edges of the surface are drawn. By default, the number of lines refers to the number of isolines per span. A span is the region between two control points along one parametric direction of the TGSurface3D. You can instead make the number refer to the number of isolines on the entire surface, by passing false to TSurfaceIsolines::SetLinesPerSpan (or by using the corresponding constructor argument).

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TSurfaceIsolines::TSurfaceIsolines

  1. TSurfaceIsolines ()
  2. TSurfaceIsolines (const TSurfaceIsolines &)
  3. TSurfaceIsolines (GCoordinate numLines, bool perSpan =true, bool drawCtlMesh =false)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.
  3. Constructor that constructs the surface isolines attribute.

Calling Context:

  1. Called by the stream-in operators . You can also call this function directly.
  2. Called to copy an object. You can also call this function directly.
  3. 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: TSurfaceIsolines::~TSurfaceIsolines

virtual ~ TSurfaceIsolines ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object. You can also 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: TSurfaceIsolines::GetSurfaceIsolines

virtual GCoordinate GetSurfaceIsolines () const

Interface Category:

API.

Purpose:

Returns the number of lines in TSurfaceIsolines.

Calling Context:

Call this function directly.

Parameters:

Return Value:

The number of TSurfaceIsolines per Span.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TSurfaceIsolines::SetSurfaceIsolines

virtual void SetSurfaceIsolines (GCoordinate numLines)

Interface Category:

API.

Purpose:

Sets the total number of surface isolines.

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: TSurfaceIsolines::GetLinesPerSpan

virtual bool GetLinesPerSpan () const

Interface Category:

API.

Purpose:

Determines whether the number of lines in GetSurfaceIsolines is per span.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if the number of lines is per span.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TSurfaceIsolines::SetLinesPerSpan

virtual void SetLinesPerSpan (bool perSpan)

Interface Category:

API.

Purpose:

Sets whether the number of isolines is per span or not.

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: TSurfaceIsolines::GetDrawControlMesh

virtual bool GetDrawControlMesh () const

Interface Category:

API.

Purpose:

Determines whether or not the drawing of the surface's control mesh is enabled.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if drawing of the control mesh is enabled.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TSurfaceIsolines::SetDrawControlMesh

virtual void SetDrawControlMesh (bool perSpan)

Interface Category:

API.

Purpose:

Sets whether or not the drawing of the surface's control mesh is enabled.

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: TSurfaceIsolines::GetName

virtual TToken GetName () const

Interface Category:

API.

Purpose:

Gets the name of this TSurfaceIsolines as a TToken. This is used to place and retrieve the attribute as its key.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns the name as a TToken.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TSurfaceIsolines::operator=

TSurfaceIsolines & operator =(const TSurfaceIsolines & source)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object. You can also call this function directly.

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

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

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data. You can also call this function directly.

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

virtual TStream & operator <<= (TStream & fromwhere)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream out data. You can also call this function directly.

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.