Animación Vulkan 1.0
Animación de tiro libre baloncesto con motor gráfico desarrollado en clase
Cargando...
Buscando...
Nada coincide
Referencia de la clase GECamera

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.

Descripción detallada

Clase que representa una cámara en el espacio 3D.

Documentación de constructores y destructores

◆ GECamera()

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.

Documentación de funciones miembro

◆ getDirection()

glm::vec3 GECamera::getDirection ( )

Obtiene la dirección (eje Z) de la cámara.

Obtiene la orientación de la cámara (eje Z).

Devuelve
Dirección de la cámara.

Hace referencia a Dir.

◆ getMoveStep()

float GECamera::getMoveStep ( )

Obtiene el avance en cada paso.

Devuelve
Tamaño del paso.

Hace referencia a moveStep.

◆ getPosition()

glm::vec3 GECamera::getPosition ( )

Obtiene la posición de la cámara.

Devuelve
Posición de la cámara.

Hace referencia a Pos.

◆ getTurnStep()

float GECamera::getTurnStep ( )

Obtiene el ángulo de giro en cada paso.

Devuelve
Ángulo de giro en grados.

Hace referencia a turnStep.

◆ getUpDirection()

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).

Devuelve
Vector arriba.
Vector arriba de la cámara.

Hace referencia a Up.

◆ getViewMatrix()

glm::mat4 GECamera::getViewMatrix ( )

Obtiene la matriz View para situar la cámara.

Devuelve
Matriz de vista.

Hace referencia a Dir, Pos y Up.

◆ moveBack()

void GECamera::moveBack ( )
private

Mueve el observador un paso hacia atrás (dirección Dir).

Hace referencia a Dir, moveStep y Pos.

◆ moveDown()

void GECamera::moveDown ( )
private

Mueve el observador un paso hacia abajo.

Hace referencia a Pos y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ moveFront()

void GECamera::moveFront ( )
private

Mueve el observador un paso hacia adelante (dirección -Dir).

Hace referencia a Dir, moveStep y Pos.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ moveLeft()

void GECamera::moveLeft ( )
private

Mueve el observador un paso hacia la izquierda.

Hace referencia a Pos y Right.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ moveRight()

void GECamera::moveRight ( )
private

Mueve el observador un paso hacia la derecha.

Hace referencia a Pos y Right.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ moveUp()

void GECamera::moveUp ( )
private

Mueve el observador un paso hacia arriba.

Hace referencia a Pos y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ setDirection()

void GECamera::setDirection ( glm::vec3 dir,
glm::vec3 up )

Asigna la orientación de la cámara.

Parámetros
dirDirección de la cámara.
upVector arriba.

Hace referencia a Dir, Right y Up.

◆ setMoveDown()

void GECamera::setMoveDown ( bool flag)

Activa o desactiva el desplazamiento hacia abajo.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a moveDownPressed.

◆ setMoveLeft()

void GECamera::setMoveLeft ( bool flag)

Activa o desactiva el desplazamiento a la izquierda.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a moveLeftPressed.

◆ setMoveRight()

void GECamera::setMoveRight ( bool flag)

Activa o desactiva el desplazamiento a la derecha.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a moveRightPressed.

◆ setMoveStep()

void GECamera::setMoveStep ( float step)

Asigna el avance en cada paso.

Parámetros
stepTamaño del paso.

Hace referencia a moveStep.

◆ setMoveUp()

void GECamera::setMoveUp ( bool flag)

Activa o desactiva el desplazamiento hacia arriba.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a moveUpPressed.

◆ setPosition()

void GECamera::setPosition ( glm::vec3 pos)

Asigna la posición de la cámara.

Parámetros
posPosición en coordenadas del modelo.

Hace referencia a Pos.

◆ setTurnCCW()

void GECamera::setTurnCCW ( bool flag)

Activa o desactiva el giro antihorario.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnCCWPressed.

◆ setTurnCW()

void GECamera::setTurnCW ( bool flag)

Activa o desactiva el giro horario.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnCWPressed.

◆ setTurnDown()

void GECamera::setTurnDown ( bool flag)

Activa o desactiva el giro hacia abajo.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnDownPressed.

◆ setTurnLeft()

void GECamera::setTurnLeft ( bool flag)

Activa o desactiva el giro a la izquierda.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnLeftPressed.

◆ setTurnRight()

void GECamera::setTurnRight ( bool flag)

Activa o desactiva el giro a la derecha.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnRightPressed.

◆ setTurnStep()

void GECamera::setTurnStep ( float step)

Asigna el ángulo de giro en cada paso.

Parámetros
stepÁngulo de giro en grados.

Hace referencia a cosAngle, sinAngle y turnStep.

◆ setTurnUp()

void GECamera::setTurnUp ( bool flag)

Activa o desactiva el giro hacia arriba.

Parámetros
flagtrue para activar, false para desactivar.

Hace referencia a turnUpPressed.

◆ turnCCW()

void GECamera::turnCCW ( )
private

Rota el observador un paso en sentido antihorario.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ turnCW()

void GECamera::turnCW ( )
private

Rota el observador un paso en sentido horario.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ turnDown()

void GECamera::turnDown ( )
private

Rota el observador un paso hacia abajo.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ turnLeft()

void GECamera::turnLeft ( )
private

Rota el observador un paso hacia su izquierda.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ turnRight()

void GECamera::turnRight ( )
private

Rota el observador un paso hacia su derecha.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ turnUp()

void GECamera::turnUp ( )
private

Rota el observador un paso hacia arriba.

Hace referencia a cosAngle, Dir, Right, sinAngle y Up.

Referenciado por update().

Gráfico de llamadas a esta función:

◆ update()

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.

Gráfico de llamadas de esta función:

Documentación de datos miembro

◆ cosAngle

float GECamera::cosAngle
private

Coseno del ángulo de giro (cache).

Referenciado por GECamera(), setTurnStep(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().

◆ Dir

glm::vec3 GECamera::Dir
private

◆ moveDownPressed

bool GECamera::moveDownPressed
private

Flag de desplazamiento hacia abajo.

Referenciado por GECamera(), setMoveDown() y update().

◆ moveLeftPressed

bool GECamera::moveLeftPressed
private

Flag de desplazamiento a la izquierda.

Referenciado por GECamera(), setMoveLeft() y update().

◆ moveRightPressed

bool GECamera::moveRightPressed
private

Flag de desplazamiento a la derecha.

Referenciado por GECamera(), setMoveRight() y update().

◆ moveStep

float GECamera::moveStep
private

Tamaño del paso para movimientos.

Referenciado por GECamera(), getMoveStep(), moveBack(), moveFront() y setMoveStep().

◆ moveUpPressed

bool GECamera::moveUpPressed
private

Flag de desplazamiento hacia arriba.

Referenciado por GECamera(), setMoveUp() y update().

◆ Pos

glm::vec3 GECamera::Pos
private

Posición de la cámara en coordenadas del mundo.

Referenciado por GECamera(), getPosition(), getViewMatrix(), moveBack(), moveDown(), moveFront(), moveLeft(), moveRight(), moveUp() y setPosition().

◆ Right

glm::vec3 GECamera::Right
private

Vector derecho (eje X) de la cámara.

Referenciado por GECamera(), moveLeft(), moveRight(), setDirection(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().

◆ sinAngle

float GECamera::sinAngle
private

Seno del ángulo de giro (cache).

Referenciado por GECamera(), setTurnStep(), turnCCW(), turnCW(), turnDown(), turnLeft(), turnRight() y turnUp().

◆ turnCCWPressed

bool GECamera::turnCCWPressed
private

Flag de giro antihorario.

Referenciado por GECamera(), setTurnCCW() y update().

◆ turnCWPressed

bool GECamera::turnCWPressed
private

Flag de giro horario.

Referenciado por GECamera(), setTurnCW() y update().

◆ turnDownPressed

bool GECamera::turnDownPressed
private

Flag de giro hacia abajo.

Referenciado por GECamera(), setTurnDown() y update().

◆ turnLeftPressed

bool GECamera::turnLeftPressed
private

Flag de giro a la izquierda.

Referenciado por GECamera(), setTurnLeft() y update().

◆ turnRightPressed

bool GECamera::turnRightPressed
private

Flag de giro a la derecha.

Referenciado por GECamera(), setTurnRight() y update().

◆ turnStep

float GECamera::turnStep
private

Ángulo de giro en grados.

Referenciado por GECamera(), getTurnStep() y setTurnStep().

◆ turnUpPressed

bool GECamera::turnUpPressed
private

Flag de giro hacia arriba.

Referenciado por GECamera(), setTurnUp() y update().

◆ Up

glm::vec3 GECamera::Up
private

La documentación de esta clase está generada de los siguientes archivos: