Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:02:54

0001 // Created by: Anastasia BORISOVA
0002 // Copyright (c) 2016 OPEN CASCADE SAS
0003 //
0004 // This file is part of Open CASCADE Technology software library.
0005 //
0006 // This library is free software; you can redistribute it and/or modify it under
0007 // the terms of the GNU Lesser General Public License version 2.1 as published
0008 // by the Free Software Foundation, with special exception defined in the file
0009 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0010 // distribution for complete text of the license and disclaimer of any warranty.
0011 //
0012 // Alternatively, this file may be used under the terms of Open CASCADE
0013 // commercial license or contractual agreement.
0014 
0015 #ifndef _AIS_AnimationObject_HeaderFile
0016 #define _AIS_AnimationObject_HeaderFile
0017 
0018 #include <AIS_BaseAnimationObject.hxx>
0019 #include <gp_TrsfNLerp.hxx>
0020 
0021 //! Animation defining object transformation.
0022 class AIS_AnimationObject : public AIS_BaseAnimationObject
0023 {
0024   DEFINE_STANDARD_RTTIEXT(AIS_AnimationObject, AIS_BaseAnimationObject)
0025 public:
0026 
0027   //! Constructor with initialization.
0028   //! Note that start/end transformations specify exactly local transformation of the object,
0029   //! not the transformation to be applied to existing local transformation.
0030   //! @param[in] theAnimationName animation identifier
0031   //! @param[in] theContext       interactive context where object have been displayed
0032   //! @param[in] theObject        object to apply local transformation
0033   //! @param[in] theTrsfStart     local transformation at the start of animation (e.g. theObject->LocalTransformation())
0034   //! @param[in] theTrsfEnd       local transformation at the end   of animation
0035   Standard_EXPORT AIS_AnimationObject (const TCollection_AsciiString& theAnimationName,
0036                                        const Handle(AIS_InteractiveContext)& theContext,
0037                                        const Handle(AIS_InteractiveObject)&  theObject,
0038                                        const gp_Trsf& theTrsfStart,
0039                                        const gp_Trsf& theTrsfEnd);
0040 
0041 protected:
0042 
0043   //! Update the progress.
0044   Standard_EXPORT virtual void update (const AIS_AnimationProgress& theProgress) Standard_OVERRIDE;
0045 
0046 private:
0047 
0048   gp_TrsfNLerp  myTrsfLerp; //!< interpolation tool
0049 
0050 };
0051 
0052 #endif // _AIS_AnimationObject_HeaderFile