Hi.
How to get all vertices from terrain. I need this to construct my terrain collisions to NovodeX. When I loading terrain witch procedures from NovodeX demos my terrain don't cover terrain from OGRE. How to load terrain just as OGRE?
I search on forum but I don't find anything about this.
Sorry, my English. I'm from Poland
Terrain Vertices
- DWORD
- OGRE Retired Moderator
- Posts: 1365
- Joined: Tue Sep 07, 2004 12:43 pm
- Location: Aalborg, Denmark
- Contact:
The easiest way I think is to register a TerrainPageSourceListener that will get called when the terrain is loaded. It will give you the raw terrain data as an array of normalised [0..1] Reals.
- DWORD
- OGRE Retired Moderator
- Posts: 1365
- Joined: Tue Sep 07, 2004 12:43 pm
- Location: Aalborg, Denmark
- Contact:
Sorry, try something like this before your setWorldGeometry() call (didn't test it):
And be sure to delete myListener again on program termination.
Code: Select all
MyListener* myListener = new MyListener; // your custom page source listener class
TerrainPageSourceListenerManager::getSingleton().addListener(myListener)
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
Actually it's just
It's pretty straight forward - you just get callbacks as defined in TerrainPageSourceListener (parameters etc are in the docs).
Code: Select all
TerrainPageSource::addListener(myListener);
-
- Gnoblar
- Posts: 4
- Joined: Mon Feb 21, 2005 11:58 am
But in TerrainPageSourceListener is only abstract pageConstructed(). I don't know yet how to do this. Please give me complete code with geting this array.It's pretty straight forward - you just get callbacks as defined in TerrainPageSourceListener (parameters etc are in the docs).
What is MyListener? I must create new class from TerrainPageSourceListener???
Sorry, maybe I'm silly
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
It's a virtual member function which you override in your subclass of TerrainPageSourceListener, which DWORD called MyListener. IeBut in TerrainPageSourceListener is only abstract pageConstructed(). I don't know yet how to do this. Please give me complete code with geting this array.
Code: Select all
class MyListener : public TerrainPageSourceListener
{
void pageConstructed(size_t pagex, size_t pagez, Real* heightData)
{
// Do what you want
}
};