~ubuntu-branches/debian/sid/ember/sid

« back to all changes in this revision

Viewing changes to src/components/ogre/SceneManagers/EmberPagingSceneManager/include/EmberPagingSceneManager.h

  • Committer: Package Import Robot
  • Author(s): Olek Wojnar, Stephen M. Webb, Olek Wojnar
  • Date: 2016-08-06 18:39:19 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20160806183919-4g72j3flj7xe2stj
Tags: 0.7.2+dfsg-1
[ Stephen M. Webb ]
* debian/control: updated build-depends to newer minimum versions
  (closes: #704786)
* debian/control: updated Standards-Version to 3.9.4 (updated VCS-* fields)
* debian/patches/0001-ember.in-test-expr.patch: removed (fixed upstream)
* debian/patches/0002-add-update_lua_bindings.patch: removed (fixed upstream)
* debian/patches/0003-add-atlas-pkg.patch: removed (fixed upstream)
* debian/patches/0004-domain-bindings-lua-makefile.patch: refreshed
* debian/patches/0005-ember.in-prefix.patch: removed (fixed upstream)
* debian/patches/0006-spellcheck-similiar.patch: removed (fixed upstream)
* debian/patches/0007-revert-libwfut-version.patch: refreshed
* debian/patches/0008-replace-fastdeletegate-with-sigc++.patch: removed
 (fixed upstream)
* debian/patches/0009-spelling-bach.patch: removed (fixed upstream)
* debian/patches/0010-fix-ember-script-args.patch: removed (fixed upstream)
* debian/patches/0011-qualify-template-functions.patch: removed (fixed
  upstream)
* debian/patches/0012-fix-osdir-headers.patch: removed (fixed upstream)
* debian/patches/0013-remove-invalid-linker-flags.patch: removed (fixed
  upstream)
* debian/patches/0014-add-missing-ogrelodstrategy.patch: new
* debian/control: fixed Vcs-Browser URL
* debian/patches/0015-verbose-configure-errors.patch: new
* debian/patches/0016-boost-1.53.patch: new
* debian/control: bump boost build dependeny to 1.53

[ Olek Wojnar ]
* New upstream release (Closes: #799748)
* Add myself as new uploader
  - Remove Stephen Webb per his request
  - Thanks for all the contributions, Stephen!
* d/patches/0007-revert-libwfut-version.patch: removed (unnecessary)
* d/control
  - Remove pre-dependency on dpkg
  - Update standards to 3.9.8 (no changes)
  - Update Vcs lines for secure URIs
* Import patch from the wfmath package to replace MersenneTwister.h
  -- Avoids problems from ambiguous copyright of the original file
* Update dependencies for version 0.7.2
* Enable all hardening options
* Add three lintian overrides
  -- Ignore install into usr/bin (binary)
  -- Ignore .rc files needed for WIN32 build (source)
  -- Ignore false positive of spelling error (binary)
* d/copyright: Update contributors and dates
* d/rules
  -- Do not remove "sounddefinitions" directory
  -- Enable parallel build
  -- Do not install into games directories
  -- Remove dh_builddeb override since xz is now the default
* d/watch: update file extensions
* Remove three patches, add eight patches, update remaining patches
  -- 0004-domain-bindings-lua-makefile.patch (implemented upstream)
  -- 0014-add-missing-ogrelodstrategy.patch (implemented upstream)
  -- 0016-boost-1.53.patch (patch target file removed upstream)
  -- 0018-enable-subdir-objects.patch (Fix automake 1.14 warnings)
  -- 0019-update-boost-m4.patch (Fix invalid boost_major_version)
  -- 0020-remove-obsolete-includes.patch (Fix obsolete includes)
  -- 0021-GraphicalChangeAdapter-fix-for-newer-compilers.patch (Added)
  -- 0022-fix-typos.patch (Fix typos identified by lintian)
  -- 0023-add-keywords-to-desktop-file.patch (Add Keywords to .desktop file)
  -- 0024-fix-icon-location (Make icon location Icon Theme Spec-compliant)
  -- 0025-fix-duplicate-script-install.patch (Was causing build failures)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//
2
 
// C++ Interface: EmberPagingSceneManager
3
 
//
4
 
// Description: 
5
 
//
6
 
//
7
 
// Author: Erik Hjortsberg <erik.hjortsberg@gmail.com>, (C) 2005
8
 
//
9
 
// This program is free software; you can redistribute it and/or modify
10
 
// it under the terms of the GNU General Public License as published by
11
 
// the Free Software Foundation; either version 2 of the License, or
12
 
// (at your option) any later version.
13
 
// 
14
 
// This program is distributed in the hope that it will be useful,
15
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
// GNU General Public License for more details.
18
 
// 
19
 
// You should have received a copy of the GNU General Public License
20
 
// along with this program; if not, write to the Free Software
21
 
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.//
22
 
//
23
 
 
24
 
#ifndef EMBERPAGINGSCENEMANAGER_H
25
 
#define EMBERPAGINGSCENEMANAGER_H
26
 
 
27
 
#include "../../../EmberOgrePrerequisites.h"
28
 
#include "OgrePagingLandScapeSceneManager.h"
29
 
 
30
 
 
31
 
namespace Ember {
32
 
namespace OgreView {
33
 
class EmberPagingSceneManager;
34
 
 
35
 
namespace Terrain {
36
 
class ITerrainPageBridge;
37
 
}
38
 
namespace Model {
39
 
class Model;
40
 
}
41
 
 
42
 
/**
43
 
 * @brief Page data for one page in the terrain rendering system.
44
 
 */
45
 
class IPageData
46
 
{
47
 
public:
48
 
        virtual ~IPageData() {}
49
 
        virtual Ogre::MaterialPtr getMaterial() = 0;
50
 
};
51
 
 
52
 
 
53
 
/**
54
 
 * @brief Provides IPageData instances for the terrain rendering system.
55
 
 */
56
 
class IPageDataProvider
57
 
{
58
 
public:
59
 
        typedef std::pair<unsigned int, unsigned int> OgreIndex;
60
 
        virtual IPageData* getPageData(const OgreIndex& index) = 0;
61
 
        virtual int getPageIndexSize() const = 0;
62
 
        virtual void setUpTerrainPageAtIndex(const OgreIndex& ogreIndexPosition, ::Ember::OgreView::Terrain::ITerrainPageBridge* bridge) = 0;
63
 
        virtual void removeBridge(const OgreIndex& ogreIndexPosition) = 0;
64
 
};
65
 
 
66
 
 
67
 
     /// Factory for OctreeSceneManager
68
 
     class EmberPagingSceneManagerFactory : public Ogre::SceneManagerFactory
69
 
     {
70
 
     protected:
71
 
        void initMetaData(void) const;
72
 
     public:
73
 
        EmberPagingSceneManagerFactory() {}
74
 
        virtual ~EmberPagingSceneManagerFactory() {}
75
 
        /// Factory type name
76
 
        static const Ogre::String FACTORY_TYPE_NAME;
77
 
        Ogre::SceneManager* createInstance(const Ogre::String& instanceName);
78
 
        void destroyInstance(Ogre::SceneManager* instance);
79
 
     };
80
 
 
81
 
/**
82
 
 * This is a specialization of Ogre::PagingLandScapeSceneManager.
83
 
 * 
84
 
 * @see Ogre::PagingLandScapeSceneManager
85
 
 */
86
 
class EmberPagingSceneManager  : public Ogre::PagingLandScapeSceneManager  {
87
 
public:
88
 
 
89
 
        void InitScene( void );
90
 
 
91
 
    EmberPagingSceneManager(const Ogre::String &name);
92
 
        
93
 
        /**
94
 
         *    Utility method for creating a new Model.
95
 
         * @param modelName the id of the model
96
 
         * @param modelDefinitionName the name of the model defition from which the model should be created
97
 
         * @return 
98
 
         */
99
 
        Model::Model* createModel(const Ogre::String& modelName, const Ogre::String& modelDefinitionName);
100
 
                                                                        
101
 
        void registerProvider(IPageDataProvider* provider);
102
 
        
103
 
        IPageDataProvider* getProvider();
104
 
 
105
 
        const Ogre::String& getTypeName(void) const;
106
 
 
107
 
protected:
108
 
 
109
 
        /* 
110
 
         * @see OgreView::EmberTerrainSceneManager::getPageOffset()
111
 
         */
112
 
        Ogre::ushort mPageOffset;
113
 
        
114
 
        /*
115
 
         * Max and min values for the world. Used to resize the octree.
116
 
         */
117
 
        float mMaxX;
118
 
        float mMaxY;
119
 
        float mMaxZ;
120
 
        float mMinX;
121
 
        float mMinY;
122
 
        float mMinZ;
123
 
        
124
 
        IPageDataProvider* mProvider;
125
 
        
126
 
        virtual const Ogre::Pass* deriveShadowCasterPass(const Ogre::Pass* pass);
127
 
 
128
 
private:
129
 
};
130
 
 
131
 
}
132
 
 
133
 
}
134
 
 
135
 
#endif // EMBERPAGINGSCENEMANAGER_H