VisioMove SDK (iOS)  2.1.22
VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor Class Reference
Inheritance diagram for VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor:
Inheritance graph

Static Public Member Functions

static VgRefPtr< VgSinusoidalVectorOffsetFunctorDescriptorcreate ()
 

Public Attributes

float mBaseVector [3]
 
float mVector [3]
 
double mStartPhase
 
double mEndPhase
 
- Public Attributes inherited from VgEngine::VgFunctorDescriptor
float mStartTime
 
float mEndTime
 

Protected Member Functions

 VgSinusoidalVectorOffsetFunctorDescriptor ()
 
virtual ~VgSinusoidalVectorOffsetFunctorDescriptor ()
 
- Protected Member Functions inherited from VgEngine::VgFunctorDescriptor
 VgFunctorDescriptor ()
 

Friends

class VgObjectBridge
 

Additional Inherited Members

- Public Member Functions inherited from VgEngine::VgFunctorDescriptor
virtual ~VgFunctorDescriptor ()
 
- 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
 
- Protected Attributes inherited from VgEngine::VgFunctorDescriptor
Private * mPrivate
 
- Protected Attributes inherited from VgEngine::VgReferenced
int mNbReferences
 

Detailed Description

This class implements descriptors for sinusoidal animation of vectors. The sinusoidal vector animation will apply an offset vector weighted by a sinusoidal time-dependent function. The functors described by this class can be used for all animations channels that manage vectors as values. Formula is the following : f(t) = mBaseVector + sin(mStartPhase + t/mDuration * (mEndPhase-mStartPhase)) * mOffsetVector.

Note
There is no period (or frequency) parameter in this descriptor, because it will be deduced from the start/end phase and the animation duration.
The valid range for phase parameters is [-inf, +inf], but the precision will be (a lot) better for values around 0. To get a full sine cycle start phase should be 0 and the end phase 2 * Pi. To get more pulsations the range should be widened, but it is better to use [-phase, +phase] than [0, 2*phase]
Version
2.0.7729

Constructor & Destructor Documentation

VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::VgSinusoidalVectorOffsetFunctorDescriptor ( )
protected

Class constructor. This can't be called publicly, instances must be obtained through the VgSinusoidalVectorOffsetFunctorDescriptor::create method.

virtual VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::~VgSinusoidalVectorOffsetFunctorDescriptor ( )
protectedvirtual

Class destructor.

Member Function Documentation

static VgRefPtr< VgSinusoidalVectorOffsetFunctorDescriptor > VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::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.

Friends And Related Function Documentation

friend class VgObjectBridge
friend

Member Data Documentation

float VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::mBaseVector[3]

The base vector.

double VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::mEndPhase

The sine function end phase (in radians).

double VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::mStartPhase

The sine function start phase (in radians).

float VgEngine::VgSinusoidalVectorOffsetFunctorDescriptor::mVector[3]

The vector along which we will animate (in local metric frame).


The documentation for this class was generated from the following file:
VisioMove 2.1.22, Visioglobe® 2016