Upload
fernando-santos
View
215
Download
0
Embed Size (px)
DESCRIPTION
Descripción de la Arquitectura del FrameWork
Citation preview
Gráficas Computacionales Prof. Eduardo Rosado
Malani Hernández Barrera 889931
Martha Patricia Moreno Arias 889873 Fernando Salvador Santos Dueñez 887086
Diana Gabriela Nava Domínguez 889910
Arquitectura
Dos librerías importantes que se están ocupando en la realización del programa que se
muestra a continuación son las de OpenGL y Corona, las cuales son llamadas en las clases
donde es requerida la manipulación de los objetos con ciertas operaciones para producir
aplicaciones interactivas en tres dimensiones esto se realiza con OpenGL y para la
manipulación y carga de las imágenes en formato jpg, png, jpeg, etc., que se puedan mapear
a los polígonos sin muchas complicaciones se utiliza la librería de corona.
En el siguiente diagrama se muestran las relaciones entre las clases que involucran el
sistema, así como la especialización que existe en las clases de Movimiento, Traslación,
Objetos3D y Luz.
La clase principal o superclase en el sistema es Escena que es donde se muestra lo que las
clases como Objetos3D están creando, la cual a su vez tiene los objetos de esfera, toroide,
cubo, prisma y cono heredados y que son objetos que pueden tener asociados materiales y
texturas y movimientos que están definidos en las clases con su mismo nombre.
Las variables definidas para cada uno de los objetos se mencionan a continuación:
Esfera: radio, meridiano y paralelo
Toroide: radioInterno, radioExterno, lados y anillos
Cubo: lado
Prisma: lado, apotema y altura
Cono: radio, altura, lados y anillos
Cada una de las clases de los objetos los getters y setters correspondientes además tiene su
método dibuja(), que es el que se manda llamar en objetos3D cuando desde archivo se lee el
objeto y se pueda mostrar en escena.
En la clase Material se definen los materiales que se van asociar con los objetos, y que tienen un
nombre, un modo y los tipos de luces que van a reflejar los materiales como la luz ambiente, difusa
y especular con sus componentes RGB y por ultimo el id de textura y su nivel de transparencia.
En la clase de Textura se definen las variables que tiene como el nombre de la textura, id,
transparencia, expansión o repetición y filtrado . Las texturas estan asociadas a los materiales por
medio de los ids lo que permite dar a los materiales diferentes texturas para tener objetos con
diferente apariencia.
Para la clase de Movimientos la variable que se define es la del tipo de movimiento el cual puede
ser escalamiento, Rotación y traslación que son clases que son una especialización de la clase
movimiento y las cuales tienen sus propias especificaciones que se mencionan a continuación.
class Class Mo...
Esfera
- meridiano: GLfloat
- paralelo: GLfloat
- radio: GLfloat
+ dibuja() : void
+ Esfera(void)
+ ~Esfera(void)
+ Esfera(GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ getMeridiano() : GLfloat
+ getParalelo() : GLfloat
+ getRadio() : GLfloat
+ setMeridiano(GLfloat) : void
+ setParalelo(GLfloat) : void
+ setRadio(GLfloat) : void
Cubo
- lado: GLfloat
+ Cubo(void)
+ ~Cubo(void)
+ Cubo(GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ dibuja() : void
+ getLado() : GLfloat
+ setLado(GLfloat) : void
Cono
- altura: GLfloat
- anil los: GLfloat
- lados: GLfloat
- radio: GLfloat
+ base(float, char*) : void
+ Cono(void)
+ ~Cono(void)
+ Cono(GLfloat, GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ dibuja() : void
+ getAltura() : GLfloat
+ getAnillo() : GLfloat
+ getLados() : GLf loat
+ getRadio() : GLfloat
+ setAltura(GLfloat) : void
+ setAnillos(GLfloat) : void
+ setLados(GLfloat) : void
+ setRadio(GLfloat) : void
Toroide
- anil los: GLfloat
- lados: GLfloat
- radioExterno: GLfloat
- radioInterno: GLfloat
+ dibuja() : void
+ getAnillo() : GLfloat
+ getLados() : GLf loat
+ getRadioEx() : GLfloat
+ getRadioIn() : GLfloat
+ setAnillos(GLfloat) : void
+ setLados(GLfloat) : void
+ setRadioEx(GLfloat) : void
+ setRadioIn(GLfloat) : void
+ Toroide(void)
+ ~Toroide(void)
+ Toroide(GLfloat, GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
Prisma
- altura: GLfloat
- apotema: GLfloat
- lado: GLfloat
+ cuerpoPrisma() : void
+ dibuja() : void
+ getAltura() : GLfloat
+ getApotema() : GLfloat
+ getLado() : GLfloat
+ Prisma(void)
+ ~Prisma(void)
+ Prisma(GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ setAltura(GLfloat) : void
+ setApotema(GLfloat) : void
+ setLado(GLfloat) : void
+ tapa(float) : void
Objetos3D
# iluminado: bool
# material: Material*
+ movs: l ist<Movimiento *>
# nombreObj: char ([400])
+ noMovimiento: int
# tipo: char ([400])
# xIni: GLfloat
# xRot: GLfloat
# yIni: GLfloat
# yRot: GLfloat
# zIni: GLfloat
# zRot: GLfloat
+ addMovimiento(Movimiento*) : void
+ dibuja() : void
+ getIluminado() : bool
+ getMaterial() : Material*
+ getNombreObj() : char *
+ getNoMovimiento() : int
+ getTipo() : char *
+ getXIni() : GLfloat
+ getXRot() : GLfloat
+ getYIni() : GLfloat
+ getYRot() : GLfloat
+ getZIni() : GLfloat
+ getZRot() : GLfloat
+ Objetos3D(void)
+ ~Objetos3D(void)
+ Objetos3D(char*, GLfloat, GLfloat, GLfloat, Material*)
+ posicionInicial() : void
+ setIluminado(bool) : void
+ setMaterial(Material*) : void
+ setNombreObj(char*) : void
+ setNoMovimiento() : void
+ setTipo(char*) : void
+ setXIni(GLfloat) : void
+ setXRot(GLfloat) : void
+ setYIni(GLfloat) : void
+ setYRot(GLfloat) : void
+ setZIni(GLfloat) : void
+ setZRot(GLfloat) : void
Escalar: se definen las variables a escalar en la posición x, y y z.
Rotar: Para esta clase a parte de las variables de posición x,y y z, también necesita velocidad y
ángulo.
Traslación: Para la traslación se definen las variables de velocidad en x, y y z. Esta clase a su vez
tiene la especialización de las clases de Circular, Lineal y Elipse las cuales definen el tipo de
traslación que se va a realizar.
Circular: En esta clase se definen las variables de radio y ángulo que son las
necesarias para la traslación circular de los objetos.
Lineal: En esta clase se definen las variables de la dirección en x, y y z, así como la
velocidad también en x, y y z, necesarias para la traslación lineal.
Elipse: En esta clase se definen las variables de los radios A y B y el ángulo
necesarios para la traslación en elipse.
Dentro de la clase de Escena se están manejando mapas como estructuras dinámicas para
agregar los objetos, materiales, planos, keyframes, luces, movimientos y modelos que
permiten tener un mejor control en cuanto al crecimiento de los objetos manejados, así
como sus iteradores para acceder a cada uno.
Uno de los metodos principales de la clase es el método de guardarObjetos3D que es
donde se lee el archivo de entrada y se va guardando en el mapa correspondiente ya sea un
material, un objeto, un keyframe, una luz o el tipo de traslación que tiene el objeto.
class Class Mo...
Linea l
- drot: GLfloat
- dtran: GLfloat
- xDir: GLfloat
- xVelocidad: GLfloat
- yDir: GLfloat
- yVelocidad: GLfloat
- zDir: GLfloat
- zVelocidad: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ getXDir() : GLfloat
+ getXVelocidad() : GLfloat
+ getYDir() : GLfloat
+ getYVelocidad() : GLfloat
+ getZDir() : GLfloat
+ getZVelocidad() : GLfloat
+ Lineal(void)
+ ~Lineal(void)
+ setXDir(GLfloat) : void
+ setXVelocidad(GLfloat) : void
+ setYDir(GLfloat) : void
+ setYVelocidad(GLfloat) : void
+ setZDir(GLfloat) : void
+ setZVelocidad(GLfloat) : void
Escala r
- xs: GLfloat
- ys: GLfloat
- zs: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ Escalar(void)
+ ~Escalar(void)
+ Escalar(GLfloat, GLfloat, GLfloat)
+ getXs() : GLf loat
+ getYs() : GLf loat
+ getZs() : GLf loat
+ setXs(GLfloat) : void
+ setYs(GLfloat) : void
+ setZs(GLfloat) : void
Elips e
- angulo: GLfloat
- radioA: GLfloat
- radioB: GLfloat
+ Elipse(void)
+ ~Elipse(void)
+ getAngulo() : GLfloat
+ getRadioA() : GLfloat
+ getRadioB() : GLfloat
+ setAngulo(GLfloat) : void
+ setRadioA(GLfloat) : void
+ setRadioB(GLfloat) : void
Circula r
- angulo: GLfloat
- radio: GLfloat
+ Circular(void)
+ ~Circular(void)
+ ejecutaTraslacionCircular() : void
+ getAngulo() : GLfloat
+ getRadio() : GLfloat
+ setAngulo(GLfloat) : void
+ setRadio(GLfloat) : void
Rota r
- angulo: GLfloat
- coordenada: char
- velocidad: GLfloat
- x: GLfloat
- y: GLfloat
- z: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ getAngulo() : GLfloat
+ getCoordenada() : GLfloat
+ getVelocidad() : GLfloat
+ getX() : GLfloat
+ getY() : GLfloat
+ getZ() : GLfloat
+ Rotar(void)
+ ~Rotar(void)
+ Rotar(GLfloat, GLfloat, char)
+ setAngulo(GLfloat) : void
+ setCoordenada(GLfloat) : void
+ setVelocidad(GLfloat) : void
+ setX(GLfloat) : void
+ setY(GLfloat) : void
+ setZ(GLfloat) : void
Traslacion
- tipoTraslacion: char ([150])
- xVelocidad: GLfloat
- yVelocidad: GLfloat
- zVelocidad: GLfloat
+ getTipoTraslacion() : char*
+ getXVelocidad() : GLfloat
+ getYVelocidad() : GLfloat
+ getZVelocidad() : GLfloat
+ setTipoTraslacion(char*) : void
+ setXVelocidad(GLfloat) : void
+ setYVelocidad(GLfloat) : void
+ setZVelocidad(GLfloat) : void
+ Traslacion(void)
+ ~Traslacion(void)
Mov imiento
- tipoMovimiento: char ([400])
+ getTipoMovimiento() : char*
+ Movimiento(void)
+ ~Movimiento(void)
+ setTipoMovimiento(char*) : void
Otros métodos dentro de la clase son:
cargaModels(): que permite cargar los modelos.
esNullModel(float angulo): con este método se verifica si el modelo no es NULL.
ponLucesEscena: El método permite agregar las luces a la escena.
movimientos(float angulo): el método permite sacar los movimientos y asignarlos a los
objetos que esten definidos en el archivo. Por ejemplo si es Cono y tiene movimiento de
escalamiento o rotación o traslación circular o lineal.
creaMapaTexturas(): este método lee el archivo de texturas y va guardando el tipo de
textura que tiene y sus distintas opciones como la transparencia, y la expansión o repetición
y el tipo de filtrado.
loadTexture(): Es un método de la librería de corona que permite el manejo de las texturas.
cargaTexturas(): permite cargar las texturas.
Diagrama de clases
class Class Mo...
Linea l
- drot: GLfloat
- dtran: GLfloat
- xDir: GLfloat
- xVelocidad: GLfloat
- yDir: GLfloat
- yVelocidad: GLfloat
- zDir: GLfloat
- zVelocidad: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ getXDir() : GLfloat
+ getXVelocidad() : GLfloat
+ getYDir() : GLfloat
+ getYVelocidad() : GLfloat
+ getZDir() : GLfloat
+ getZVelocidad() : GLfloat
+ Lineal(void)
+ ~Lineal(void)
+ setXDir(GLfloat) : void
+ setXVelocidad(GLfloat) : void
+ setYDir(GLfloat) : void
+ setYVelocidad(GLfloat) : void
+ setZDir(GLfloat) : void
+ setZVelocidad(GLfloat) : void
LuzAmbiental
+ ilumina() : void
+ LuzAmbiental(void)
+ ~LuzAmbiental(void)
LuzPointLight
- xPosIni: GLfloat
- yPosIni: GLfloat
- zPosIni: GLfloat
+ getXPosIni() : GLfloat
+ getYPosIni() : GLfloat
+ getZPosIni() : GLfloat
+ ilumina() : void
+ LuzPointLight(void)
+ ~LuzPointLight(void)
+ setXPosIni(GLfloat) : void
+ setYPosIni(GLfloat) : void
+ setZPosIni(GLfloat) : void
Esfera
- meridiano: GLfloat
- paralelo: GLfloat
- radio: GLfloat
+ dibuja() : void
+ Esfera(void)
+ ~Esfera(void)
+ Esfera(GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ getMeridiano() : GLfloat
+ getParalelo() : GLfloat
+ getRadio() : GLfloat
+ setMeridiano(GLfloat) : void
+ setParalelo(GLfloat) : void
+ setRadio(GLfloat) : voidEscala r
- xs: GLfloat
- ys: GLfloat
- zs: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ Escalar(void)
+ ~Escalar(void)
+ Escalar(GLfloat, GLfloat, GLfloat)
+ getXs() : GLf loat
+ getYs() : GLf loat
+ getZs() : GLf loat
+ setXs(GLfloat) : void
+ setYs(GLfloat) : void
+ setZs(GLfloat) : void
Elips e
- angulo: GLfloat
- radioA: GLfloat
- radioB: GLfloat
+ Elipse(void)
+ ~Elipse(void)
+ getAngulo() : GLfloat
+ getRadioA() : GLfloat
+ getRadioB() : GLfloat
+ setAngulo(GLfloat) : void
+ setRadioA(GLfloat) : void
+ setRadioB(GLfloat) : void
Cubo
- lado: GLfloat
+ Cubo(void)
+ ~Cubo(void)
+ Cubo(GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ dibuja() : void
+ getLado() : GLfloat
+ setLado(GLfloat) : void
Cono
- altura: GLfloat
- anillos: GLfloat
- lados: GLfloat
- radio: GLfloat
+ base(float, char*) : void
+ Cono(void)
+ ~Cono(void)
+ Cono(GLfloat, GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ dibuja() : void
+ getAltura() : GLfloat
+ getAnillo() : GLfloat
+ getLados() : GLf loat
+ getRadio() : GLfloat
+ setAltura(GLfloat) : void
+ setAnillos(GLfloat) : void
+ setLados(GLfloat) : void
+ setRadio(GLfloat) : void
Circula r
- angulo: GLfloat
- radio: GLfloat
+ Circular(void)
+ ~Circular(void)
+ ejecutaTraslacionCircular() : void
+ getAngulo() : GLfloat
+ getRadio() : GLfloat
+ setAngulo(GLfloat) : void
+ setRadio(GLfloat) : void
Plano
- material: Material*
- tipoPlano: char ([400])
- v1x: GLfloat
- v1y: GLfloat
- v1z: GLfloat
- v2x: GLfloat
- v2y: GLfloat
- v2z: GLfloat
- v3x: GLfloat
- v3y: GLfloat
- v3z: GLfloat
- v4x: GLfloat
- v4y: GLfloat
- v4z: GLfloat
+ dibujaPlano() : void
+ getMaterial() : Material*
+ getTipoPlano() : char*
+ getV1x() : GLfloat
+ getV1y() : GLfloat
+ getV1z() : GLfloat
+ getV2x() : GLfloat
+ getV2y() : GLfloat
+ getV2z() : GLfloat
+ getV3x() : GLfloat
+ getV3y() : GLfloat
+ getV3z() : GLfloat
+ getV4x() : GLfloat
+ getV4y() : GLfloat
+ getV4z() : GLfloat
+ Plano(void)
+ ~Plano(void)
+ setMaterial(Material*) : void
+ setTipoPlano(char*) : void
+ setV1x(GLfloat) : void
+ setV1y(GLfloat) : void
+ setV1z(GLfloat) : void
+ setV2x(GLfloat) : void
+ setV2y(GLfloat) : void
+ setV2z(GLfloat) : void
+ setV3x(GLfloat) : void
+ setV3y(GLfloat) : void
+ setV3z(GLfloat) : void
+ setV4x(GLfloat) : void
+ setV4y(GLfloat) : void
+ setV4z(GLfloat) : void
Toroide
- anillos: GLfloat
- lados: GLfloat
- radioExterno: GLfloat
- radioInterno: GLfloat
+ dibuja() : void
+ getAnillo() : GLfloat
+ getLados() : GLf loat
+ getRadioEx() : GLfloat
+ getRadioIn() : GLfloat
+ setAnillos(GLfloat) : void
+ setLados(GLfloat) : void
+ setRadioEx(GLfloat) : void
+ setRadioIn(GLfloat) : void
+ Toroide(void)
+ ~Toroide(void)
+ Toroide(GLfloat, GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
Tex tura
+ idText: GLuint
+ mag: int
+ min: int
+ mipmaps: bool
+ nomArch: char ([100])
+ nomText: char ([50])
+ sModo: int
+ tModo: int
+ transp: int
+ getIdText() : GLuint
+ getMag() : int
+ getMin() : int
+ getMipmaps() : bool
+ getNomArch() : char*
+ getNomText() : char *
+ getSModo() : int
+ getTModo() : int
+ getTransp() : int
+ setIdText(GLfloat) : void
+ setMag(int) : void
+ setMin(int) : void
+ setMipmaps(bool) : void
+ setNomArch(char*) : void
+ setNomText(char*) : void
+ setSModo(int) : void
+ setTModo(int) : void
+ setTransp(int) : void
+ Textura(void)
+ ~Textura(void)
Rota r
- angulo: GLfloat
- coordenada: char
- velocidad: GLfloat
- x: GLfloat
- y: GLfloat
- z: GLfloat
+ ejecutaMovimiento(GLfloat) : void
+ getAngulo() : GLfloat
+ getCoordenada() : GLfloat
+ getVelocidad() : GLfloat
+ getX() : GLfloat
+ getY() : GLfloat
+ getZ() : GLfloat
+ Rotar(void)
+ ~Rotar(void)
+ Rotar(GLfloat, GLfloat, char)
+ setAngulo(GLfloat) : void
+ setCoordenada(GLfloat) : void
+ setVelocidad(GLfloat) : void
+ setX(GLfloat) : void
+ setY(GLfloat) : void
+ setZ(GLfloat) : void
Luz
- ambA: GLfloat
- ambB: GLfloat
- ambG: GLfloat
- ambR: GLfloat
- bril lo: GLfloat
- bril loEsp: GLfloat
- disA: GLfloat
- disB: GLfloat
- disG: GLfloat
- disR: GLfloat
- emiA: GLfloat
- emiB: GLfloat
- emiG: GLfloat
- emiR: GLfloat
- espA: GLf loat
- espB: GLf loat
- espG: GLf loat
- espR: GLf loat
- modoLocalViewer: bool
- modoTwoSide: bool
- nomLuz: char ([300])
- tipoLuz: char ([300])
+ getAmbA() : GLfloat
+ getAmbB() : GLfloat
+ getAmbG() : GLfloat
+ getAmbR() : GLfloat
+ getBril loEsp() : GLfloat
+ getDisA() : GLfloat
+ getDisB() : GLfloat
+ getDisG() : GLfloat
+ getDisR() : GLfloat
+ getEmiA() : GLfloat
+ getEmiB() : GLfloat
+ getEmiG() : GLfloat
+ getEmiR() : GLfloat
+ getEspA() : GLf loat
+ getEspB() : GLf loat
+ getEspG() : GLf loat
+ getEspR() : GLf loat
+ getModoLocalViewer() : bool
+ getModoTwoSide() : bool
+ getNomLuz() : char*
+ getTipoLuz() : char*
+ ilumina() : void
+ Luz(void)
+ ~Luz(void)
+ setAmbA(GLfloat) : void
+ setAmbB(GLfloat) : void
+ setAmbG(GLfloat) : void
+ setAmbR(GLfloat) : void
+ setBril loEsp(GLfloat) : void
+ setDisA(GLfloat) : void
+ setDisB(GLfloat) : void
+ setDisG(GLfloat) : void
+ setDisR(GLfloat) : void
+ setEmiA(GLfloat) : void
+ setEmiB(GLfloat) : void
+ setEmiG(GLfloat) : void
+ setEmiR(GLfloat) : void
+ setEspA(GLfloat) : void
+ setEspB(GLfloat) : void
+ setEspG(GLfloat) : void
+ setEspR(GLfloat) : void
+ setModoLocalViewer(bool) : void
+ setModoTwoSide(bool) : void
+ setNomLuz(char*) : void
+ setTipoLuz(char*) : void
Prisma
- altura: GLfloat
- apotema: GLfloat
- lado: GLfloat
+ cuerpoPrisma() : void
+ dibuja() : void
+ getAltura() : GLfloat
+ getApotema() : GLfloat
+ getLado() : GLfloat
+ Prisma(void)
+ ~Prisma(void)
+ Prisma(GLfloat, GLfloat, GLfloat, char*, GLfloat, GLfloat, GLfloat, Material*)
+ setAltura(GLfloat) : void
+ setApotema(GLfloat) : void
+ setLado(GLfloat) : void
+ tapa(float) : void
Traslacion
- tipoTraslacion: char ([150])
- xVelocidad: GLfloat
- yVelocidad: GLfloat
- zVelocidad: GLfloat
+ getTipoTraslacion() : char*
+ getXVelocidad() : GLfloat
+ getYVelocidad() : GLfloat
+ getZVelocidad() : GLfloat
+ setTipoTraslacion(char*) : void
+ setXVelocidad(GLfloat) : void
+ setYVelocidad(GLfloat) : void
+ setZVelocidad(GLfloat) : void
+ Traslacion(void)
+ ~Traslacion(void)
Objetos3D
# iluminado: bool
# material: Material*
+ movs: l ist<Movimiento *>
# nombreObj: char ([400])
+ noMovimiento: int
# tipo: char ([400])
# xIni: GLfloat
# xRot: GLfloat
# yIni: GLfloat
# yRot: GLfloat
# zIni: GLfloat
# zRot: GLfloat
+ addMovimiento(Movimiento*) : void
+ dibuja() : void
+ getIluminado() : bool
+ getMaterial() : Material*
+ getNombreObj() : char *
+ getNoMovimiento() : int
+ getTipo() : char *
+ getXIni() : GLfloat
+ getXRot() : GLfloat
+ getYIni() : GLfloat
+ getYRot() : GLfloat
+ getZIni() : GLfloat
+ getZRot() : GLfloat
+ Objetos3D(void)
+ ~Objetos3D(void)
+ Objetos3D(char*, GLfloat, GLfloat, GLfloat, Material*)
+ posicionInicial() : void
+ setIluminado(bool) : void
+ setMaterial(Material*) : void
+ setNombreObj(char*) : void
+ setNoMovimiento() : void
+ setTipo(char*) : void
+ setXIni(GLfloat) : void
+ setXRot(GLfloat) : void
+ setYIni(GLfloat) : void
+ setYRot(GLfloat) : void
+ setZIni(GLfloat) : void
+ setZRot(GLfloat) : void
Mov imiento
- tipoMovimiento: char ([400])
+ getTipoMovimiento() : char*
+ Movimiento(void)
+ ~Movimiento(void)
+ setTipoMovimiento(char*) : void
Modelo
- contMT: MatTexts
- itmt: MatTexts::iterator
- modelo: GLMmodel*
- nomMatAso: char ([100])
- numero: int
- ruta: char ([4 00])
+ cargaModelo(int, Material*) : void
+ dibuja() : void
+ generaModeloArchivo(char*) : void
+ getModelo() : GLMmodel*
+ getNomMatAso() : char *
+ getNumero() : int
+ getRuta() : char *
+ Modelo(void)
+ ~Modelo(void)
+ regresaMatModeloAleatorio() : int
+ setContMT(char*, int) : void
+ setModelo(GLMmodel*) : void
+ setNomMatAso(char*) : void
+ setNumero(int) : void
+ setRuta(char*) : void
Material
# ambA: GLfloat
# ambB: GLfloat
# ambG: GLfloat
# ambR: GLfloat
# b: GLfloat
# bril loEsp: GLfloat
# disA: GLfloat
# disB: GLfloat
# disG: GLfloat
# disR: GLfloat
# emiA: GLfloat
# emiB: GLfloat
# emiG: GLfloat
# emiR: GLfloat
# espA: GLf loat
# espB: GLf loat
# espG: GLf loat
# espR: GLf loat
# g: GLfloat
# idTextAso: GLuint
# modo: char ([300])
# nivelTransp: GLfloat
# nombre: char ([300])
# r: GLfloat
+ getAmbA() : GLfloat
+ getAmbB() : GLfloat
+ getAmbG() : GLfloat
+ getAmbR() : GLfloat
+ getB() : GLfloat
+ getBril loEsp() : GLfloat
+ getDisA() : GLfloat
+ getDisB() : GLfloat
+ getDisG() : GLfloat
+ getDisR() : GLfloat
+ getEmiA() : GLfloat
+ getEmiB() : GLfloat
+ getEmiG() : GLfloat
+ getEmiR() : GLfloat
+ getEspA() : GLf loat
+ getEspB() : GLf loat
+ getEspG() : GLf loat
+ getEspR() : GLf loat
+ getG() : GLfloat
+ getIdTextAso() : GLuint
+ getModo() : char *
+ getNivelTransp() : GLfloat
+ getNombre() : char *
+ getR() : GLfloat
+ iluminaAmbiente() : void
+ iluminaBril lo() : void
+ iluminaDifusa() : void
+ iluminaEmitida() : void
+ iluminaEspecular() : void
+ Material(void)
+ ~Material(void)
+ setAmbA(GLfloat) : void
+ setAmbB(GLfloat) : void
+ setAmbG(GLfloat) : void
+ setAmbR(GLfloat) : void
+ setB(GLfloat) : void
+ setBril loEsp(GLfloat) : void
+ setDisA(GLfloat) : void
+ setDisB(GLfloat) : void
+ setDisG(GLfloat) : void
+ setDisR(GLfloat) : void
+ setEmiA(GLfloat) : void
+ setEmiB(GLfloat) : void
+ setEmiG(GLfloat) : void
+ setEmiR(GLfloat) : void
+ setEspA(GLfloat) : void
+ setEspB(GLfloat) : void
+ setEspG(GLfloat) : void
+ setEspR(GLfloat) : void
+ setG(GLfloat) : void
+ setIdTextAso(GLuint) : void
+ setModo(char*) : void
+ setNivelTransp(GLfloat) : void
+ setNombre(char*) : void
+ setR(GLfloat) : void
LuzSpotLight
- angulo: GLfloat
- xDir: GLfloat
- xPosIni: GLfloat
- yDir: GLfloat
- yPosIni: GLfloat
- zDir: GLfloat
- zPosIni: GLfloat
+ getAngulo() : GLfloat
+ getXDir() : GLfloat
+ getXPosIni() : GLfloat
+ getYDir() : GLfloat
+ getYPosIni() : GLfloat
+ getZDir() : GLfloat
+ getZPosIni() : GLfloat
+ ilumina() : void
+ LuzSpotLight(void)
+ ~LuzSpotLight(void)
+ setAngulo(GLfloat) : void
+ setXDir(GLfloat) : void
+ setXPosIni(GLfloat) : void
+ setYDir(GLfloat) : void
+ setYPosIni(GLfloat) : void
+ setZDir(GLfloat) : void
+ setZPosIni(GLfloat) : void
Escena
- ambiente: boolean
- currHeight: int
- currWidth: int
- espe: boolean
- fovy: GLfloat
- fps: float
- frametime: int
- pause: bool
- perspectiva: bool
- range: GLfloat
- reverse: bool
- spot: boolean
- xr: GLfloat
- xrotview: int
- xs: GLfloat
- xt: GLfloat
- xView: int
- yr: GLfloat
- yrotview: int
- ys: GLfloat
- yt: GLfloat
- yview: int
- zr: GLfloat
- zrotview: int
- zs: GLfloat
- zt: GLfloat
- zview: int
+ camera() : void
+ cargaModels() : void
+ cargaTexturas() : void
+ creaMapaTexturas() : void
+ drawtriangle() : void
+ esNullModel() : void
+ guardarObjetos3D() : void
+ idle() : void
+ ilumina() : void
+ imprimeTexturas() : void
+ init(int, int, int, int, char*) : void
+ keyboard(unsigned char, int, int) : void
+ keyboardSpec(int, int, int) : void
+ loadTexture() : GLunit
+ main() : void
+ mouseMovement(int, int) : void
+ movimientos() : void
+ normalize() : void
+ plano() : void
+ ponLucesEscena() : void
+ redimensiona(int, int) : void
+ regresaMaterialAleatorio() : Material
+ render() : void
openGLcorona
1
0..*
1
1.. *
0..*
1
0..*
0..*
0..*0..*
#material
-material
1
0..*