flimEngine
FlimTerrain Class Reference

A flim terrain. More...

#include <Terrain.h>

Inheritance diagram for FlimTerrain:
Inheritance graph
Collaboration diagram for FlimTerrain:
Collaboration graph

Public Member Functions

 FlimTerrain ()=delete
 
 FlimTerrain (const char *, float sideLength, float _maxHeight, float _zeroAltitude)
 
 FlimTerrain (const FlimTerrain &)=default
 
FlimTerrainoperator= (const FlimTerrain &)=default
 
 FlimTerrain (const char *heightmapFile, const char *texturePath, float _sideLength, float _maxHeight, float _zeroAltitude, float U, float V)
 Constructor. More...
 
errcode ActivateTerrain ()
 
errcode DeactivateTerrain ()
 
 ~FlimTerrain ()
 
int VertexIndex (int i, int j)
 
int PixelIndex (int i, int j)
 
float PixelToFloat (unsigned char hval)
 
int TriIndex (int i, int j)
 
void ShowCells ()
 
errcode FindMax (int i, int j, Vect &out)
 
errcode FindMin (int i, int j, Vect &out)
 
errcode ShowNearestCell (const Vect &pos)
 Shows the nearest cell. More...
 
CollisionVolumeAABB FindNearestCell (const Vect &pos)
 Searches for the nearest cell. More...
 
errcode ShowExactPosition (const Vect &pos)
 Shows the exact position. More...
 
Vect GetNormalizedPosition (const Vect &pos)
 Gets normalized position. More...
 
errcode GetExactPosition (const Vect &pos, Vect &output)
 Gets exact position. More...
 
errcode FindNormalUnderPosition (const Vect &pos, Vect &output)
 Searches for the first normal under position. More...
 
errcode ShowNearestCells (const Collidable &coll)
 Shows the nearest cells. More...
 
float getCellDimension () const
 Gets cell dimension. More...
 
errcode Draw ()
 Draw callback to override. More...
 
- Public Member Functions inherited from GameObject
 GameObject ()
 
virtual ~GameObject ()
 
GameObjectoperator= (const GameObject &)=default
 
 GameObject (const GameObject &)=default
 
errcode SubmitEntry ()
 Submit entry to the scene. More...
 
errcode SubmitExit ()
 Submit exit to the scene. More...
 
- Public Member Functions inherited from Updatable
 Updatable ()
 
virtual ~Updatable ()
 
 Updatable (const Updatable &)=delete
 
const Updatableoperator= (const Updatable &)=delete
 
virtual errcode Update ()
 Called every frame. More...
 
errcode SubmitUpdateRegistration ()
 Submit update registration. More...
 
errcode SubmitUpdateDeregistration ()
 Submit update deregistration. More...
 
- Public Member Functions inherited from Drawable
 Drawable ()
 
virtual ~Drawable ()
 
 Drawable (const Drawable &)=delete
 
const Drawableoperator= (const Drawable &)=delete
 
virtual errcode Draw2D ()
 
errcode SubmitDrawRegistration ()
 Submit draw registration. More...
 
errcode SubmitDrawDeregistration ()
 Submit draw deregistration. More...
 
std::list< Drawable * >::iterator GetDeletionIterator ()
 
errcode SetDeletionIterator (std::list< Drawable *>::iterator in)
 
- Public Member Functions inherited from Inputable
 Inputable ()
 
virtual ~Inputable ()
 
 Inputable (const Inputable &)=delete
 
const Inputableoperator= (const Inputable &)=delete
 
virtual errcode KeyPressed (AZUL_KEY key)
 Key pressed callback. More...
 
virtual errcode KeyReleased (AZUL_KEY key)
 Key released. More...
 
errcode SubmitInputRegistration (AZUL_KEY key, input_type type)
 Submit input registration. More...
 
errcode SubmitInputDeregistration (AZUL_KEY key, input_type type)
 Submit input deregistration. More...
 
std::list< Inputable * >::iterator GetDeletionIterator ()
 
errcode SetDeletionIterator (std::list< Inputable *>::iterator in)
 
- Public Member Functions inherited from Alarmable
 Alarmable ()
 
Alarmableoperator= (const Alarmable &)
 
virtual ~Alarmable ()
 
 Alarmable (const Alarmable &)
 
errcode SubmitAlarmDeregistration (AlarmableManager::ALARM_ID id)
 Submit alarm deregistration. More...
 
errcode SubmitAlarmRegistration (float t, AlarmableManager::ALARM_ID id)
 Submit alarm registration. More...
 
virtual void Alarm0 ()
 Alarm 0 callback. More...
 
virtual void Alarm1 ()
 Alarm 1 callback. More...
 
virtual void Alarm2 ()
 Alarm 2 callback. More...
 
float TimeLeft (AlarmableManager::ALARM_ID id)
 Time left on one of the alarms. More...
 
errcode ChangeTime (float t, AlarmableManager::ALARM_ID id)
 Change time. More...
 
errcode AddTime (float t, AlarmableManager::ALARM_ID id)
 Adds a time to 'id'. More...
 
errcode SubtractTime (float t, AlarmableManager::ALARM_ID id)
 Subtract time. More...
 
bool IsRegistered (AlarmableManager::ALARM_ID id)
 Query if 'id' is registered. More...
 
errcode SetDeletionIter (int alarmNumber, std::multimap< float, AlarmableManager::AlarmEvent >::const_iterator iter)
 
std::multimap< float, AlarmableManager::AlarmEvent >::const_iterator GetDeletionIter (int alarmNumber)
 
errcode SetRegistrationState (int alarmNumber, RegistrationState state)
 
- Public Member Functions inherited from Collidable
 Collidable ()
 
virtual ~Collidable ()
 
 Collidable (const Collidable &)=delete
 
const Collidableoperator= (const Collidable &)=delete
 
virtual errcode Collision (Collidable *)
 Collision callback. More...
 
virtual errcode CollisionEnter (Collidable *)
 Collision enter. More...
 
virtual errcode CollisionExit ()
 Collision exit. More...
 
virtual errcode CollisionTerrain (const CollisionVolumeAABB &)
 Collision terrain. More...
 
template<typename C >
errcode SubmitCollisionRegistration (C *c)
 Submit collision registration of your type. More...
 
template<typename C >
errcode SubmitCollisionDeregistration (C *c)
 Submit collision deregistration for your type. More...
 
const CollisionVolumeGetCollisionVolume () const
 
errcode SetColliderModel (Model *mod, VolumeType vol)
 Sets collider model. More...
 
errcode UpdateCollisionData (Matrix &mat)
 Updates the collision data described by matrix. More...
 
std::list< Collidable * >::iterator GetDeletionIter ()
 
errcode SetDeletionIter (std::list< Collidable *>::iterator in)
 
bool getColliding () const
 
void setColliding (bool coll)
 
const CollisionVolumeBSpheregetBSphere () const
 

Private Attributes

Model * terrainModel
 
float terrainSideLength
 
float maxHeight
 
float zeroAltitutde
 
int pixel_width
 
GraphicsObject_TextureLight * terrainGO
 
GraphicsObject_WireframeConstantColor * terrainGOWire
 
float cellDimension
 
int NUM_VERTS
 
int NUM_TRIS
 
int imgWidth
 
int imgHeight
 
VertexStride_VUN * pVerts
 
TriangleIndex * tlist
 
GLbyte * imgData
 
Texture * terrainTexture
 

Additional Inherited Members

- Public Attributes inherited from Updatable
std::list< Updatable * >::iterator deleteIter
 

Detailed Description

A flim terrain.

Author
Jack Campbell
Date
6/1/2017

Constructor & Destructor Documentation

◆ FlimTerrain() [1/3]

FlimTerrain::FlimTerrain ( )
delete

◆ FlimTerrain() [2/3]

FlimTerrain::FlimTerrain ( const char *  ,
float  sideLength,
float  _maxHeight,
float  _zeroAltitude 
)

◆ FlimTerrain() [3/3]

FlimTerrain::FlimTerrain ( const FlimTerrain )
default

◆ ~FlimTerrain()

FlimTerrain::~FlimTerrain ( )

Member Function Documentation

◆ ActivateTerrain()

errcode FlimTerrain::ActivateTerrain ( )

◆ DeactivateTerrain()

errcode FlimTerrain::DeactivateTerrain ( )

◆ Draw()

errcode FlimTerrain::Draw ( )
virtual

Draw callback to override.

Author
Jack Campbell
Date
3/5/2017
This will be called once a frame and should only contain code related to rendering.
{
// Place rendering code here.
// Render ship's graphics object to the current main camera via the Scene
pGObj_SpaceFrigateLight->Render(&SceneManager::GetCurrentScene().GetCamera()->MainCamera());
}
Returns
An errcode.

Reimplemented from Drawable.

◆ FindMax()

errcode FlimTerrain::FindMax ( int  i,
int  j,
Vect &  out 
)

◆ FindMin()

errcode FlimTerrain::FindMin ( int  i,
int  j,
Vect &  out 
)

◆ operator=()

FlimTerrain& FlimTerrain::operator= ( const FlimTerrain )
default

◆ PixelIndex()

int FlimTerrain::PixelIndex ( int  i,
int  j 
)

◆ PixelToFloat()

float FlimTerrain::PixelToFloat ( unsigned char  hval)

◆ ShowCells()

void FlimTerrain::ShowCells ( )

◆ TriIndex()

int FlimTerrain::TriIndex ( int  i,
int  j 
)

◆ VertexIndex()

int FlimTerrain::VertexIndex ( int  i,
int  j 
)

Member Data Documentation

◆ cellDimension

float FlimTerrain::cellDimension
private

◆ imgData

GLbyte* FlimTerrain::imgData
private

◆ imgHeight

int FlimTerrain::imgHeight
private

◆ imgWidth

int FlimTerrain::imgWidth
private

◆ maxHeight

float FlimTerrain::maxHeight
private

◆ NUM_TRIS

int FlimTerrain::NUM_TRIS
private

◆ NUM_VERTS

int FlimTerrain::NUM_VERTS
private

◆ pixel_width

int FlimTerrain::pixel_width
private

◆ pVerts

VertexStride_VUN* FlimTerrain::pVerts
private

◆ terrainGO

GraphicsObject_TextureLight* FlimTerrain::terrainGO
private

◆ terrainGOWire

GraphicsObject_WireframeConstantColor* FlimTerrain::terrainGOWire
private

◆ terrainModel

Model* FlimTerrain::terrainModel
private

◆ terrainSideLength

float FlimTerrain::terrainSideLength
private

◆ terrainTexture

Texture* FlimTerrain::terrainTexture
private

◆ tlist

TriangleIndex* FlimTerrain::tlist
private

◆ zeroAltitutde

float FlimTerrain::zeroAltitutde
private

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