Open CASCADE Technology
7.4.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. More... | |
virtual | ~AIS_Animation () |
Destruct object, clear arguments. More... | |
const TCollection_AsciiString & | Name () const |
Animation name. More... | |
Standard_Real | StartPts () const |
void | SetStartPts (const Standard_Real thePtsStart) |
Sets time limits for animation in the animation timeline. More... | |
Standard_Real | Duration () const |
void | UpdateTotalDuration () |
Update total duration considering all animations on timeline. More... | |
Standard_Boolean | HasOwnDuration () const |
Return true if duration is defined. More... | |
Standard_Real | OwnDuration () const |
void | SetOwnDuration (const Standard_Real theDuration) |
Defines duration of the animation. More... | |
void | Add (const Handle< AIS_Animation > &theAnimation) |
Add single animation to the timeline. More... | |
void | Clear () |
Clear animation timeline - remove all animations from it. More... | |
Handle< AIS_Animation > | Find (const TCollection_AsciiString &theAnimationName) const |
Return the child animation with the given name. More... | |
Standard_Boolean | Remove (const Handle< AIS_Animation > &theAnimation) |
Remove the child animation. More... | |
Standard_Boolean | Replace (const Handle< AIS_Animation > &theAnimationOld, const Handle< AIS_Animation > &theAnimationNew) |
Replace the child animation. More... | |
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. More... | |
const NCollection_Sequence< Handle< AIS_Animation > > & | Children () const |
Return sequence of child animations. More... | |
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. More... | |
virtual Standard_Real | UpdateTimer () |
Update single frame of animation, update timer state. More... | |
Standard_Real | ElapsedTime () const |
Return elapsed time. More... | |
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. More... | |
virtual void | Pause () |
Pause the process timeline. More... | |
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. More... | |
bool | IsStopped () |
Check if animation is to be performed in the animation timeline. More... | |
virtual Standard_Boolean | Update (const Standard_Real thePts) |
Update single frame of animation, update timer state. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
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. More... | |
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. More... | |
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. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
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. More... | |
virtual void | update (const AIS_AnimationProgress &theProgress) |
Update the own animation to specified position - should be overridden by sub-class. More... | |
Protected Attributes | |
Handle< Media_Timer > | myTimer |
TCollection_AsciiString | myName |
animation name More... | |
NCollection_Sequence< Handle< AIS_Animation > > | myAnimations |
sequence of child animations More... | |
AnimationState | myState |
animation state - started, stopped of paused More... | |
Standard_Real | myPtsStart |
time of start in the timeline More... | |
Standard_Real | myOwnDuration |
duration of animation excluding children More... | |
Standard_Real | myChildrenDuration |
duration of animation including children More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
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.
|
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.
|
virtual |
Update single frame of animation, update timer state.
thePts | [in] the time moment within [0; Duration()] |
|
inlineprotectedvirtual |
Update the own animation to specified position - should be overridden by sub-class.
Reimplemented in AIS_AnimationCamera, and AIS_AnimationObject.
|
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 |