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 GESkeleton

Representa un esqueleto completo con articulaciones jerárquicas. Más...

#include <GESkeleton.h>

Métodos públicos

 GESkeleton ()
 Constructor del esqueleto.
 ~GESkeleton ()
 Destructor del esqueleto.
void initialize (GEGraphicsContext *gc, GERenderingContext *rc)
 Inicializa los recursos gráficos del esqueleto.
void destroy (GEGraphicsContext *gc)
 Destruye los recursos asociados al esqueleto.
void update (GEGraphicsContext *gc, uint32_t index, glm::mat4 view, glm::mat4 projection)
 Actualiza el esqueleto (transformaciones y memoria intermedia).
void addCommands (VkCommandBuffer commandBuffer, VkPipelineLayout pipelineLayout, int index)
 Añade comandos de dibujo del esqueleto al command buffer.
void setLight (GELight light)
 Asigna la luz para el esqueleto.
GEBalljointfindJoint (const std::string &jointName)
 Busca una articulación por nombre.
GEBalljointgetRoot () const
 Obtiene la primera articulación raíz (pelvis).
const std::vector< GEBalljoint * > & getRootJoints () const
 Obtiene todas las articulaciones raíz.
void setPosition (glm::vec3 pos)
 Establece la posición global del esqueleto.
glm::vec3 getPosition () const
 Obtiene la posición global del esqueleto.
void setOrientation (glm::vec3 z, glm::vec3 y)
 Ajusta la orientación local del esqueleto (ejes Z y Y).

Métodos privados

void buildSkeleton ()
 Construye la jerarquía de articulaciones desde body.skel.
GEBalljointcreateJointFromData (const GEJointData &data)
 Crea recursivamente las articulaciones desde los datos parseados.

Atributos privados

std::string name
 Nombre del esqueleto.
glm::vec3 position
 Posición global del esqueleto.
glm::vec3 zAxis
 Eje Z local.
glm::vec3 yAxis
 Eje Y local.
std::vector< GEBalljoint * > rootJoints
 Articulaciones raíz del esqueleto.

Descripción detallada

Representa un esqueleto completo con articulaciones jerárquicas.

Documentación de constructores y destructores

◆ GESkeleton()

GESkeleton::GESkeleton ( )

Constructor del esqueleto.

Hace referencia a buildSkeleton(), name, position, yAxis y zAxis.

Gráfico de llamadas de esta función:

◆ ~GESkeleton()

GESkeleton::~GESkeleton ( )

Destructor del esqueleto.

Destructor.

Documentación de funciones miembro

◆ addCommands()

void GESkeleton::addCommands ( VkCommandBuffer commandBuffer,
VkPipelineLayout pipelineLayout,
int index )

Añade comandos de dibujo del esqueleto al command buffer.

Añade comandos de dibujo.

Parámetros
commandBufferBuffer de comandos Vulkan.
pipelineLayoutLayout del pipeline.
indexÍndice de imagen.
commandBufferBuffer de comandos Vulkan.
pipelineLayoutLayout del pipeline.
indexÍndice de la imagen.

Hace referencia a rootJoints.

◆ buildSkeleton()

void GESkeleton::buildSkeleton ( )
private

Construye la jerarquía de articulaciones desde body.skel.

Construye el árbol de articulaciones desde body.skel.

Hace referencia a createJointFromData(), name, GESkeletonData::name, GESkeletonData::offset, GEXMLParser::parseSkeletonFile(), position, rootJoints, GESkeletonData::rootJoints, yAxis, GESkeletonData::yAxis, zAxis y GESkeletonData::zAxis.

Referenciado por GESkeleton().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ createJointFromData()

GEBalljoint * GESkeleton::createJointFromData ( const GEJointData & data)
private

Crea recursivamente las articulaciones desde los datos parseados.

Parámetros
dataDatos de la articulación.
Devuelve
Puntero a la articulación creada.

Hace referencia a GEBalljoint::addChild(), GEJointData::children, createJointFromData(), GEJointData::hasLimits, GEJointData::length, GEJointData::limitsMax, GEJointData::limitsMin, GEJointData::name, GEJointData::offset, GEBalljoint::setLimits(), GEJointData::yAxis y GEJointData::zAxis.

Referenciado por buildSkeleton() y createJointFromData().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ destroy()

void GESkeleton::destroy ( GEGraphicsContext * gc)

Destruye los recursos asociados al esqueleto.

Destruye el esqueleto.

Parámetros
gcContexto gráfico.

Hace referencia a rootJoints.

◆ findJoint()

GEBalljoint * GESkeleton::findJoint ( const std::string & jointName)

Busca una articulación por nombre.

Parámetros
jointNameNombre de la articulación.
Devuelve
Puntero a la articulación o nullptr si no existe.
Parámetros
jointNameNombre de la articulación a buscar.
Devuelve
Puntero a la articulación o nullptr si no se encuentra.

Hace referencia a GEBalljoint::findChild() y rootJoints.

Referenciado por GEAnimation::applyToSkeleton().

Gráfico de llamadas de esta función:
Gráfico de llamadas a esta función:

◆ getPosition()

glm::vec3 GESkeleton::getPosition ( ) const

Obtiene la posición global del esqueleto.

Obtiene la posición del esqueleto.

Devuelve
Posición.
Posición actual.

Hace referencia a position.

◆ getRoot()

GEBalljoint * GESkeleton::getRoot ( ) const

Obtiene la primera articulación raíz (pelvis).

Devuelve
Puntero a la articulación raíz.

Hace referencia a rootJoints.

◆ getRootJoints()

const std::vector< GEBalljoint * > & GESkeleton::getRootJoints ( ) const

Obtiene todas las articulaciones raíz.

Devuelve
Vector de punteros a las articulaciones raíz.

Hace referencia a rootJoints.

◆ initialize()

void GESkeleton::initialize ( GEGraphicsContext * gc,
GERenderingContext * rc )

Inicializa los recursos gráficos del esqueleto.

Inicializa el esqueleto.

Parámetros
gcContexto gráfico.
rcContexto de renderizado.

Hace referencia a rootJoints.

◆ setLight()

void GESkeleton::setLight ( GELight light)

Asigna la luz para el esqueleto.

Asigna la luz al esqueleto.

Parámetros
lightEstructura con los parámetros de la luz.
lightParámetros de la luz.

Hace referencia a rootJoints.

◆ setOrientation()

void GESkeleton::setOrientation ( glm::vec3 z,
glm::vec3 y )

Ajusta la orientación local del esqueleto (ejes Z y Y).

Asigna la orientación del esqueleto.

Parámetros
zVector que define el eje Z local.
yVector que define el eje Y local.
zVector del eje Z local.
yVector del eje Y local.

Hace referencia a yAxis y zAxis.

◆ setPosition()

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

Establece la posición global del esqueleto.

Asigna la posición del esqueleto.

Parámetros
posPosición.
posNueva posición.

Hace referencia a position.

Referenciado por GEAnimation::applyToSkeleton().

Gráfico de llamadas a esta función:

◆ update()

void GESkeleton::update ( GEGraphicsContext * gc,
uint32_t index,
glm::mat4 view,
glm::mat4 projection )

Actualiza el esqueleto (transformaciones y memoria intermedia).

Actualiza el esqueleto.

Parámetros
gcContexto gráfico.
indexÍndice de la imagen a renderizar.
viewMatriz de vista.
projectionMatriz de proyección.

Hace referencia a position y rootJoints.

Documentación de datos miembro

◆ name

std::string GESkeleton::name
private

Nombre del esqueleto.

Referenciado por buildSkeleton() y GESkeleton().

◆ position

glm::vec3 GESkeleton::position
private

Posición global del esqueleto.

Referenciado por buildSkeleton(), GESkeleton(), getPosition(), setPosition() y update().

◆ rootJoints

std::vector<GEBalljoint*> GESkeleton::rootJoints
private

Articulaciones raíz del esqueleto.

Referenciado por addCommands(), buildSkeleton(), destroy(), findJoint(), getRoot(), getRootJoints(), initialize(), setLight() y update().

◆ yAxis

glm::vec3 GESkeleton::yAxis
private

Eje Y local.

Referenciado por buildSkeleton(), GESkeleton() y setOrientation().

◆ zAxis

glm::vec3 GESkeleton::zAxis
private

Eje Z local.

Referenciado por buildSkeleton(), GESkeleton() y setOrientation().


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