root/cafu/trunk/CaWE/MapHelperBB.hpp

Revision 457, 2.6 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_HELPER_BOUNDINGBOX_HPP_INCLUDED
23#define CAFU_MAP_HELPER_BOUNDINGBOX_HPP_INCLUDED
24
25#include "MapHelper.hpp"
26#include "Math3D/BoundingBox.hpp"
27
28
29class MapEntityT;
30class Renderer2DT;
31class Renderer3DT;
32namespace cf { namespace TypeSys { class TypeInfoT; } }
33namespace cf { namespace TypeSys { class TypeInfoManT; } }
34namespace cf { namespace TypeSys { class CreateParamsT; } }
35
36
37class MapHelperBoundingBoxT : public MapHelperT
38{
39    public:
40
41    /// The constructor.
42    MapHelperBoundingBoxT(const MapEntityT* ParentEntity, const BoundingBox3fT& BB, bool Wireframe=false);
43
44    /// The copy constructor for copying a box.
45    /// @param Box   The box to copy-construct this box from.
46    MapHelperBoundingBoxT(const MapHelperBoundingBoxT& Box);
47
48
49    // Implementations and overrides for base class methods.
50    MapHelperBoundingBoxT* Clone() const;
51    void                   Assign(const MapElementT* Elem);
52
53
54    BoundingBox3fT GetBB() const;
55
56    void Render2D(Renderer2DT& Renderer) const;
57    void Render3D(Renderer3DT& Renderer) const;
58
59    wxString GetDescription() const { return "Bounding box"; }
60
61    // The TypeSys related declarations for this class.
62    virtual const cf::TypeSys::TypeInfoT* GetType() const { return &TypeInfo; }
63    static void* CreateInstance(const cf::TypeSys::CreateParamsT& Params);
64    static const cf::TypeSys::TypeInfoT TypeInfo;
65
66
67    private:
68
69    BoundingBox3fT m_BB;        ///< The dimensions of this box, relative to m_Origin.
70    bool           m_Wireframe; ///< Whether this box is rendered as wire-frame in the 3D views, or solid.
71};
72
73#endif
Note: See TracBrowser for help on using the browser.