/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef __NW_SAVEDANIMKEYFRAME_BASE_H__ #define __NW_SAVEDANIMKEYFRAME_BASE_H__ #include "NwSavedItem.h" /** This class represents animation base key frame. */ class NWDBEXPORT OdNwSavedAnimKeyFrameBase: public OdNwSavedItem { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(OdNwSavedAnimKeyFrameBase); //DOM-IGNORE-END public: /** \details Default constructor. */ OdNwSavedAnimKeyFrameBase(); /** \details Constructor for objects of the OdNwSavedAnimKeyFrameBase class. Creates an OdNwSavedAnimKeyFrameBase object for the specified item. \param pImpl [in] Item to create an OdNwSavedAnimKeyFrameBase object for. */ explicit OdNwSavedAnimKeyFrameBase(OdNwObjectImpl* pImpl); /** \details Virtual destructor. Frees allocated resources. */ virtual ~OdNwSavedAnimKeyFrameBase(); /** \details Gets current position in the playback. \returns The value of the playback positions in double. */ double getTime() const; /** \details Determines whether values are automatically interpolated between the current and the last keyframes. \returns The true value if values are automatically interpolated between the current and the last keyframes successfully, otherwise false. */ bool isInterpolation() const; /** \details Set current position in the playback. \param time [in] The value of the playback positions in double. */ void setTime(double time); /** \details Set whether values are automatically interpolated between the current and the last keyframes. \param isInterp [in] The true value if values are automatically interpolated between the current and the last keyframes successfully, otherwise false. */ void setInterpolationFlag(bool isInterp); }; /** \details This template class is a specialization of the OdSmartPtr class for OdNwSavedAnimKeyFrame object pointers. */ typedef OdSmartPtr OdNwSavedAnimKeyFrameBasePtr; #endif /* __NW_SAVEDANIMKEYFRAME_BASE_H__ */