VisioMove  2.1.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Friends Pages
Vg3DModule::VgLineDescriptor Struct Reference

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

Inheritance diagram for Vg3DModule::VgLineDescriptor:
Inheritance graph

Public Types

typedef VgLine Described
 

Public Member Functions

VgEngine::VgRefPtr
< VgLineDescriptor
clone ()
 Creates a new descriptor by copyiong another one. More...
 
- Public Member Functions inherited from VgEngine::VgReferenced
 VgReferenced ()
 Constructor. More...
 
 VgReferenced (const VgReferenced &pThis)
 Copy constructor. More...
 
virtual ~VgReferenced ()
 Destructor. More...
 
VgReferencedoperator= (const VgReferenced &pThis)
 Assignment operator. More...
 
void ref () const
 This method is used to add a reference to this object. More...
 
int unref () const
 This method is used to remove a reference to this object. More...
 
int getNbReferences () const
 Retrieves the number of references to this object. More...
 

Static Public Member Functions

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

Public Attributes

std::vector< VgEngine::VgPositionmPositions
 The positions of the control points ordered sequentially. More...
 
std::vector< VgEngine::VgColormColors
 The line colors. More...
 
std::vector< double > mWidths
 The line widths. More...
 
VgEngine::VgRefPtr
< VgEngine::VgITexture
mTexture
 The texture that will be used when drawing the track. More...
 
float mTextureSize
 The texture's size in y coordinate (metric). More...
 
float mTextureAnimationSpeed
 The texture animation speed in meters/second (along the vertical axis of the texture). More...
 
VgLineType mLineType
 The type of line that will be rendered. More...
 
VgEngine::VgAltitudeMode mAltitudeMode
 The altitude mode tells how to interpret the 'mHeight' members for all the mPositions elements. More...
 
double mMaxCornerRadius
 This member sets the maximal curvature radius used in corners when smoothing the line. More...
 
bool mHaveCaps
 Tells whether the line should have round caps at start and end. More...
 
std::string mID
 The Line's identifier. More...
 
- Public Attributes inherited from Vg3DModule::VgGeometryDescriptor
double mVisibilityRampStartVisible
 Distance in meters at which it starts becoming visible. More...
 
double mVisibilityRampFullyVisible
 Distance in meters at which it is fully visible. More...
 
double mVisibilityRampStartInvisible
 Distance in meters at which it starts to become invisible. More...
 
double mVisibilityRampFullyInvisible
 Distance in meters at which it is fully invisible. More...
 
int mZIndex
 This member sets the z-index of the line. More...
 
bool mDrawOnTop
 Tells whether the line should draw on top (ignoring z-buffer). More...
 
float mScale
 VgIGeometry's initial scale. More...
 
bool mNotifyPOISelectedOnClick
 Call VgMapModule::VgIPlaceListener if the VgIGeometry has non-empty ID and is clicked This will be called after all the VgIGeometry callbacks have been called. More...
 

Protected Member Functions

 VgLineDescriptor ()
 Constructor. More...
 
virtual ~VgLineDescriptor ()
 
- Protected Member Functions inherited from Vg3DModule::VgGeometryDescriptor
 VgGeometryDescriptor ()
 Constructor. More...
 
virtual ~VgGeometryDescriptor ()
 Destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from VgEngine::VgReferenced
int mNbReferences
 The number of references to this object. More...
 

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;
...
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 ( )
inlineprotected

Constructor.

virtual Vg3DModule::VgLineDescriptor::~VgLineDescriptor ( )
protectedvirtual

Member Function Documentation

VgEngine::VgRefPtr< VgLineDescriptor > Vg3DModule::VgLineDescriptor::clone ( )
inline

Creates a new descriptor by copyiong another one.

Returns
The pointer to the copy.
Version
2.0.8955
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

VgEngine::VgAltitudeMode Vg3DModule::VgLineDescriptor::mAltitudeMode

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

Default is eAbsolute.

std::vector< VgEngine::VgColor > Vg3DModule::VgLineDescriptor::mColors

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.

Note
When using colors, the visibility ramps will not be able to adjust transparency, only binary (on/off) visibility is possible.
bool Vg3DModule::VgLineDescriptor::mHaveCaps

Tells whether the line should have round caps at start and end.

Default value is false.

Version
2.0.8955
std::string Vg3DModule::VgLineDescriptor::mID

The Line's identifier.

Default value is empty string ("").

See Also
VgEngine::VgQuery
Version
2.1.0
2.1.3 Changed default to be empty string.
VgLineType Vg3DModule::VgLineDescriptor::mLineType

The type of line that will be rendered.

Default value is eGeometryConstantSize.

double Vg3DModule::VgLineDescriptor::mMaxCornerRadius

This member sets the maximal curvature radius used in corners when smoothing the line.

expressed in meters.

Default value is infinity, thus it will take wide turns if possible.

Version
2.0.8955
std::vector< VgEngine::VgPosition > Vg3DModule::VgLineDescriptor::mPositions

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.

VgEngine::VgRefPtr< VgEngine::VgITexture > Vg3DModule::VgLineDescriptor::mTexture

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.
float Vg3DModule::VgLineDescriptor::mTextureAnimationSpeed

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. Default value is 0.0f.

Version
2.1.3 changed default value changed from 1.0 to 0.0f
float Vg3DModule::VgLineDescriptor::mTextureSize

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

Default value is 1.0f.

std::vector< double > Vg3DModule::VgLineDescriptor::mWidths

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:
VisioMove 2.1.5, Visioglobe® 2015