root/cafu/trunk/CaWE/MapPrimitive.hpp

Revision 457, 2.5 KB (checked in by Carsten, 4 months ago)

Using UltraEdit's multi-line search-and-replace-in-files feature, replaced


^#ifndef _(CAFU|CF|CFS|CA)_(.*)_$
^#define _\1_\2_$

with

#ifndef CAFU_\2_INCLUDED
#define CAFU_\2_INCLUDED

and


^#ifndef _(.*)_HPP_$
^#define _\1_HPP_$

with

#ifndef CAFU_\1_HPP_INCLUDED
#define CAFU_\1_HPP_INCLUDED

Closes #91.

Line 
1/*
2=================================================================================
3This file is part of Cafu, the open-source game engine and graphics engine
4for multiplayer, cross-platform, real-time 3D action.
5Copyright (C) 2002-2012 Carsten Fuchs Software.
6
7Cafu is free software: you can redistribute it and/or modify it under the terms
8of the GNU General Public License as published by the Free Software Foundation,
9either version 3 of the License, or (at your option) any later version.
10
11Cafu is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13PURPOSE. See the GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with Cafu. If not, see <http://www.gnu.org/licenses/>.
17
18For support and more information about Cafu, visit us at <http://www.cafu.de>.
19=================================================================================
20*/
21
22#ifndef CAFU_MAP_PRIMITIVE_HPP_INCLUDED
23#define CAFU_MAP_PRIMITIVE_HPP_INCLUDED
24
25#include "MapElement.hpp"
26
27
28class MapEntityBaseT;
29
30
31/// A common base class for all the basic, atomic map elements in the world and the entities.
32class MapPrimitiveT : public MapElementT
33{
34    public:
35
36    /// The default constructor.
37    MapPrimitiveT(const wxColour& Color);
38
39    /// The copy constructor for copying a primitive.
40    /// @param Prim   The primitive to copy-construct this primitive from.
41    MapPrimitiveT(const MapPrimitiveT& Prim);
42
43
44    // Implementations and overrides for base class methods.
45    MapPrimitiveT* Clone() const=0;
46    void           Assign(const MapElementT* Elem);
47    wxColour       GetColor(bool ConsiderGroup=true) const;
48
49
50    /// Assigns the parent entity for this primitive.
51    void SetParent(MapEntityBaseT* Ent) { m_Parent=Ent; }
52
53    /// Returns the parent entity of this primitive.
54    /// The returned pointer can be NULL when the primitive is not anchored in the world
55    /// (this can happen when the primitive is kept in the clipboard, in a command, etc.).
56    MapEntityBaseT* GetParent() const { return m_Parent; }
57
58
59    // The TypeSys related declarations for this class.
60    virtual const cf::TypeSys::TypeInfoT* GetType() const { return &TypeInfo; }
61    static void* CreateInstance(const cf::TypeSys::CreateParamsT& Params);
62    static const cf::TypeSys::TypeInfoT TypeInfo;
63
64
65    protected:
66
67    MapEntityBaseT* m_Parent;
68};
69
70#endif
Note: See TracBrowser for help on using the browser.