/*=============================================================================
 *
 *  Filename:			CPAAnim.hpp
 *  Version:            1.0
 *  Date:				30/12/96
 *  Author:             Marc Trabucato & Vincent Lhullier
 *
 *  Description:		definition of CPA_Family class (decendant of CPA_ReachableObject)
 *
 *===========================================================================*/
 
#ifndef __CPAANIM_HPP__
#define __CPAANIM_HPP__
 
#ifdef ACTIVE_EDITOR
 
#include "ITF.h"
 
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
 
/*=============================================================================
* Define : name of Animation Type (for reachable constructor)
=============================================================================*/
#define C_szAnimationTypeName      "Animation"
 
/*=============================================================================
* class CPA_Animation
=============================================================================*/
class /*CPA_EXPORT*/ CPA_Animation : public CPA_BaseObject
{
 private:
    struct tdstAnim3d_ *m_p_stAnim3d;
 
 public:
    CPA_Animation( CPA_EditorBase *p_oEditor, CPA_BaseObject *_p_oOwnerFamily, char *_szName );
 
    long    GetDataType     ( void )    { return 0; }
    void*   GetData         ( void )    { return (void*)m_p_stAnim3d; }
 
    tdeMissingCriteria fn_eCheckUnicity (const CString _csNewName)   { return fn_eCheckUnicityWithOwner( _csNewName ); }
 
    void    mfn_vLoad       ( void );
    void    SetData         ( struct tdstAnim3d_ *_p_stAnim);
 
    unsigned char   mfn_ucGetFrameRate( void )                      { return ( m_p_stAnim3d ? m_p_stAnim3d -> ucFrameRate : 0 ); }
};
 
#endif /* ACTIVE_EDITOR*/
#endif /* __CPAANIM_HPP__*/
