#include <control_3d.h>
Diagrama de herencias de GIZMO_3D_TRANSLACION_3DSMAX
Métodos públicos | |
GIZMO_3D_TRANSLACION_3DSMAX (CONTROL_3D_VECTOR *in_Padre) | |
~GIZMO_3D_TRANSLACION_3DSMAX () | |
void | pintar_gl (CALIDAD_VISUAL *Calidad, MATERIAL *Material, CAMARA *Camara) |
Pinta las 7 zonas sensibles / interactivas de la técnica de interacción 3D para translaciones AQUYNZA, en un estilo 3DSMax. | |
BOOLEAN | procesar_mouse (EVENTO_GUI *e) |
Implementa la captura de eventos de mouse sobre las 7 zonas sensibles / interactivas de la técnica de interacción 3D para translaciones AQUYNZA, en un estilo 3DSMax. | |
Atributos privados | |
int | _zona_seleccionada_temporal |
Es 0 si ninguna zona es seleccionada, o un número de 1 a 7 (inclusive) si se ha seleccionado alguna zona. | |
int | _zona_seleccionada_permanente |
Es 0 si ninguna zona es seleccionada, o un número de 1 a 7 (inclusive) si se ha seleccionado alguna zona. |
Notese que solo esa clase puede usar esta, como parte de un patrón de diseńo de tipo bridge.
La clase está inspirada en el comportamiento de las herramientas interactivas 3D de sistemas como 3DStudio Max y Maya.
El "gizmo" o representación visual 3D interactiva de translación consta de 7 zonas interactivas "simples": 1. Una flecha que representa al vector unitario 2. Una flecha que representa al vector unitario
3. Una flecha que representa al vector unitario
4. Un cuadrante, limitado por dos cilindros, que representa una zona de control asociada al plano XY 5. Un cuadrante, limitado por dos cilindros, que representa una zona de control asociada al plano XZ 6. Un cuadrante, limitado por dos cilindros, que representa una zona de control asociada al plano YZ 7. Un cubo, asociado a los tres ejes XYZ, para realizar translaciones relativas al plano de la superficie de proyección de la cámara
Definición en la línea 102 del archivo control_3d.h.
|
Definición en la línea 42 del archivo control_3d_vector.C. References _zona_seleccionada_temporal. |
|
Definición en la línea 48 del archivo control_3d_vector.C. |
|
Pinta las 7 zonas sensibles / interactivas de la técnica de interacción 3D para translaciones AQUYNZA, en un estilo 3DSMax.
Implements GIZMO_3D_IMPLEMENTADOR. Definición en la línea 55 del archivo control_3d_vector.C. References CONTROL_3D_VECTOR::_Eje, GIZMO_3D_IMPLEMENTADOR::_Padre, _zona_seleccionada_temporal, FLECHA::pintar_gl(), y MATERIAL::set_difusa(). |
Here is the call graph for this function:
|
Implementa la captura de eventos de mouse sobre las 7 zonas sensibles / interactivas de la técnica de interacción 3D para translaciones AQUYNZA, en un estilo 3DSMax. El método implementa el siguiente macroalgoritmo:
Implements GIZMO_3D_IMPLEMENTADOR. Definición en la línea 117 del archivo control_3d_vector.C. References CONTROL_3D_VECTOR::_boton1_mouse_abajo, CONTROL_3D_VECTOR::_Eje_gravedad, GIZMO_3D_IMPLEMENTADOR::_Padre, CONTROL_3D_VECTOR::_Ultima_camara, CONTROL_3D_VECTOR::_valor, _zona_seleccionada_temporal, RAYO::direccion, ETYPE_BUTTON_DOWN, ETYPE_BUTTON_UP, CAMARA::generar_rayo(), FLECHA::interseccion(), MATRIZ_4x4::inversa(), EVENTO_GUI::mouse_button_mask, EVENTO_GUI::mouse_delta_x, EVENTO_GUI::mouse_delta_y, EVENTO_GUI::mouse_x, EVENTO_GUI::mouse_y, RAYO::origen, CAMARA::preprocesar_vista(), MATRIZ_4x4::rotacion_angulos_euler(), CONTROL_3D_VECTOR::set_valor(), EVENTO_GUI::tipo_de_evento, VECTOR::x, VECTOR::y, y VECTOR::z. |
Here is the call graph for this function:
|
Es 0 si ninguna zona es seleccionada, o un número de 1 a 7 (inclusive) si se ha seleccionado alguna zona. La selección es "permanente" si el usuario pasa el mouse sobre la zona y hace click. Definición en la línea 114 del archivo control_3d.h. |
|
Es 0 si ninguna zona es seleccionada, o un número de 1 a 7 (inclusive) si se ha seleccionado alguna zona. La selección es "temporal" si el usuario pasa el mouse sobre la zona, pero aún no hace click. Definición en la línea 108 del archivo control_3d.h. Referenciado por GIZMO_3D_TRANSLACION_3DSMAX(), pintar_gl(), y procesar_mouse(). |