/////////////////////////////////////////////////////////////////////////////// // 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_SAVEDANIMSELECTKEYFRAME_H__ #define __NW_SAVEDANIMSELECTKEYFRAME_H__ #include "NwObject.h" #include "NwSavedAnimKeyFrameBase.h" /** \details Contains definitions of the value of which field was stored in the keyframe. */ namespace NwSavedAnimSelectKeyFramePropKind { enum Enum { /** Stored translation field */ TRANSLATION, /** Stored rotation field */ ROTATION, /** Stored tool orientation field */ TOOL_ORIENTATION, /** Stored center field */ CENTER, /** Stored scale field */ SCALE, /** Stored color field */ COLOR, /** Stored opacity field */ OPACITY }; }; /** This class represents selected key frame. */ class NWDBEXPORT OdNwSavedAnimSelectKeyFrame : public OdNwSavedAnimKeyFrameBase { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(OdNwSavedAnimSelectKeyFrame); //DOM-IGNORE-END public: /** \details Default constructor. */ OdNwSavedAnimSelectKeyFrame(); /** \details Virtual destructor. Frees allocated resources. */ virtual ~OdNwSavedAnimSelectKeyFrame(); /** \details Returns current position in the playback. \returns The value of the playback positions in double. The method is deprecated since release 25.3 and will be removed soon. Use the inherited method getTime() instead. */ double getTime() const; /** \details Determines whether values are automatically interpolated between the current and the last keyframes. \returns True if values are automatically interpolated between the current and the last keyframes, otherwise false. The method is deprecated since release 25.3 and will be removed soon. Use the inherited method isInterpolation() instead. */ bool isInterpolation() const; /** \details Returns the coordinate values to move the selected objects into this position. \returns Reference to the OdGeVector3d object with move vector. */ const OdGeVector3d& getTranslation() const; /** \details Returns the rotation of the object from center. \returns Rotation of the object from center as an OdGeQuaternion value. */ const OdGeQuaternion & getRotation() const; /** \details Returns orientation of the rotation. \returns Orientation of the rotation from center as an OdGeQuaternion value. */ const OdGeQuaternion & getRotationToolOrientation() const; /** \details Returns origin (or center point) of the rotation or scale. \returns Origin (or center point) as an OdGePoint3d instance. */ const OdGePoint3d & getCenter() const; /** \details Returns color of the object. \returns Color of the object as an OdNwColor value. */ const OdNwColor & getColor() const; /** \details Returns transparency level. \returns Transparency level as a double value. */ double getOpacity() const; /** \details Returns adjusted rotation of the object for the scale procedure. \returns Adjusted rotation of the object for the scale procedure as an OdGeQuaternion. */ const OdGeQuaternion & getScaleQuaternion() const; /** \details Returns scaling factor. \returns Scaling factor as an OdGeVector3d reference. */ const OdGeVector3d & getScaleVector() const; /** \details Sets scaling factor. \param scaleVec [in] OdGeVector3d type value of scaling factor. */ void setScaleVector(const OdGeVector3d& scaleVec); /** \details Sets adjusted rotation of the object for the scale procedure. \param scaleQuat [in] OdGeVector3d type value of scaling factor. */ void setScaleQuaternion(const OdGeQuaternion& scaleQuat); /** \details Sets the coordinate values to move the selected objects into this position. \param trans [in] OdGeVector3d move vector of the objects. */ void setTranslation(const OdGeVector3d& trans); /** \details Sets the rotation of the object from center. \param rotation [in] OdGeQuaternion value rotation from center. */ void setRotation(const OdGeQuaternion& rotation); /** \details Sets orientation of the rotation. \param orientQuat [in] Orientation of the rotation from center as an OdGeQuaternion value. */ void setToolOrientation(const OdGeQuaternion& orientQuat); /** \details Sets origin (or center point) of the rotation or scale. \param center [in] Origin (or center point) as an OdGePoint3d instance. */ void setCenter(const OdGePoint3d& center); /** \details Sets color of the object. \param color [in] Color of the object as an OdNwColor value. */ void setColor(const OdNwColor& color); /** \details Sets transparency level. \param opacity [in] Transparency level as a double value. */ void setOpacity(double opacity); /** \details Gets property stored info. \param kind [in] Kind of property. \returns True if property stored. \remarks The value of kind can be one of the following: Type Description TRANSLATION Stored translation field ROTATION Stored rotation field TOOL_ORIENTATION Stored tool orientation field CENTER Stored center field SCALE Stored scale field COLOR Stored color field OPACITY Stored opacity field
*/ bool isPropertyStored(NwSavedAnimSelectKeyFramePropKind::Enum kind) const; }; /** \details This template class is a specialization of the OdSmartPtr class for OdNwSavedAnimSelectKeyFrame object pointers. */ typedef OdSmartPtr OdNwSavedAnimSelectKeyFramePtr; #endif /* __NW_SAVEDANIMSELECTKEYFRAME_H__ */