Linux multi-monitor fullscreen support
[ryzomcore.git] / nel / tools / 3d / pipeline_max / builtin / animatable.h
blobcee7e13628b46762c319266e4f580feaf44b7ef5
1 /**
2 * \file animatable.h
3 * \brief CAnimatable
4 * \date 2012-08-22 08:52GMT
5 * \author Jan Boon (Kaetemi)
6 * CAnimatable
7 */
9 /*
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>
32 // STL includes
34 // NeL includes
36 // Project includes
37 #include "../scene.h"
38 #include "../scene_class.h"
39 #include "../super_class_desc.h"
41 namespace PIPELINE {
42 namespace MAX {
43 namespace BUILTIN {
44 namespace STORAGE {
46 class CAppData;
50 /**
51 * \brief CAnimatable
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
58 public:
59 CAnimatable(CScene *scene);
60 virtual ~CAnimatable();
62 // class desc
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;
69 // inherited
70 virtual void parse(uint16 version, uint filter = 0);
71 virtual void clean();
72 virtual void build(uint16 version, uint filter = 0);
73 virtual void disown();
74 virtual void init();
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;
79 // public
80 STORAGE::CAppData *appData();
82 protected:
83 // inherited
84 virtual IStorageObject *createChunkById(uint16 id, bool container);
86 private:
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 */
98 } /* namespace MAX */
99 } /* namespace PIPELINE */
101 #endif /* #ifndef PIPELINE_ANIMATABLE_H */
103 /* end of file */