VisioMove SDK (iOS)  2.1.22
Vg3DModule::VgLineDescriptor Struct Reference
Inheritance diagram for Vg3DModule::VgLineDescriptor:
Inheritance graph

Public Types

typedef VgLine Described
 

Public Member Functions

VgEngine::VgRefPtr< Vg3DModule::VgLineDescriptorcopy () const
 
VgEngine::VgRefPtr< VgLineDescriptorclone ()
 
- Public Member Functions inherited from VgEngine::VgReferenced
 VgReferenced ()
 
 VgReferenced (const VgReferenced &pThis)
 
virtual ~VgReferenced ()
 
VgReferencedoperator= (const VgReferenced &pThis)
 
void ref () const
 
int unref () const
 
int getNbReferences () const
 

Static Public Member Functions

static VgEngine::VgRefPtr< Vg3DModule::VgLineDescriptorcreate ()
 

Public Attributes

std::vector< VgEngine::VgPositionmPositions
 
std::vector< VgEngine::VgColormColors
 
std::vector< double > mWidths
 
VgEngine::VgRefPtr< VgEngine::VgITexturemTexture
 
float mTextureSize
 
float mTextureAnimationSpeed
 
VgLineType mLineType
 
VgEngine::VgAltitudeMode mAltitudeMode
 
double mMaxCornerRadius
 
bool mHaveCaps
 
std::string mID
 
float mMinTesselationDist
 
- Public Attributes inherited from Vg3DModule::VgGeometryDescriptor
double mVisibilityRampStartVisible
 
double mVisibilityRampFullyVisible
 
double mVisibilityRampStartInvisible
 
double mVisibilityRampFullyInvisible
 
int mZIndex
 
bool mDrawOnTop
 
float mScale
 
bool mNotifyPOISelectedOnClick
 

Protected Member Functions

 VgLineDescriptor ()
 
 VgLineDescriptor (const VgLineDescriptor &pOther)
 
virtual ~VgLineDescriptor ()
 
- Protected Member Functions inherited from Vg3DModule::VgGeometryDescriptor
 VgGeometryDescriptor ()
 
virtual ~VgGeometryDescriptor ()
 

Additional Inherited Members

- Protected Attributes inherited from VgEngine::VgReferenced
int mNbReferences
 

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.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.mPositions.push_back(mStartPos);
lLineDesc.mPositions.push_back(mEndPos);
...
Version
2.0

Member Typedef Documentation

Constructor & Destructor Documentation

Vg3DModule::VgLineDescriptor::VgLineDescriptor ( )
inlineprotected

Constructor.

Vg3DModule::VgLineDescriptor::VgLineDescriptor ( const VgLineDescriptor pOther)
inlineprotected

Copy constructor.

References ~VgLineDescriptor().

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

Referenced by VgLineDescriptor().

Member Function Documentation

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

Creates a new descriptor by copyiong another one.

Returns
The pointer to the copy.
Version
2.0.8955
VgEngine::VgRefPtr< Vg3DModule::VgLineDescriptor > Vg3DModule::VgLineDescriptor::copy ( ) const

This method returns a heap-allocated copy of a descriptor. It is one of the only two methods 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.

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

The line's minimum tesselation distance in meters. Smaller values induce smoother lines, but longer generation time. Default value is 1.0, but should be tuned to at most match line width.

Version
2.1.12
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.22, Visioglobe® 2016