4 * \date 2012-08-22 08:52GMT
5 * \author Jan Boon (Kaetemi)
10 * Copyright (C) 2012 by authors
12 * This file is part of RYZOM CORE PIPELINE.
13 * RYZOM CORE PIPELINE is free software: you can redistribute it
14 * and/or modify it under the terms of the GNU Affero General Public
15 * License as published by the Free Software Foundation, either
16 * version 3 of the License, or (at your option) any later version.
18 * RYZOM CORE PIPELINE is distributed in the hope that it will be
19 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
20 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Affero General Public License for more details.
23 * You should have received a copy of the GNU Affero General Public
24 * License along with RYZOM CORE PIPELINE. If not, see
25 * <http://www.gnu.org/licenses/>.
28 #ifndef PIPELINE_ANIMATABLE_H
29 #define PIPELINE_ANIMATABLE_H
30 #include <nel/misc/types_nl.h>
38 #include "../scene_class.h"
39 #include "../super_class_desc.h"
52 * \date 2012-08-22 08:52GMT
53 * \author Jan Boon (Kaetemi)
54 * This scene class owns the AppData chunk
56 class CAnimatable
: public CSceneClass
59 CAnimatable(CScene
*scene
);
60 virtual ~CAnimatable();
63 static const ucstring DisplayName
;
64 static const char *InternalName
;
65 static const char *InternalNameUnknown
;
66 static const NLMISC::CClassId ClassId
;
67 static const TSClassId SuperClassId
;
70 virtual void parse(uint16 version
, uint filter
= 0);
72 virtual void build(uint16 version
, uint filter
= 0);
73 virtual void disown();
75 virtual bool inherits(const NLMISC::CClassId classId
) const;
76 virtual const ISceneClassDesc
*classDesc() const;
77 virtual void toStringLocal(std::ostream
&ostream
, const std::string
&pad
= "", uint filter
= 0) const;
80 STORAGE::CAppData
*appData();
84 virtual IStorageObject
*createChunkById(uint16 id
, bool container
);
87 IStorageObject
*m_Unknown2140
;
88 STORAGE::CAppData
*m_AppData
;
90 }; /* class CAnimatable */
92 typedef CSceneClassDesc
<CAnimatable
> CAnimatableClassDesc
;
93 extern const CAnimatableClassDesc AnimatableClassDesc
;
94 typedef CSuperClassDesc
<CAnimatable
> CAnimatableSuperClassDesc
;
95 extern const CAnimatableSuperClassDesc AnimatableSuperClassDesc
;
97 } /* namespace BUILTIN */
99 } /* namespace PIPELINE */
101 #endif /* #ifndef PIPELINE_ANIMATABLE_H */