1
/*-----------------------------------------------------------------------------
2
This source file is part of OGRE
3
(Object-oriented Graphics Rendering Engine)
4
For the latest info, see http://www.ogre3d.org/
6
Copyright � 2000-2004 The OGRE Team
7
Also see acknowledgements in Readme.html
9
This program is free software; you can redistribute it and/or modify it under
10
the terms of the GNU Lesser General Public License as published by the Free Software
11
Foundation; either version 2 of the License, or (at your option) any later
14
This program is distributed in the hope that it will be useful, but WITHOUT
15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
You should have received a copy of the GNU Lesser General Public License along with
19
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
20
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
21
http://www.gnu.org/copyleft/lesser.txt.
22
-----------------------------------------------------------------------------*/
23
#ifndef __PagingLandScapePageSourceListener_H__
24
#define __PagingLandScapePageSourceListener_H__
26
#include "OgrePagingLandScapePrerequisites.h"
30
/** Abstract class which classes can override to receive notifications
31
when a page is ready to be added to the terrain manager.
33
class _OgrePagingLandScapeExport PagingLandScapeListener
37
PagingLandScapeListener(){};
38
virtual ~PagingLandScapeListener(){};
39
/** Listener method called when a new page is about to be constructed.
40
@param pagex, pagez The index of the page being constructed
41
@param heightData Array of normalised height data (0..1). The size of
42
this buffer will conform to the scene manager page size. The listener
43
may modify the data if it wishes.
45
virtual void pagePreloaded(const size_t pagex, const size_t pagez, const Real* heightData, const AxisAlignedBox &Bbox){};
46
virtual void pageLoaded(const size_t pagex, const size_t pagez, const Real* heightData, const AxisAlignedBox &Bbox){};
47
virtual void pageUnloaded(const size_t pagex, const size_t pagez, const Real* heightData, const AxisAlignedBox &Bbox){};
48
virtual void pagePostunloaded(const size_t pagex, const size_t pagez){};
49
virtual void pageShow(const size_t pagex, const size_t pagez, const Real* heightData, const AxisAlignedBox &Bbox){};
50
virtual void pageHide(const size_t pagex, const size_t pagez, const Real* heightData, const AxisAlignedBox &Bbox) {};
51
virtual void tileLoaded(const size_t pagex, const size_t pagez, const size_t tilex, const size_t tilez, const AxisAlignedBox &Bbox){};
52
virtual void tileUnloaded(const size_t pagex, const size_t pagez, const size_t tilex, const size_t tilez, const AxisAlignedBox &Bbox){};
53
virtual void tileDeformed(const size_t pagex, const size_t pagez, const size_t tilex, const size_t tilez, const AxisAlignedBox &Bbox){};
54
virtual void tileShow(const size_t pagex, const size_t pagez, const size_t tilex, const size_t tilez, const AxisAlignedBox &Bbox){};
55
virtual void tileHide(const size_t pagex, const size_t pagez, const size_t tilex, const size_t tilez, const AxisAlignedBox &Bbox){};
56
virtual void terrainReady(void) {};
60
#endif //__PagingLandScapePageSourceListener_H__