#include <entidad.h>
Diagrama de herencias de ENTIDAD
Métodos públicos | |
ENTIDAD () | |
La interface ENTIDAD está diseñada para implementar introspección en las clases del modelo básico de AQUYNZA. | |
char * | nombre (void) |
Para hacer posible la introspección todo objeto debe tener un nombre. | |
void | set_nombre (const char *n) |
Para hacer posible la introspección todo objeto debe tener un nombre. | |
virtual BOOLEAN | consultar_variable (const char *nombre_variable, int &tipo, void **ref) |
Éste método, junto con `actualizar_variable` es el núcleo del esquema de introspección AQUYNZA. | |
virtual BOOLEAN | actualizar_variable (const char *nombre_variable, int tipo, void *ref) |
Éste metodo, junto con `consultar_variable` es el núcleo del esquema de introspección AQUYNZA. | |
void | propagar_cambios (void) |
Una `ENTIDAD` es un objeto con introspección, que permite ser cambiado mediante la interface consultar_variable/actualizar_variable. | |
void | registrar_controlador (CONTROLADOR_DE_ENTIDAD *Controlador) |
Toda `ENTIDAD` capaz de introspección puede ser manipulada por un `CONTROLADOR_DE_ENTIDAD`. | |
Atributos privados | |
char | _nombre [MAX_CAD] |
ARREGLO< CONTROLADOR_DE_ENTIDAD * > | arr_referencias |
|
La interface ENTIDAD está diseñada para implementar introspección en las clases del modelo básico de AQUYNZA. Herede sus clases de ENTIDAD si desea que sean objetos visibles externamente, por ejemplo, que sean exportables en IDL's CORBA. Nótese que el esquema de sistemas de control AQUYNZA, y el esquema de computación distribuida AQUYNZA estan basados en el concepto de introspección. Definición en la línea 31 del archivo entidad.C. References _nombre. |
|
Éste metodo, junto con `consultar_variable` es el núcleo del esquema de introspección AQUYNZA. La introspección permite consultar y/o actualizar cualquier variable de cualquier tipo mediante una interfaz unificada. Éste metodo rétorna TRUE si la operación de acutalización en introspección fue válida o FALSE si no (ya sea porque el tipo de datos era incorrecto o el nombre de variable suministrado no existe dentro de la clase). Este método deberá ser sobrecargado por las clases que se deseen entren al esquema de introspección AQUYNZA (las cuales además deben heredar de ésta clase). El comportamiento por defecto es tener la introspección desactivada (siempre retornar FALSE). Reimplementado en COSA, COSA_RIGIDA, y DISPOSITIVO_DE_PRUEBA. Definición en la línea 88 del archivo entidad.C. Referenciado por VARIABLE_DE_ESTADO::actualizar_float(), VARIABLE_DE_ESTADO::actualizar_vector(), CONTROL_GUI_FLOAT::set_valor(), y CONTROL_3D_VECTOR::set_valor(). |
|
Éste método, junto con `actualizar_variable` es el núcleo del esquema de introspección AQUYNZA. La introspección permite consultar y/o actualizar cualquier variable de cualquier tipo mediante una interfaz unificada. Éste método retorna TRUE si la operación de consulta en introspección fue válida o FALSE si no (ya sea porque el tipo de datos era incorrecto o el nombre de variable suministrado no existe dentro de la clase). Éste método deberá ser sobrecargado por las clases que se deseen entren al esquema de introspección AQUYNZA (y las cuales heredarán de ésta clase). El comportamiento por defecto es tener la introspección desactivada (siempre retornar FALSE). Reimplementado en COSA, MASA_PUNTUAL, COSA_RIGIDA, CURVA_PARAMETRICA, CAMARA, DISPOSITIVO_DE_PRUEBA, DISPOSITIVO, DATAGLOVE, JOYSTICK, LEGO9751, TRACKER_VIO, y EXPRESION_REGULAR. Definición en la línea 67 del archivo entidad.C. Referenciado por LUZ::activar_gl(), LUZ::activar_povray(), CONTROL_GUI_FLOAT::actualizar(), CONTROL_3D_VECTOR::actualizar(), CAMARA::calcular_matriz_de_proyeccion(), VARIABLE_DE_ESTADO::evaluar_float(), VARIABLE_DE_ESTADO::evaluar_vector(), CAMARA::minmax_visible(), CAMARA::pintar_gl(), y CAMARA::preprocesar_vista(). |
|
Para hacer posible la introspección todo objeto debe tener un nombre. Éste método permite consultar el nombre de un objeto. Definición en la línea 47 del archivo entidad.C. References _nombre. Referenciado por CAMARA::billboard_gl(), VARIABLE_DE_ESTADO::evaluar_float(), VARIABLE_DE_ESTADO::evaluar_vector(), COSA_RIGIDA::grabar(), CAMARA::imprimir(), RESORTE::insertar_extremo(), ARTICULACION::insertar_extremo(), RESORTE::leer(), ARTICULACION::leer(), ESPACIO_ABIERTO::leer_espacio(), COSA::leer_material(), y COSA_RIGIDA::resolver(). |
|
Una `ENTIDAD` es un objeto con introspección, que permite ser cambiado mediante la interface consultar_variable/actualizar_variable. Como una facilidad para modelos MVC (Modelo Vista Controlador), la ENTIDAD puede llevar un recuento de los controladores asociados en `arr_referencias`, y la operación `propagar_cambios` avisa a todos los controladores asociados a la `ENTIDAD` que las variable de estado fueron cambiadas. Definición en la línea 127 del archivo entidad.C. References arr_referencias, y ARREGLO< CONTROLADOR_DE_ENTIDAD * >::tam(). Referenciado por VARIABLE_DE_ESTADO::actualizar_float(), VARIABLE_DE_ESTADO::actualizar_vector(), CONTROL_GUI_FLOAT::set_valor(), y CONTROL_3D_VECTOR::set_valor(). |
Here is the call graph for this function:
|
Toda `ENTIDAD` capaz de introspección puede ser manipulada por un `CONTROLADOR_DE_ENTIDAD`. Éste método añade un `CONTROLADOR_DE_ENTIDAD` al conjunto de controladores de esta `ENTIDAD`, haciendo posible que cualquier cambio de estado dentro del objeto se propague a todos sus controladores, manteniedolos siempre actualizados. Nótese que todo `CONTROLADOR_DE_ENTIDAD` debe registrarse ante la las `ENTIDAD`es que controle. Observe el comportamiento del método `ENTIDAD::propagar_cambios`. Definición en la línea 110 del archivo entidad.C. References ARREGLO< CONTROLADOR_DE_ENTIDAD * >::anx(), y arr_referencias. Referenciado por CONTROL_3D_VECTOR::crear(). |
Here is the call graph for this function:
|
Para hacer posible la introspección todo objeto debe tener un nombre. Este método permite actualizar el nombre de un objeto. Definición en la línea 57 del archivo entidad.C. References _nombre. Referenciado por TELA::leer(), RESORTE::leer(), MASA_PUNTUAL::leer(), LUZ::leer(), CURVA_PARAMETRICA::leer(), COSA_RIGIDA::leer(), CAMARA::leer(), ARTICULACION::leer(), y ESPACIO_ABIERTO::leer_espacio(). |
|
Definición en la línea 33 del archivo entidad.h. Referenciado por ENTIDAD(), nombre(), y set_nombre(). |
|
Definición en la línea 34 del archivo entidad.h. Referenciado por propagar_cambios(), y registrar_controlador(). |