Public Types | Static Public Member Functions | Public Attributes | Protected Member Functions

Vg3DModule::VgLineDescriptor Struct Reference

A structure which describes the attributes of a Vg3DModule::VgLine. More...

Inheritance diagram for Vg3DModule::VgLineDescriptor:
Inheritance graph
[legend]
Collaboration diagram for Vg3DModule::VgLineDescriptor:
Collaboration graph
[legend]

List of all members.

Public Types

typedef VgLine Described

Static Public Member Functions

static VgEngine::VgRefPtr
< Vg3DModule::VgLineDescriptor
create ()
 This static method returns a new heap-allocated descriptor.

Public Attributes

std::vector< VgEngine::VgPositionmPositions
 The positions of the control points ordered sequentially.
std::vector< VgEngine::VgColormColors
 The line colors.
std::vector< double > mWidths
 The line widths.
VgEngine::VgRefPtr
< VgEngine::VgITexture
mTexture
 The texture that will be used when drawing the track.
float mTextureSize
 The texture's size in y coordinate (metric).
float mTextureAnimationSpeed
 The texture animation speed in meters/second (along the vertical axis of the texture).
VgLineType mLineType
 The type of line that will be rendered.
VgEngine::VgAltitudeMode mAltitudeMode
 The altitude mode tells how to interpret the 'mHeight' members for all the mPositions elements.

Protected Member Functions

 VgLineDescriptor ()
 Constructor.
virtual ~VgLineDescriptor ()

Detailed Description

A structure which describes the attributes of a Vg3DModule::VgLine.

Below is a code snippet showing how an allocated VgPointDescriptor can be configured:

     ...
     VgApplication::VgIApplication* mVgApplication;
     VgEngine::VgRefPtr< VgEngine::VgITexture > mTexture;
     VgEngine::VgPosition mStartPos;
     VgEngine::VgPosition mEndPos;
     ...

     Vg3DModule::VgLineDescriptor lLineDesc;
     const float lTextureSize = 1.0;
     
     lLineDesc.mLineType = Vg3DModule::eGeometryConstantSize;
     lLineDesc.mTextureAnimationSpeed = 4.0;
     lLineDesc.mWidths.push_back(lTextureSize);
     lLineDesc.mColors.push_back(VgEngine::VgColor(1.0, 1.0, 1.0, 1.0));
     lLineDesc.mTexture =mTexture.get();
     lLineDesc.mTextureSize = 1.0;
     lLineDesc.mAltitudeMode = = VgEngine::eAbsolute;
    
     lLineDesc.mPositions.push_back(mStartPos);
     lLineDesc.mPositions.push_back(mEndPos);
     ...
Version:
2.0

Member Typedef Documentation


Constructor & Destructor Documentation

Vg3DModule::VgLineDescriptor::VgLineDescriptor (  ) [inline, protected]

Constructor.

virtual Vg3DModule::VgLineDescriptor::~VgLineDescriptor (  ) [protected, virtual]

Member Function Documentation

static VgEngine::VgRefPtr< Vg3DModule::VgLineDescriptor > Vg3DModule::VgLineDescriptor::create (  ) [static]

This static method returns a new heap-allocated descriptor.

It is the only method that should be used to instantiate new descriptors. It is a way to make sure no one will delete it, except the last VgRefPtr pointing to it.


Member Data Documentation

The altitude mode tells how to interpret the 'mHeight' members for all the mPositions elements.

Default is eAbsolute.

The line colors.

This vector should contain either 1 element in which case all the line will be drawn using that color. If the vector's size is greater or equal to the size of VgLineDescriptor::mPositions, then one color element will be used for each position, and these will be interpolated by the spline erp.

The type of line that will be rendered.

The positions of the control points ordered sequentially.

If you want to close the VgLine you have to push_back the first point at the end of the vector.

The texture that will be used when drawing the track.

The texture mapping will ensure that the full texture width is mapped on the track's width.

Note:
If using a texture, then VgLineDescriptor::mLineType should be set to eGeometryConstantSize.

The texture animation speed in meters/second (along the vertical axis of the texture).

a zero or close-to-zero value (<1e-3) means no animation.

The texture's size in y coordinate (metric).

The line widths.

Depending on VgLineDescriptor::mLineType value these parameters can represent either pixel values (ePixelConstantSize) or meter values (eGeometryConstantSize). This vector should contain either 1 element in which case all the line will be drawn using that width. If the vector's size is greater or equal to the size of VgLineDescriptor::mPositions, then one width element will be used for each position, and these will be interpolated by the spline erp.

Note:
In case the line is of ePixelConstantSize type, only the first element will be used as the overall width, whatever the vector's size is.

The documentation for this struct was generated from the following file:
VisioDevKit 2.0, Visioglobe® 2013