Open CASCADE Technology 7.8.0
|
Class represents a basic animation class. AIS_Animation can be used as: More...
#include <AIS_Animation.hxx>
Public Member Functions | |
AIS_Animation (const TCollection_AsciiString &theAnimationName) | |
Creates empty animation. | |
virtual | ~AIS_Animation () |
Destruct object, clear arguments. | |
const TCollection_AsciiString & | Name () const |
Animation name. | |
Standard_Real | StartPts () const |
void | SetStartPts (const Standard_Real thePtsStart) |
Sets time limits for animation in the animation timeline. | |
Standard_Real | Duration () const |
void | UpdateTotalDuration () |
Update total duration considering all animations on timeline. | |
Standard_Boolean | HasOwnDuration () const |
Return true if duration is defined. | |
Standard_Real | OwnDuration () const |
void | SetOwnDuration (const Standard_Real theDuration) |
Defines duration of the animation. | |
void | Add (const Handle< AIS_Animation > &theAnimation) |
Add single animation to the timeline. | |
void | Clear () |
Clear animation timeline - remove all animations from it. | |
Handle< AIS_Animation > | Find (const TCollection_AsciiString &theAnimationName) const |
Return the child animation with the given name. | |
Standard_Boolean | Remove (const Handle< AIS_Animation > &theAnimation) |
Remove the child animation. | |
Standard_Boolean | Replace (const Handle< AIS_Animation > &theAnimationOld, const Handle< AIS_Animation > &theAnimationNew) |
Replace the child animation. | |
void | CopyFrom (const Handle< AIS_Animation > &theOther) |
Clears own children and then copy child animations from another object. Copy also Start Time and Duration values. | |
const NCollection_Sequence< Handle< AIS_Animation > > & | Children () const |
Return sequence of child animations. | |
virtual void | StartTimer (const Standard_Real theStartPts, const Standard_Real thePlaySpeed, const Standard_Boolean theToUpdate, const Standard_Boolean theToStopTimer=Standard_False) |
Start animation with internally defined timer instance. Calls Start() internally. | |
virtual Standard_Real | UpdateTimer () |
Update single frame of animation, update timer state. | |
Standard_Real | ElapsedTime () const |
Return elapsed time. | |
const Handle< Media_Timer > & | Timer () const |
Return playback timer. | |
void | SetTimer (const Handle< Media_Timer > &theTimer) |
Set playback timer. | |
virtual void | Start (const Standard_Boolean theToUpdate) |
Start animation. This method changes status of the animation to Started. This status defines whether animation is to be performed in the timeline or not. | |
virtual void | Pause () |
Pause the process timeline. | |
virtual void | Stop () |
Stop animation. This method changed status of the animation to Stopped. This status shows that animation will not be performed in the timeline or it is finished. | |
bool | IsStopped () |
Check if animation is to be performed in the animation timeline. | |
virtual Standard_Boolean | Update (const Standard_Real thePts) |
Update single frame of animation, update timer state. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Types | |
enum | AnimationState { AnimationState_Started , AnimationState_Stopped , AnimationState_Paused } |
Defines animation state. More... | |
Protected Member Functions | |
virtual void | updateWithChildren (const AIS_AnimationProgress &thePosition) |
Process one step of the animation according to the input time progress, including all children. Calls also update() to update own animation. | |
virtual void | update (const AIS_AnimationProgress &theProgress) |
Update the own animation to specified position - should be overridden by sub-class. | |
Protected Attributes | |
Handle< Media_Timer > | myTimer |
TCollection_AsciiString | myName |
animation name | |
NCollection_Sequence< Handle< AIS_Animation > > | myAnimations |
sequence of child animations | |
AnimationState | myState |
animation state - started, stopped of paused | |
Standard_Real | myPtsStart |
time of start in the timeline | |
Standard_Real | myOwnDuration |
duration of animation excluding children | |
Standard_Real | myChildrenDuration |
duration of animation including children | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
Class represents a basic animation class. AIS_Animation can be used as:
Note, that AIS_Animation::StartTimer() defines a timer calculating an elapsed time, not a multimedia timer executing Viewer updates at specific intervals! Application should avoid using implicit and immediate Viewer updates to ensure that AIS_Animation::UpdateTimer() is called before each redrawing of a Viewer content. Redrawing logic should be also managed at application level for managing a smooth animation (by defining a multimedia timer provided by used GUI framework executing updates at desired framerate, or as continuous redraws in loop).
|
protected |
AIS_Animation::AIS_Animation | ( | const TCollection_AsciiString & | theAnimationName | ) |
Creates empty animation.
|
virtual |
Destruct object, clear arguments.
void AIS_Animation::Add | ( | const Handle< AIS_Animation > & | theAnimation | ) |
Add single animation to the timeline.
theAnimation | input animation |
|
inline |
Return sequence of child animations.
void AIS_Animation::Clear | ( | ) |
Clear animation timeline - remove all animations from it.
void AIS_Animation::CopyFrom | ( | const Handle< AIS_Animation > & | theOther | ) |
Clears own children and then copy child animations from another object. Copy also Start Time and Duration values.
|
inline |
|
inline |
Return elapsed time.
Handle< AIS_Animation > AIS_Animation::Find | ( | const TCollection_AsciiString & | theAnimationName | ) | const |
Return the child animation with the given name.
|
inline |
Return true if duration is defined.
|
inline |
Check if animation is to be performed in the animation timeline.
|
inline |
Animation name.
|
inline |
|
virtual |
Pause the process timeline.
Standard_Boolean AIS_Animation::Remove | ( | const Handle< AIS_Animation > & | theAnimation | ) |
Remove the child animation.
Standard_Boolean AIS_Animation::Replace | ( | const Handle< AIS_Animation > & | theAnimationOld, |
const Handle< AIS_Animation > & | theAnimationNew | ||
) |
Replace the child animation.
|
inline |
Defines duration of the animation.
|
inline |
Sets time limits for animation in the animation timeline.
|
inline |
Set playback timer.
|
virtual |
Start animation. This method changes status of the animation to Started. This status defines whether animation is to be performed in the timeline or not.
theToUpdate | call Update() method |
|
inline |
|
virtual |
Start animation with internally defined timer instance. Calls Start() internally.
Note, that this method initializes a timer calculating an elapsed time (presentation timestamps within AIS_Animation::UpdateTimer()), not a multimedia timer executing Viewer updates at specific intervals! Viewer redrawing should be managed at application level, so that AIS_Animation::UpdateTimer() is called once right before each redrawing of a Viewer content.
theStartPts | starting timer position (presentation timestamp) |
thePlaySpeed | playback speed (1.0 means normal speed) |
theToUpdate | flag to update defined animations to specified start position |
theToStopTimer | flag to pause timer at the starting position |
|
virtual |
Stop animation. This method changed status of the animation to Stopped. This status shows that animation will not be performed in the timeline or it is finished.
|
inline |
Return playback timer.
|
inlineprotectedvirtual |
Update the own animation to specified position - should be overridden by sub-class.
Reimplemented in AIS_AnimationAxisRotation, AIS_AnimationCamera, and AIS_AnimationObject.
|
virtual |
Update single frame of animation, update timer state.
thePts | [in] the time moment within [0; Duration()] |
|
virtual |
Update single frame of animation, update timer state.
void AIS_Animation::UpdateTotalDuration | ( | ) |
Update total duration considering all animations on timeline.
|
protectedvirtual |
Process one step of the animation according to the input time progress, including all children. Calls also update() to update own animation.
|
protected |
sequence of child animations
|
protected |
duration of animation including children
|
protected |
animation name
|
protected |
duration of animation excluding children
|
protected |
time of start in the timeline
|
protected |
animation state - started, stopped of paused
|
protected |