Clase que representa una cámara en el espacio 3D. Más...
#include <GECamera.h>
Métodos públicos | |
| GECamera () | |
| Constructor por defecto. | |
| glm::mat4 | getViewMatrix () |
| Obtiene la matriz View para situar la cámara. | |
| void | setPosition (glm::vec3 pos) |
| Asigna la posición de la cámara. | |
| void | setDirection (glm::vec3 dir, glm::vec3 up) |
| Asigna la orientación de la cámara. | |
| void | setMoveStep (float step) |
| Asigna el avance en cada paso. | |
| void | setTurnStep (float step) |
| Asigna el ángulo de giro en cada paso. | |
| glm::vec3 | getPosition () |
| Obtiene la posición de la cámara. | |
| glm::vec3 | getDirection () |
| Obtiene la dirección (eje Z) de la cámara. | |
| glm::vec3 | getUpDirection () |
| Obtiene el vector arriba (eje Y) de la cámara. | |
| float | getMoveStep () |
| Obtiene el avance en cada paso. | |
| float | getTurnStep () |
| Obtiene el ángulo de giro en cada paso. | |
| void | update () |
| Actualiza la posición y orientación según entradas. | |
| void | setTurnLeft (bool flag) |
| Activa o desactiva el giro a la izquierda. | |
| void | setTurnRight (bool flag) |
| Activa o desactiva el giro a la derecha. | |
| void | setTurnUp (bool flag) |
| Activa o desactiva el giro hacia arriba. | |
| void | setTurnDown (bool flag) |
| Activa o desactiva el giro hacia abajo. | |
| void | setTurnCW (bool flag) |
| Activa o desactiva el giro horario. | |
| void | setTurnCCW (bool flag) |
| Activa o desactiva el giro antihorario. | |
| void | setMoveLeft (bool flag) |
| Activa o desactiva el desplazamiento a la izquierda. | |
| void | setMoveRight (bool flag) |
| Activa o desactiva el desplazamiento a la derecha. | |
| void | setMoveUp (bool flag) |
| Activa o desactiva el desplazamiento hacia arriba. | |
| void | setMoveDown (bool flag) |
| Activa o desactiva el desplazamiento hacia abajo. | |
Métodos privados | |
| void | turnRight () |
| Rota el observador un paso hacia su derecha. | |
| void | turnLeft () |
| Rota el observador un paso hacia su izquierda. | |
| void | turnUp () |
| Rota el observador un paso hacia arriba. | |
| void | turnDown () |
| Rota el observador un paso hacia abajo. | |
| void | turnCW () |
| Rota el observador un paso en sentido horario. | |
| void | turnCCW () |
| Rota el observador un paso en sentido antihorario. | |
| void | moveLeft () |
| Mueve el observador un paso hacia la izquierda. | |
| void | moveRight () |
| Mueve el observador un paso hacia la derecha. | |
| void | moveUp () |
| Mueve el observador un paso hacia arriba. | |
| void | moveDown () |
| Mueve el observador un paso hacia abajo. | |
| void | moveFront () |
| Mueve el observador un paso hacia adelante (dirección -Dir). | |
| void | moveBack () |
| Mueve el observador un paso hacia atrás (dirección Dir). | |
Atributos privados | |
| glm::vec3 | Pos |
| Posición de la cámara en coordenadas del mundo. | |
| glm::vec3 | Dir |
| Vector dirección (eje Z) de la cámara. | |
| glm::vec3 | Up |
| Vector 'arriba' (eje Y) de la cámara. | |
| glm::vec3 | Right |
| Vector derecho (eje X) de la cámara. | |
| float | moveStep |
| Tamaño del paso para movimientos. | |
| float | turnStep |
| Ángulo de giro en grados. | |
| float | cosAngle |
| Coseno del ángulo de giro (cache). | |
| float | sinAngle |
| Seno del ángulo de giro (cache). | |
| bool | turnLeftPressed |
| Flag de giro a la izquierda. | |
| bool | turnRightPressed |
| Flag de giro a la derecha. | |
| bool | turnUpPressed |
| Flag de giro hacia arriba. | |
| bool | turnDownPressed |
| Flag de giro hacia abajo. | |
| bool | turnCWPressed |
| Flag de giro horario. | |
| bool | turnCCWPressed |
| Flag de giro antihorario. | |
| bool | moveLeftPressed |
| Flag de desplazamiento a la izquierda. | |
| bool | moveRightPressed |
| Flag de desplazamiento a la derecha. | |
| bool | moveUpPressed |
| Flag de desplazamiento hacia arriba. | |
| bool | moveDownPressed |
| Flag de desplazamiento hacia abajo. | |
Clase que representa una cámara en el espacio 3D.
| GECamera::GECamera | ( | ) |
Constructor por defecto.
Construye una cámara.
La posición inicial es (0,0,0). La orientación inicial es el sistema de coordenadas del modelo. El tamaño del paso inicial es 0.1. El tamaño del giro inicial es 1.0 grados.
Hace referencia a cosAngle, Dir, moveDownPressed, moveLeftPressed, moveRightPressed, moveStep, moveUpPressed, Pos, Right, sinAngle, turnCCWPressed, turnCWPressed, turnDownPressed, turnLeftPressed, turnRightPressed, turnStep, turnUpPressed y Up.
| glm::vec3 GECamera::getDirection | ( | ) |
Obtiene la dirección (eje Z) de la cámara.
Obtiene la orientación de la cámara (eje Z).
Hace referencia a Dir.
| float GECamera::getMoveStep | ( | ) |
| glm::vec3 GECamera::getPosition | ( | ) |
| float GECamera::getTurnStep | ( | ) |
Obtiene el ángulo de giro en cada paso.
Hace referencia a turnStep.
| glm::vec3 GECamera::getUpDirection | ( | ) |
Obtiene el vector arriba (eje Y) de la cámara.
Obtiene la orientación cenital de la cámara (eje Y).
Hace referencia a Up.
| glm::mat4 GECamera::getViewMatrix | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| void GECamera::setDirection | ( | glm::vec3 | dir, |
| glm::vec3 | up ) |
| void GECamera::setMoveDown | ( | bool | flag | ) |
Activa o desactiva el desplazamiento hacia abajo.
| flag | true para activar, false para desactivar. |
Hace referencia a moveDownPressed.
| void GECamera::setMoveLeft | ( | bool | flag | ) |
Activa o desactiva el desplazamiento a la izquierda.
| flag | true para activar, false para desactivar. |
Hace referencia a moveLeftPressed.
| void GECamera::setMoveRight | ( | bool | flag | ) |
Activa o desactiva el desplazamiento a la derecha.
| flag | true para activar, false para desactivar. |
Hace referencia a moveRightPressed.
| void GECamera::setMoveStep | ( | float | step | ) |
| void GECamera::setMoveUp | ( | bool | flag | ) |
Activa o desactiva el desplazamiento hacia arriba.
| flag | true para activar, false para desactivar. |
Hace referencia a moveUpPressed.
| void GECamera::setPosition | ( | glm::vec3 | pos | ) |
Asigna la posición de la cámara.
| pos | Posición en coordenadas del modelo. |
Hace referencia a Pos.
| void GECamera::setTurnCCW | ( | bool | flag | ) |
Activa o desactiva el giro antihorario.
| flag | true para activar, false para desactivar. |
Hace referencia a turnCCWPressed.
| void GECamera::setTurnCW | ( | bool | flag | ) |
Activa o desactiva el giro horario.
| flag | true para activar, false para desactivar. |
Hace referencia a turnCWPressed.
| void GECamera::setTurnDown | ( | bool | flag | ) |
Activa o desactiva el giro hacia abajo.
| flag | true para activar, false para desactivar. |
Hace referencia a turnDownPressed.
| void GECamera::setTurnLeft | ( | bool | flag | ) |
Activa o desactiva el giro a la izquierda.
| flag | true para activar, false para desactivar. |
Hace referencia a turnLeftPressed.
| void GECamera::setTurnRight | ( | bool | flag | ) |
Activa o desactiva el giro a la derecha.
| flag | true para activar, false para desactivar. |
Hace referencia a turnRightPressed.
| void GECamera::setTurnStep | ( | float | step | ) |
| void GECamera::setTurnUp | ( | bool | flag | ) |
Activa o desactiva el giro hacia arriba.
| flag | true para activar, false para desactivar. |
Hace referencia a turnUpPressed.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| void GECamera::update | ( | ) |
Actualiza la posición y orientación según entradas.
Actualiza la posición y orientación de la cámara.
Hace referencia a moveDown(), moveDownPressed, moveFront(), moveLeft(), moveLeftPressed, moveRight(), moveRightPressed, moveUp(), moveUpPressed, turnCCW(), turnCCWPressed, turnCW(), turnCWPressed, turnDown(), turnDownPressed, turnLeft(), turnLeftPressed, turnRight(), turnRightPressed, turnUp() y turnUpPressed.
|
private |
Coseno del ángulo de giro (cache).
Referenciado por GECamera(), setTurnStep(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().
|
private |
Vector dirección (eje Z) de la cámara.
Referenciado por GECamera(), getDirection(), getViewMatrix(), moveBack(), moveFront(), setDirection(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().
|
private |
Flag de desplazamiento hacia abajo.
Referenciado por GECamera(), setMoveDown() y update().
|
private |
Flag de desplazamiento a la izquierda.
Referenciado por GECamera(), setMoveLeft() y update().
|
private |
Flag de desplazamiento a la derecha.
Referenciado por GECamera(), setMoveRight() y update().
|
private |
Tamaño del paso para movimientos.
Referenciado por GECamera(), getMoveStep(), moveBack(), moveFront() y setMoveStep().
|
private |
Flag de desplazamiento hacia arriba.
Referenciado por GECamera(), setMoveUp() y update().
|
private |
Posición de la cámara en coordenadas del mundo.
Referenciado por GECamera(), getPosition(), getViewMatrix(), moveBack(), moveDown(), moveFront(), moveLeft(), moveRight(), moveUp() y setPosition().
|
private |
Vector derecho (eje X) de la cámara.
Referenciado por GECamera(), moveLeft(), moveRight(), setDirection(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().
|
private |
Seno del ángulo de giro (cache).
Referenciado por GECamera(), setTurnStep(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().
|
private |
Flag de giro antihorario.
Referenciado por GECamera(), setTurnCCW() y update().
|
private |
Flag de giro horario.
Referenciado por GECamera(), setTurnCW() y update().
|
private |
Flag de giro hacia abajo.
Referenciado por GECamera(), setTurnDown() y update().
|
private |
Flag de giro a la izquierda.
Referenciado por GECamera(), setTurnLeft() y update().
|
private |
Flag de giro a la derecha.
Referenciado por GECamera(), setTurnRight() y update().
|
private |
Ángulo de giro en grados.
Referenciado por GECamera(), getTurnStep() y setTurnStep().
|
private |
Flag de giro hacia arriba.
Referenciado por GECamera(), setTurnUp() y update().
|
private |
Vector 'arriba' (eje Y) de la cámara.
Referenciado por GECamera(), getUpDirection(), getViewMatrix(), moveDown(), moveUp(), setDirection(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().