35 mpEndEvent( rParms.mrEndEvent ),
39 maRepeats( rParms.mrRepeats ),
40 mnAccelerationFraction( rParms.mnAccelerationFraction ),
41 mnDecelerationFraction( rParms.mnDecelerationFraction ),
43 mbFirstPerformCall( true ),
95 "ActivityBase::setTargets(): Invalid shape" );
97 "ActivityBase::setTargets(): Invalid attribute layer" );
static T clamp(const T &rIn)
AnimatableShapeSharedPtr mpShape
Base class for animation activities.
virtual void end() override
Activity:
const double mnDecelerationFraction
virtual bool perform() override
From Activity interface.
virtual void setTargets(const AnimatableShapeSharedPtr &rShape, const ShapeAttributeLayerSharedPtr &rAttrLayer) override
Sets targets (shape and attributeLayer)
AnimatableShapeSharedPtr mpShape
const double mnAccelerationFraction
virtual bool isActive() const override
Query whether this activity is still continuing.
EventQueue & mrEventQueue
virtual void endAnimation()=0
Hook for derived classes.
EventSharedPtr mpEndEvent
virtual void dispose() override
From Disposable interface.
virtual double calcTimeLag() const override
Calculates whether the activity lags time.
void endActivity()
End this activity, in a regular way.
virtual void performEnd()=0
ActivityBase(const ActivityParameters &rParms)
virtual void startAnimation()=0
Hook for derived classes.
virtual void dequeued() override
Notifies the Activity that it has now left the ActivitiesQueue.
double calcAcceleratedTime(double nT) const
Modify fractional time.
ShapeAttributeLayerSharedPtr mpAttributeLayer
bool addEvent(const EventSharedPtr &event)
Add the given event to the queue.
#define ENSURE_OR_THROW(c, m)
::std::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr
::std::shared_ptr< ShapeAttributeLayer > ShapeAttributeLayerSharedPtr
EventQueue & mrEventQueue
Parameter struct for animation activities.