Linux multi-monitor fullscreen support
[ryzomcore.git] / nel / tools / 3d / pipeline_max / builtin / base_object.h
blobecd5bdb6810512db091c4f49389fb9fa19ead9a0
1 /**
2 * \file base_object.h
3 * \brief CBaseObject
4 * \date 2012-08-22 08:53GMT
5 * \author Jan Boon (Kaetemi)
6 * CBaseObject
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_BASE_OBJECT_H
29 #define PIPELINE_BASE_OBJECT_H
30 #include <nel/misc/types_nl.h>
32 // STL includes
34 // NeL includes
36 // Project includes
37 #include "reference_target.h"
39 namespace PIPELINE {
40 namespace MAX {
41 namespace BUILTIN {
43 /**
44 * \brief CBaseObject
45 * \date 2012-08-22 08:53GMT
46 * \author Jan Boon (Kaetemi)
47 * CBaseObject
49 class CBaseObject : public CReferenceTarget
51 public:
52 CBaseObject(CScene *scene);
53 virtual ~CBaseObject();
55 // class desc
56 static const ucstring DisplayName;
57 static const char *InternalName;
58 // static const char *InternalNameUnknown;
59 static const NLMISC::CClassId ClassId;
60 static const TSClassId SuperClassId;
62 // inherited
63 virtual void parse(uint16 version, uint filter = 0);
64 virtual void clean();
65 virtual void build(uint16 version, uint filter = 0);
66 virtual void disown();
67 virtual void init();
68 virtual bool inherits(const NLMISC::CClassId classId) const;
69 virtual const ISceneClassDesc *classDesc() const;
70 virtual void toStringLocal(std::ostream &ostream, const std::string &pad = "", uint filter = 0) const;
72 protected:
73 // inherited
74 virtual IStorageObject *createChunkById(uint16 id, bool container);
76 }; /* class CBaseObject */
78 typedef CSceneClassDesc<CBaseObject> CBaseObjectClassDesc;
79 extern const CBaseObjectClassDesc BaseObjectClassDesc;
80 // typedef CSuperClassDesc<CBaseObject> CBaseObjectSuperClassDesc;
81 // extern const CBaseObjectSuperClassDesc BaseObjectSuperClassDesc;
83 } /* namespace BUILTIN */
84 } /* namespace MAX */
85 } /* namespace PIPELINE */
87 #endif /* #ifndef PIPELINE_BASE_OBJECT_H */
89 /* end of file */