Castle Battle  1.0
Public Member Functions | Private Attributes | List of all members
Terrain Class Reference

Terrain of the world. More...

#include <Terrain.h>

Public Member Functions

 Terrain (scene::ISceneManager *smgr, video::IVideoDriver *driver, const core::stringw *pathTexture, const core::vector3df &scale)
 Default constructor. More...
 
 ~Terrain ()
 
core::vector3df getCenter ()
 Get center of the terrain. More...
 
void collisionResponseAnimator (scene::ISceneManager *smgr, scene::ISceneNode *obj)
 
void addCollisionNode (scene::ISceneManager *smgr, scene::IAnimatedMeshSceneNode *obj)
 
core::aabbox3df getTerrainBox ()
 Get bounding box of the terrain. More...
 
scene::ITerrainSceneNode * getTerrain ()
 Get irrlicht node terrain instance. More...
 

Private Attributes

scene::ITerrainSceneNode * terrain
 Irrlicht terrain node. More...
 

Detailed Description

Terrain of the world.

Constructor & Destructor Documentation

◆ Terrain()

Terrain::Terrain ( scene::ISceneManager *  smgr,
video::IVideoDriver *  driver,
const core::stringw *  pathTexture,
const core::vector3df &  scale 
)

Default constructor.

4  {
5  this->terrain = smgr->addTerrainSceneNode(
6  pathTexture[0],
7  0,
8  1,
9  core::vector3df(0.f,0.f,0.f),
10  core::vector3df(0.f,0.f,0.f),
11  scale,
12  video::SColor(255,255,255,255),
13  5,
14  scene::ETPS_17,
15  4,
16  true
17  );
18  this->terrain->setMaterialTexture(0,driver->getTexture(pathTexture[0]));
19  this->terrain->setMaterialTexture(1,driver->getTexture(pathTexture[1]));
20  this->terrain->setMaterialType(irr::video::EMT_DETAIL_MAP);
21  this->terrain->setMaterialFlag(irr::video::EMF_LIGHTING, false);
22  this->terrain->setMaterialFlag(irr::video::EMF_FOG_ENABLE, false);
23  this->terrain->setMaterialFlag(irr::video::EMF_NORMALIZE_NORMALS, true);
24  this->terrain->scaleTexture(1.0f, 1000.0f);
25  #if (DEBUG_OUTPUT_MASK & 2)
26  this->terrain->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)scene::EDS_BBOX_BUFFERS);
27  #endif
28 
29 }
scene::ITerrainSceneNode * terrain
Irrlicht terrain node.
Definition: Terrain.h:8

◆ ~Terrain()

Terrain::~Terrain ( )
30  {
31  delete this->terrain;
32 
33 }
scene::ITerrainSceneNode * terrain
Irrlicht terrain node.
Definition: Terrain.h:8

Member Function Documentation

◆ addCollisionNode()

void Terrain::addCollisionNode ( scene::ISceneManager *  smgr,
scene::IAnimatedMeshSceneNode *  obj 
)
Deprecated:
collision sytem with terrain.

Not used. Bullet is better.

56  {
57  scene::ITriangleSelector* selector = smgr->createTriangleSelector(obj);
58  obj->setTriangleSelector(selector);
59  selector->drop();
60 
61 }

◆ collisionResponseAnimator()

void Terrain::collisionResponseAnimator ( scene::ISceneManager *  smgr,
scene::ISceneNode *  obj 
)
Deprecated:
collision sytem with terrain.

Not used. Bullet is better.

38  {
39 
40 // scene::ITriangleSelector* selector = 0;
41 // selector = smgr->createTerrainTriangleSelector(this->terrain);
42 // this->terrain->setTriangleSelector(selector);
43 //
44 // if(selector){
45 // const core::aabbox3d<f32>& box = this->terrain->getBoundingBox();
46 // core::vector3df radius = box.MaxEdge - box.getCenter();
47 // scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
48 // selector,obj,core::vector3df(radius.X,1.f,radius.Z), core::vector3df(0,-5.f,0));
49 // selector->drop();
50 // obj->addAnimator(anim);
51 // anim->drop();
52 // }
53 
54 
55 }

◆ getCenter()

core::vector3df Terrain::getCenter ( )

Get center of the terrain.

34  {
35 
36  return this->terrain->getTerrainCenter();
37  }
scene::ITerrainSceneNode * terrain
Irrlicht terrain node.
Definition: Terrain.h:8

◆ getTerrain()

scene::ITerrainSceneNode * Terrain::getTerrain ( )

Get irrlicht node terrain instance.

65 { return this->terrain; }
scene::ITerrainSceneNode * terrain
Irrlicht terrain node.
Definition: Terrain.h:8

◆ getTerrainBox()

core::aabbox3df Terrain::getTerrainBox ( )

Get bounding box of the terrain.

62  {
63  return this->terrain->getBoundingBox();
64 }
scene::ITerrainSceneNode * terrain
Irrlicht terrain node.
Definition: Terrain.h:8

Member Data Documentation

◆ terrain

scene::ITerrainSceneNode* Terrain::terrain
private

Irrlicht terrain node.


The documentation for this class was generated from the following files: