Overview   Project   Class   Tree   Deprecated   Index 
Marble and Madness
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

common
Class MadMap

   in MadMap.h
   in MadMap.cpp

class MadMap

Mappa del gioco, composta da una griglia di Tile


Field Summary
 Area Colored
          Area della mappa visualizzata con un diverso colore
 coord Dim
          Dimenzione della matrice (Dim.X)x(Dim.Z)
 Area[ MAXENEMY ] Enemys
          vettore di pos di partenza dei nemici //notaaaaaaaa
 MadTile[ MAXMAP ][ MAXMAP ] Map
          Matrice di Tile.
 bool Meaningful
          indica se la mappa è valida o no
 Point3f[ MAXMAP ][ MAXMAP ][ 4 ] Nl
          Le Normali per ogni triangoli delle tile
 int numtex
          numero delle texture utilizzate dalla mappa
 Area Start
          Posizione di partenza della pallina
 char[ MAXMAP ][ 120 ] Tex
          Vettore con i nomi delle texture
 int TexEnemy
          id delle texture dei nemici
 GLuint[ MAXMAP ] ti
          vettore id Texture
 
Constructor Summary
MadMap()
          costruisce una mappa non valida
MadMap( int SizeX, int SizeZ )
          costruisce una mappa valida di grandezza (SizeX)x(SizeZ) dove l'altezza di ogni tile è DEFAULT_Y e l'are Goal e lo Start non sono indicati
~MadMap()
          Distruttore
 
Method Summary
 void CalcNorm()
          Calcola le normali della mappa.
 void copy( MadMap* map_copy )
          permette di l'intera MadMap in map_copy
 void copy( MadMap* map_copy, coord first, coord last )
          permette di copiare in map_copy l'area definita dalle coordinate first e last
 void Draw( int option )
          Disegna la mappa nell'ambiente OpenGl.
 void DrawTile( int x, int z, int option )
          Disegna un tile
 void DrawWall( int x, int z, int side, int option )
          Disegna un muro
 int getColoredAttrito()
          restituisce il valore del Attrito nell'area colorata nella mappa
 int getColoredGravity()
          restituisce il valore della gravità nell'area colorata nella mappa
 int getColoredTexTile()
          restituisce il valore del id della texture delle tile nell'area colorata nella mappa
 int getColoredTexWall()
          restituisce il valore del id della texture del muro nell'area colorata nella mappa
 void getTriangle( double X, double Z, MarbleTriangle* currentTriangle )
          restituisce il triangolo della tile in riferimento alle coordinate X, Z
 double getY( double X, double Z )
          restituisce l'altezza (Y) nel punto X, Z nella mappa se non appartiene alla mappa valore restituito -200
 void InitTexture( void )
          inizializza le texture di tutte le aree della mappa
 bool intersect( float x1, float y1, float z1, float x2, float y2, float z2 )
          Verifica se il segmento definito dai punti (x1,y1,z1) e (x2,y2,z2) intersechi con la mappa.
 bool isColored( double x, double z )
          verifica se il punto x, z nella mappa è nell'area colorata
 void merge( MadMap* map_paste, coord first, coord last )
          aggiungo nell'area nella mappa definita dalle coordinate first e last la mappa contenuta in map_paste
 void paste( MadMap* map_paste, coord first, coord last )
          cambio l'area nella mappa definita dalle coordinate first e last con la mappa contenuta in map_paste
 int PickElement( int x, int y, int option )
          PickElement nella Mappa.
 void reSize( int SizeX, int SizeZ )
          non implementato
 void setColoredArea( coord a, coord b )
          definisce con le coordinate a, b l'area colorata diversamentea all'interno della mappa
 void setY( double X, double Z, double Y )
          cambia il valore a Y del campo(NO,NE,SO,SE) della tile più vicina al punto nella mappa indicato da X e Z
 void upTile( int X, int Z, double Y )
          alza la tile alle coordinate X, Y nella mappa di un altezza Y
 void XMLRead( vcg::Xml& xml )
          Costruisce la mappa attraverso un documento XML
 void XMLWrite( FILE* fp )
          Salva la mappa in un file di formato XML
 void zeroTile( int X, int Z, double k )
          pone ad un'altezza k la tile alle coordinate X, Y
 

Field Detail

Colored

public Area Colored;
Area della mappa visualizzata con un diverso colore

Dim

public coord Dim;
Dimenzione della matrice (Dim.X)x(Dim.Z)

Enemys

public Area Enemys[ MAXENEMY ];
vettore di pos di partenza dei nemici //notaaaaaaaa

Map

public MadTile Map[ MAXMAP ][ MAXMAP ];
Matrice di Tile.
contiene tutte le altezze delle piastrelle della mappa

Meaningful

public bool Meaningful;
indica se la mappa è valida o no

Nl

public Point3f Nl[ MAXMAP ][ MAXMAP ][ 4 ];
Le Normali per ogni triangoli delle tile

numtex

public int numtex;
numero delle texture utilizzate dalla mappa

Start

public Area Start;
Posizione di partenza della pallina

Tex

public char Tex[ MAXMAP ][ 120 ];
Vettore con i nomi delle texture

TexEnemy

public int TexEnemy;
id delle texture dei nemici

ti

public GLuint ti[ MAXMAP ];
vettore id Texture


Constructor Detail

MadMap

public MadMap();
costruisce una mappa non valida

MadMap

public MadMap( int SizeX, int SizeZ );
costruisce una mappa valida di grandezza (SizeX)x(SizeZ) dove l'altezza di ogni tile è DEFAULT_Y e l'are Goal e lo Start non sono indicati

Parametri
SizeX: grandezza X della mappa
SizeZ: grandezza Z della mappa

~MadMap

public ~MadMap();
Distruttore


Method Detail

CalcNorm

public void CalcNorm();
Calcola le normali della mappa. il risultati in Nl

copy

public void copy( MadMap* map_copy );
permette di l'intera MadMap in map_copy

copy

public void copy( MadMap* map_copy, coord first, coord last );
permette di copiare in map_copy l'area definita dalle coordinate first e last

Draw

public void Draw( int option );
Disegna la mappa nell'ambiente OpenGl.

Parametri
option: WIREFRAME disegna la mappa a "fil di ferro" colorato
SOLID disegna la mappa "Solida" senza texture
TEXTURED disgna la mappa "solida" con texture

DrawTile

public void DrawTile( int x, int z, int option );
Disegna un tile

Parametri
x,y: le coordinate della tile nella mappa
option: WIREFRAME, SOLID, TEXTURED

DrawWall

public void DrawWall( int x, int z, int side, int option );
Disegna un muro

Parametri
x,y: le coordinate della tile nella mappa
side: lato nella tile (NORTH, SOUTH , EAST, WEST)
option: WIREFRAME, SOLID, TEXTURED

getColoredAttrito

public int getColoredAttrito();
restituisce il valore del Attrito nell'area colorata nella mappa

getColoredGravity

public int getColoredGravity();
restituisce il valore della gravità nell'area colorata nella mappa

getColoredTexTile

public int getColoredTexTile();
restituisce il valore del id della texture delle tile nell'area colorata nella mappa

getColoredTexWall

public int getColoredTexWall();
restituisce il valore del id della texture del muro nell'area colorata nella mappa

getTriangle

public void getTriangle( double X, double Z, MarbleTriangle* currentTriangle );
restituisce il triangolo della tile in riferimento alle coordinate X, Z

getY

public double getY( double X, double Z );
restituisce l'altezza (Y) nel punto X, Z nella mappa se non appartiene alla mappa valore restituito -200

InitTexture

public void InitTexture( void );
inizializza le texture di tutte le aree della mappa

intersect

public bool intersect( float x1, float y1, float z1, float x2, float y2, float z2 );
Verifica se il segmento definito dai punti (x1,y1,z1) e (x2,y2,z2) intersechi con la mappa. se si restuisce TRUE se no FALSE

isColored

public bool isColored( double x, double z );
verifica se il punto x, z nella mappa è nell'area colorata
valore restituito: true se appartiene all'area colorata, false altrimenti

merge

public void merge( MadMap* map_paste, coord first, coord last );
aggiungo nell'area nella mappa definita dalle coordinate first e last la mappa contenuta in map_paste

paste

public void paste( MadMap* map_paste, coord first, coord last );
cambio l'area nella mappa definita dalle coordinate first e last con la mappa contenuta in map_paste

PickElement

public int PickElement( int x, int y, int option );
PickElement nella Mappa.

valore restituito.
se >-1
allora un intero dove il modulo 100 è la coordinata X della tile "pickata"
mentre la divisione intera per 100 è la coordinata Z della tile "pickata"
se =-1 nessuna tile!

Parametri
x:coordinata x della vista x su cui fare la pick
y: coordinata y della vista su cui fare la pick
option: specifica se il disegno avviene tramite WIREFRAME o SOLID

reSize

public void reSize( int SizeX, int SizeZ );
non implementato

setColoredArea

public void setColoredArea( coord a, coord b );
definisce con le coordinate a, b l'area colorata diversamentea all'interno della mappa

setY

public void setY( double X, double Z, double Y );
cambia il valore a Y del campo(NO,NE,SO,SE) della tile più vicina al punto nella mappa indicato da X e Z

upTile

public void upTile( int X, int Z, double Y );
alza la tile alle coordinate X, Y nella mappa di un altezza Y

XMLRead

public void XMLRead( vcg::Xml& xml );
Costruisce la mappa attraverso un documento XML

Parametri
xml : puntatore ad un oggetto xml

XMLWrite

public void XMLWrite( FILE* fp );
Salva la mappa in un file di formato XML

Parametri
fp : puntatore al file per il salvataggio

zeroTile

public void zeroTile( int X, int Z, double k );
pone ad un'altezza k la tile alle coordinate X, Y

 Overview   Project   Class   Tree   Deprecated   Index 
Marble and Madness
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD