Página principal   Lista alfabética   Lista de componentes   Lista de archivos   Miembros de las clases   Archivos de los miembros  

VirtualRobot.h Archivo referencia

#include "malloc.h"
#include "2Dlib.h"
#include "saphira.h"
#include "process.h"
#include "pt_poly.h"
#include "mil.h"
#include "conio.h"

Ir al código fuente de este archivo.

Clases

struct  nodo
 Estructura de datos que contiene la información de uno de los puntos del contorno de un objeto de mundo. Más...

struct  poligono
 Estructura de datos que contiene la información de un objeto de mundo. Más...

struct  posicion
 Estructura de datos que contiene la información del contorno del robot virtual. Más...

struct  vision
 Estructura de datos que contiene la información para representar el cono de visión de las cámaras. Más...

struct  zona
 Estructura de datos que define la ventana de resolución. Más...


Definiciones

#define DLL_EXPORT   extern "C" __declspec(dllexport)
#define DLL_IMPORT   extern "C" __declspec(dllimport)
#define STD   __stdcall
#define PI   3.141592
#define LISTA_MAX   100
#define CHILDBUFFER_WIDTH   210
#define CHILDBUFFER_HEIGHT   210
#define MOVIMIENTO   0
#define ESTACIONARIO   1

Tipos definidos

typedef double** matriz
typedef struct nodo nodo
 Estructura de datos que contiene la información de uno de los puntos del contorno de un objeto de mundo. Más...

typedef nodonodo_ptr
typedef poligonolista

Funciones

DLL_EXPORT void STD AbrirMapaMIL (HWND WindowHandle, char *FICHERO, char *DIRECTORIO_OBJETOS, long *alto, long *ancho, double escala, double *PosX, double *PosY, double *Heading, MIL_ID sys, MIL_ID *disp, MIL_ID *mapa)
 Abre un mapa predefinido por el usuario. Más...

DLL_EXPORT void STD NuevoMapaMIL (HWND WindowHandle, long alto, long ancho, double escala, MIL_ID sys, MIL_ID *disp, MIL_ID *mapa)
 Abre un mapa en blanco. Más...

DLL_EXPORT void STD SalvarMapaMIL (char *Filename)
 Esta función salva en disco una imagen del buffer de refresco en formato BMP. Más...

DLL_EXPORT void STD RecalcularMapaMIL (double escala, double DesplazamientoH, double DesplazamientoV, double AnguloGiro, long EjeGiroX, long EjeGiroY, int modo)
 Recalcula el mapa. Más...

DLL_EXPORT void STD CerrarMapaMIL (MIL_ID disp)
 Desalocata los buffers utilizados para representar un mapa, asi como la estructura de datos del mundo. Más...

DLL_EXPORT void STD UsarZonaAltaResolucion (void)
 Habilita el uso de la ventana de Resolución y Repinta el mundo junto con la ventana. Más...

DLL_EXPORT void STD AjustarZonaAltaResolucion (long XSupIzq, long YSupIzq, long XInfDrch, long YInfDrch)
 Ajusta el tamaño de la ventana de resolución. Más...

DLL_EXPORT void STD NoUsarZonaAltaResolucion (void)
 Deshabilita el uso de la ventana de resolución y repinta el mundo pero sin la ventana. Más...

DLL_EXPORT void STD PosicionarRobotVirtual (double x, double y, double Angulo, double AnguloCamaras, long modo)
 Define la forma del robot virtual y lo posiciona por primera en el mapa. Más...

DLL_EXPORT void STD ActualizarVista (double x, double y, double Angulo,double AnguloCamaras, long modo)
 Actualiza la vista del mundo. Más...

DLL_EXPORT void STD ObtenerLecturaSonares (void)
 Actualiza la lista de las lecturas de los sonares y los pinta. Más...

DLL_EXPORT void STD VaciarBufferLecturasSonares (void)
 Vacia la listas de lecturas tanto las internas de Saphira,como las de la propia aplicación. Más...

DLL_EXPORT void STD TransfMundoDispositivo (double PosXMundo, double PosYMundo, double *PosXDisp, double *PosYDisp)
 Transforma un punto de coordenadas de Mundo a coordenadas de dispositivo teniendo en cuenta la matriz de cambio de base que ya hay calculada. Más...

DLL_EXPORT void STD TransfDispositivoMundo (double PosXDisp, double PosYDisp, double *PosXMundo, double *PosYMundo)
 Transforma un punto de coordenadas de Mundo a coordenadas de dispositivo teniendo en cuenta la matriz de cambio de base que ya hay calculada. Más...

DLL_EXPORT void STD SplineTracer (double x1, double y1, double x2, double y2)
 Traza una recta entre dos puntos dados en coordenadas de mundo. Más...

DLL_EXPORT void STD PintarPuntoTrayectoria (double x1, double y1)
 Pinta un punto rojo en un punto dado en coordenadas de mundo. Más...

matriz IniciarMatrizCambioBase (matriz *giro, matriz *trasl, matriz *simetria_x,double AlturaImagen, double DesplazamientoH, double DesplazamientoV, double AnguloGiro, long EjeGiroX, long EjeGiroY)
 Reserva espacio en memoria para todas las matrices necesarias en el calculo de transformaciones 2D del programa.Tambien calcula la matriz de cambio de base necesaria para transformar un punto de mundo en un punto de dispositivo. Más...

void IniciarMatrices (matriz *giro, matriz *trasl, matriz *MatrizRobot, matriz *matrizcamaras, Pt2D *PosicionActual, double AnguloActual, double AnguloCamaras)
 Reserva espacio en memoria para las matrices que almacenan las trasformaciones 2D necesarias para representar el robot y la información de las camaras por primera vez. Más...

void IniMatrizCamaras (matriz PosCamaras, matriz giro, matriz traslacion, double angulo)
 Calcula el valor de la matriz necesaria para pasar los puntos de coordenadas de las cámaras a coordenadas de mundo. Más...

void PintaRobot (matriz MatrizRobot)
 Pinta el robot en el mapa. Más...

void PintaCamaras (matriz MatrizCamaras)
 Pinta las cámaras y su cono de visión en el mapa. Más...

void PintaZona (zona ZonaAltaDensidad)
 Pinta la zona de alta resolución. Más...

posicion CalculaPosRobot (posicion robot, matriz matrix)
 Transforma las coordenadas de los puntos que definen el robot virtual. Más...

vision CalculaPosCamaras (vision camara, matriz matrix)
 Transforma las coordenadas de los puntos que definen las camaras. Más...

void s_actualitzar (void)
 Actualiza la lista de lecturas de sonar a representar en el mapa. Más...

bool BuscarLectura (Pt2D Valor)
 Comprueba si un punto concreto existe en la lista de lecturas de sonar. Más...

void BorrarRobot (void)
void ComprobarPosChildBuffer (void)
void LeerMundo (lista *objetos, char *Mapa, char *DirectorioObjetos, Pt2D *lugar,double *Horientacion)
 Lee la información de un fichero de mundo. Más...

void BorrarMundo (lista *objetos)
 Desalocata de memoria el mundo almacanado. Más...

lista CrearLista ()
 Reserva espacio de memoria para un objeto de mundo. Más...

void BorrarLista (lista Lista_a_Borrar)
 Libera el espacio de memoria ocupado por un objeto de mundo concreto. Más...

lista AnadirNodo (lista l, Pt2D valor)
 Añade un nodo al contorno que define un objeto de mundo. Más...

void BorrarNodo (nodo_ptr Nodo_a_Borrar)
 Libera el espacio de memoria ocupado por un nodo concreto. Más...

nodo_ptr CrearNodo ()
 Reserva espacio de memoria para un nodo. Más...

void PintarMundo (lista *objetos, int modo)
 Pinta el mapa del mundo. Más...

void PintarObjeto (lista objeto, int modo)
 Pinta un objeto en el plano. Más...

void RellenarObjeto (lista objeto, MIL_ID buffer, int color)
 Pinta el interior de un objeto de un color determinado. Más...

bool Punto_en_Buffer (Pt2D Punto)
 Comprueba si un punto esta dentro de un buffer. Más...

DLL_EXPORT void STD GrabarBuffer ()
 Función para debugar. Más...


Variables

FILE* in
FILE * map
MIL_ID BufferBackground
MIL_ID MilUnderlayBuffer
MIL_ID disp2
MIL_ID temp
MIL_ID WorkingDisplay
MIL_ID WorkingBuffer
MIL_ID RefreshDisplay
MIL_ID RefreshBuffer
MIL_ID SonaresDisplay
MIL_ID SonaresBuffer
matriz Giro
matriz Traslacion
matriz Simetria_X
matriz Base
matriz InversaBase
matriz MatrizRobot
matriz MatrizCamaras
matriz MatrizObjetos
Pt2D PosicionActual
posicion Robot
posicion Coordenadas
vision camaras
zona ZonaAltaDensidad
bool PararSonares = false
double ESCALA_PixPorMM
double AlturaImagen
long TransparentColor
 long New_PosX, New_PosY;.

long Buffer_Width
long Buffer_Height
Pt2D SonarBuffer [3 *CBUF_LEN]
int SonarBufferIndex
Pt2D ListaFIFO [LISTA_MAX]
int Indice1 = 0
int Indice2 = 0
Pt2D old_sonar_lectures [LISTA_MAX]
int IndiceBorrado1 = 0
int IndiceBorrado2 = 0
bool BorrarLecturasViejas = false
lista Mundo [30]


Documentación de las definiciones

#define CHILDBUFFER_HEIGHT   210
 

Definición en la línea 15 del archivo VirtualRobot.h.

#define CHILDBUFFER_WIDTH   210
 

Definición en la línea 14 del archivo VirtualRobot.h.

#define DLL_EXPORT   extern "C" __declspec(dllexport)
 

Definición en la línea 9 del archivo VirtualRobot.h.

#define DLL_IMPORT   extern "C" __declspec(dllimport)
 

Definición en la línea 10 del archivo VirtualRobot.h.

#define ESTACIONARIO   1
 

Definición en la línea 17 del archivo VirtualRobot.h.

#define LISTA_MAX   100
 

Definición en la línea 13 del archivo VirtualRobot.h.

#define MOVIMIENTO   0
 

Definición en la línea 16 del archivo VirtualRobot.h.

#define PI   3.141592
 

Definición en la línea 12 del archivo VirtualRobot.h.

#define STD   __stdcall
 

Definición en la línea 11 del archivo VirtualRobot.h.


Documentación de los tipos definidos

typedef poligono* lista
 

Definición en la línea 123 del archivo VirtualRobot.h.

typedef double** matriz
 

Definición en la línea 19 del archivo VirtualRobot.h.

typedef struct nodo nodo
 

Estructura de datos que contiene la información de uno de los puntos del contorno de un objeto de mundo.

Esta estructura almacena uno de los puntos del contorno de un objeto de mundo, y un apuntador al siguiente nodo del contorno. Si es el último punto del contorno del objeto, el apuntador al siguiente nodo apunta a NULL

typedef nodo* nodo_ptr
 

Definición en la línea 103 del archivo VirtualRobot.h.


Documentación de las funciones

DLL_EXPORT void STD AbrirMapaMIL ( HWND WindowHandle,
char * FICHERO,
char * DIRECTORIO_OBJETOS,
long * alto,
long * ancho,
double escala,
double * PosX,
double * PosY,
double * Heading,
MIL_ID sys,
MIL_ID * disp,
MIL_ID * mapa )
 

Abre un mapa predefinido por el usuario.

El realidad esta función abre un mapa en blanco, lee el fichero de mundo especificado, y luego pinta el mundo.

Parámetros:
WindowHandle   Handle de la ventana que contendra el mapa
FICHERO   Path completo con el nombre del fichero del mapa
DIRECTORIO_OBJETOS   Directorio donde se encuentran los ficheros de los objetos del mapa
alto   Altura de la ventana donde ira el mapa expresada en pixeles
ancho   Ancho de la ventana donde ira el mapa expresada en pixeles
Escala   Escalado que tendra la imagen. En milimetros/pixel
PosX   Devuelve la coordenada X que ocupará el robot en el mapa. Esta coordenada se lee del fichero de Mundo y debe estar expresada en milimetros
PosY   Devuelve la coordenada Y que ocupará el robot en el mapa.Esta coordenada se lee del fichero de Mundo y debe estar expresada en milimetros
Heading   Devuelve la orientacion que tendra el robot
Sys   Sistema en que se alocatarán los Buffers
Disp   Devuelve la direccion del Display alocatado donde se representará el mapa
mapa   Devuelve la direccion del Buffer alocatado donde se guardará el mapa
Ver también:
NuevoMapaMIL() , SalvarMapaMIL() , RecalcularMapaMIL() , CerrarMapaMIL() , LeerMundo()

Definición en la línea 30 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD ActualizarVista ( double x,
double y,
double Angulo,
double AnguloCamaras,
long modo )
 

Actualiza la vista del mundo.

Pinta el mapa, el robot, las camaras, la ventana de resolución y las lecturas de los sonares

Parámetros:
x   Coordenada X de la posición que ocupará el robot en el mapa
y   Coordenada Y de la posición que ocupará el robot en el mapa
Angulo   Orientación del robot en el mapa
AnguloCamaras   Orientación de la camaras respecto al robot
Ver también:
PintaRobot() , PintaCamaras() , PintaZona() , ObtenerLecturaSonares()

Definición en la línea 323 del archivo VirtualRobot.cpp.

Referenciado por PosicionarRobotVirtual().

DLL_EXPORT void STD AjustarZonaAltaResolucion ( long XSupIzq,
long YSupIzq,
long XInfDrch,
long YInfDrch )
 

Ajusta el tamaño de la ventana de resolución.

Parámetros:
XsupIzq   Coordenada X de la esquina superior izquierda de la ventana de resolución. Coordenada expresada en coordenadas de mundo
YsupIzq   Coordenada Y de la esquina superior izquierda de la ventana de resolución. Coordenada expresada en coordenadas de mundo
XInfDrch   Coordenada X de la esquina inferior derecha de la ventana de resolución. Coordenada expresada en coordenadas de mundo
YInfDrch   Coordenada Y de la esquina inferior derecha de la ventana de resolución. Coordenada expresada en coordenadas de mundo
Ver también:
NoUsarZonaAltaResolucion() , UsarZonaAltaResolucion()

Definición en la línea 227 del archivo VirtualRobot.cpp.

lista AnadirNodo ( lista l,
Pt2D valor )
 

Añade un nodo al contorno que define un objeto de mundo.

Esta función reserva espacio de memoria para un nodo, y lo añade al contorno de un objeto mundo concreto. Si el objeto de mundo no existe, se crea y se le asigna como primer punto del contorno, el nodo que se pretendía alocatar.

Parámetros:
l   Objeto de mundo a cuyo contorno se le pretende añadir un punto
valor   Punto en cooordenadas de mundo que se pretende añadir al contorno de un objeto
Devuelve:
Un objeto de mundo a cuyo contorno se le ha añadido el nodo.
Ver también:
CrearNodo() , BorrarNodo()

Definición en la línea 1082 del archivo VirtualRobot.cpp.

Referenciado por LeerMundo(), and PintarObjeto().

void BorrarLista ( lista Lista_a_Borrar )
 

Libera el espacio de memoria ocupado por un objeto de mundo concreto.

Parámetros:
Lista_a_Borrar   Objeto de mundo que se pretende desalocatar
Ver también:
CrearLista() , BorrarNodo()

Definición en la línea 1055 del archivo VirtualRobot.cpp.

Referenciado por BorrarMundo(), and PintarObjeto().

void BorrarMundo ( lista * objetos )
 

Desalocata de memoria el mundo almacanado.

Parámetros:
objetos   Apuntador al mundo que hay en memoria y que se pretende desalocatar
Ver también:
BorrarLista()

Definición en la línea 1026 del archivo VirtualRobot.cpp.

Referenciado por CerrarMapaMIL().

void BorrarNodo ( nodo_ptr Nodo_a_Borrar )
 

Libera el espacio de memoria ocupado por un nodo concreto.

Parámetros:
Nodo_a_Borrar   Nodo que se pretende desalocatar
Ver también:
CrearNodo() , AnadirNodo()

Definición en la línea 1123 del archivo VirtualRobot.cpp.

Referenciado por BorrarLista().

void BorrarRobot ( void )
 

bool BuscarLectura ( Pt2D Valor )
 

Comprueba si un punto concreto existe en la lista de lecturas de sonar.

Parámetros:
Valor   Punto en coordenadas de mundo que se pretende comprobar si existe en la lista de lecturas de sonar a representar en el mapa
Devuelve:
TRUE si existe en la lista, FALSE si no.

Definición en la línea 923 del archivo VirtualRobot.cpp.

Referenciado por s_actualitzar().

vision CalculaPosCamaras ( vision camara,
matriz matrix )
 

Transforma las coordenadas de los puntos que definen las camaras.

Transforma las coordenadas de los puntos que definen la forma de las cámaras y su cono de visión, en función de una matriz de transformación "matrix"

Parámetros:
camara   Contiene los puntos que definen la forma de las camaras y su cono de visión, en coordenadas de la base solidaria a las camaras.
matrix   Matriz que contiene las transformaciones que se le aplicarán a los punto que definen las cámaras y su cono de visión.
Devuelve:
Los puntos que definen las cámaras y su cono de visión transformados.
Ver también:
CalculaPosRobot()

Definición en la línea 831 del archivo VirtualRobot.cpp.

Referenciado por PintaCamaras().

posicion CalculaPosRobot ( posicion robot,
matriz matrix )
 

Transforma las coordenadas de los puntos que definen el robot virtual.

Transforma las coordenadas de los puntos que definen el contorno del robot virtual, en función de una matriz de transformación "matrix"

Parámetros:
robot   Contiene los puntos del contorno del robot virtual en coordenadas de la base solidaria al robot.
matrix   Matriz que contiene las transformaciones que se le aplicarán a los punto del contorno del robot virtual.
Devuelve:
Los puntos de contorno del robot virtual transformados.
Ver también:
CalculaPosCamaras()

Definición en la línea 800 del archivo VirtualRobot.cpp.

Referenciado por PintaRobot().

DLL_EXPORT void STD CerrarMapaMIL ( MIL_ID disp )
 

Desalocata los buffers utilizados para representar un mapa, asi como la estructura de datos del mundo.

Parámetros:
Disp   Display que estaba alocatado
Ver también:
AbrirMapaMIL() , NuevoMapaMIL() , SalvarMapaMIL() , RecalcularMapaMIL()

Definición en la línea 187 del archivo VirtualRobot.cpp.

void ComprobarPosChildBuffer ( void )
 

lista CrearLista ( )
 

Reserva espacio de memoria para un objeto de mundo.

Devuelve:
El apuntador al espacio de memoria reservado para el objeto
Ver también:
BorrarLista()

Definición en la línea 1043 del archivo VirtualRobot.cpp.

nodo_ptr CrearNodo ( )
 

Reserva espacio de memoria para un nodo.

Devuelve:
Un apuntador al nodo alocatado
Ver también:
BorrarNodo() , AnadirNodo()

Definición en la línea 1111 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD GrabarBuffer ( )
 

Función para debugar.

Innecesaria para el funcionamiento del programa

Definición en la línea 533 del archivo VirtualRobot.cpp.

void IniMatrizCamaras ( matriz PosCamaras,
matriz giro,
matriz traslacion,
double angulo )
 

Calcula el valor de la matriz necesaria para pasar los puntos de coordenadas de las cámaras a coordenadas de mundo.

Parámetros:
PosCamaras   Matriz que contiene las transformaciones 2D necesarias para pasar un punto de coordenadas de las camaras, a coordenadas de munfo
giro   Matriz de giro del robot
traslacion   Matriz de traslación del robot
angulo   Ángulo (PAN) de las cámaras respecto al robot
Ver también:
IniciarMatrices()

Definición en la línea 663 del archivo VirtualRobot.cpp.

Referenciado por ActualizarVista(), and IniciarMatrices().

void IniciarMatrices ( matriz * giro,
matriz * trasl,
matriz * MatrizRobot,
matriz * matrizcamaras,
Pt2D * PosicionActual,
double AnguloActual,
double AnguloCamaras )
 

Reserva espacio en memoria para las matrices que almacenan las trasformaciones 2D necesarias para representar el robot y la información de las camaras por primera vez.

Parámetros:
giro   Devuelve el apuntador a la matriz que gira el robot
trasl   Devuelve el apuntador a la matriz que traslada el robot
MatrizRobot   Devuelve el apuntador a la matriz que contiene las transformaciones 2D necesarias para posicionar el robot en el mundo
matrizcamaras   Devuelve el apuntador a la matriz que contiene las transformaciones 2D necesarias para posicionar la información de las cámaras en el mundo
PosicionActual   Punto 2D que nos indica cual es la posición actual del robot en coordenadas de mundo
AnguloActual   Ángulo actual del robot
AnguloCamaras   Ángulo actual de las cámaras respecto al robot
Ver también:
IniMatrizCamaras()

Definición en la línea 632 del archivo VirtualRobot.cpp.

Referenciado por PosicionarRobotVirtual().

matriz IniciarMatrizCambioBase ( matriz * giro,
matriz * trasl,
matriz * simetria_x,
double AlturaImagen,
double DesplazamientoH,
double DesplazamientoV,
double AnguloGiro,
long EjeGiroX,
long EjeGiroY )
 

Reserva espacio en memoria para todas las matrices necesarias en el calculo de transformaciones 2D del programa.Tambien calcula la matriz de cambio de base necesaria para transformar un punto de mundo en un punto de dispositivo.

Parámetros:
giro   Devuelve el puntero a una matriz de Giro
trasl   Devuelve el puntero a una matriz de traslación
simetria_x   Devuelve el puntero a una matriz de simetría respecto al eje X
AlturaImagen   Altura de la ventana en que se va a representar el mapa medida en píxeles
DesplazamientoH   Desplazamiento horizontal que queremos que tenga la representación del mapa
DesplazamientoV   Desplazamiento vertical que queremos que tenga la representación del mapa
AnguloGiro   Ángulo con el que queremos que se represente el mapa
EjeGiroX   Coordenada X del punto respecto al que queremos que se realice el giro del mapa
EjeGiroY   Coordenada Y del punto respecto al que queremos que se realice el giro del mapa
Devuelve:
La matriz de cambio de base

Definición en la línea 582 del archivo VirtualRobot.cpp.

Referenciado por ActualizarVista(), NuevoMapaMIL(), and RecalcularMapaMIL().

void LeerMundo ( lista * objetos,
char * Mapa,
char * DirectorioObjetos,
Pt2D * lugar,
double * Horientacion )
 

Lee la información de un fichero de mundo.

Lee la información contenida en un fichero de mundo y la almacena en memoria.

Parámetros:
objetos   Apuntador a la estructura de datos que almacenará en memoria la información de mundo contenida en el fichero.
Mapa   Path completo del fichero de mundo que se intenta leer
DirectorioObjetos   Path del directorio donde se encuentran los ficheros que definen los objetos que se encuentran en el mapa
lugar   Devuelve el punto de mundo en que se supone que estará el robot al cargar el mapa
Horientacion   Devuelve la orientación que se supone que tendrá el robot al cargar el mapa
Ver también:
AbrirMapaMIL() , BorrarMundo() , AnadirNodo()

Definición en la línea 953 del archivo VirtualRobot.cpp.

Referenciado por AbrirMapaMIL().

DLL_EXPORT void STD NoUsarZonaAltaResolucion ( void )
 

Deshabilita el uso de la ventana de resolución y repinta el mundo pero sin la ventana.

Ver también:
UsarZonaAltaResolucion() , AjustarZonaAltaResolucion()

Definición en la línea 249 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD NuevoMapaMIL ( HWND WindowHandle,
long alto,
long ancho,
double escala,
MIL_ID sys,
MIL_ID * disp,
MIL_ID * mapa )
 

Abre un mapa en blanco.

En esta función es donde se alocatan todos los buffers necesarios para el funcionamiento del programa.Tambien se calcula la matriz de cambio de base en función de los parámetros del mapa

Parámetros:
WindowHandle   Handle de la ventana que contendra el mapa
alto   Altura de la ventana donde ira el mapa
ancho   Ancho de la ventana donde ira el mapa
Escala   Escalado que tendra la imagen. En milimetros/pixel
Sys   Sistema en que se alocatarán los Buffers
Disp   Devuelve la direccion del Display alocatado donde se representará el mapa
mapa   Devuelve la direccion del Buffer alocatado donde se
Ver también:
AbrirMapaMIL() , SalvarMapaMIL() , RecalcularMapaMIL() , CerrarMapaMIL()

Definición en la línea 69 del archivo VirtualRobot.cpp.

Referenciado por AbrirMapaMIL().

DLL_EXPORT void STD ObtenerLecturaSonares ( void )
 

Actualiza la lista de las lecturas de los sonares y los pinta.

Ver también:
VaciarBufferLecturasSonares() , s_actualizar()

Definición en la línea 380 del archivo VirtualRobot.cpp.

void PintaCamaras ( matriz MatrizCamaras )
 

Pinta las cámaras y su cono de visión en el mapa.

Teniendo en cuenta la posición y orientación de las cámaras que define la matriz "MatrizCamaras" se pintan las cámaras y su cono de visión.

Parámetros:
MatrizRobot   Matriz que contiene todas las transformaciones necesarias para posicionar las camaras y el cono de visión en el mundo
Ver también:
PintaRobot() , PintaZona() , CalculaPosCamaras()

Definición en la línea 742 del archivo VirtualRobot.cpp.

Referenciado por ActualizarVista(), AjustarZonaAltaResolucion(), NoUsarZonaAltaResolucion(), RecalcularMapaMIL(), and UsarZonaAltaResolucion().

void PintaRobot ( matriz MatrizRobot )
 

Pinta el robot en el mapa.

Teniendo en cuenta la posición y orientación del robot que define la matriz "MatrizRobot", se pinta el robot en el mapa

Parámetros:
MatrizRobot   Matriz que contiene todas las transformaciones necesarias para posicionar el robot en el mundo
Ver también:
PintaCamaras() , PintaZona() , CalculaPosRobot()

Definición en la línea 706 del archivo VirtualRobot.cpp.

Referenciado por ActualizarVista(), AjustarZonaAltaResolucion(), NoUsarZonaAltaResolucion(), RecalcularMapaMIL(), and UsarZonaAltaResolucion().

void PintaZona ( zona ZonaAltaDensidad )
 

Pinta la zona de alta resolución.

Pinta la zona de alta resolución el mapa si asi lo determina la estructura "ZonaAltaDensidad"

Parámetros:
ZonaAltaDensidad   Estructura que contiene la información necesaria para pintar la zona de alta resolución
Ver también:
PintaRobot() , PintaCamaras()

Definición en la línea 768 del archivo VirtualRobot.cpp.

Referenciado por ActualizarVista(), AjustarZonaAltaResolucion(), RecalcularMapaMIL(), and UsarZonaAltaResolucion().

void PintarMundo ( lista * objetos,
int modo )
 

Pinta el mapa del mundo.

Parámetros:
objetos   Apuntador a la estructura de datos que contiene la información del mundo que se pretende pintar
modo   Manera en que se pintarán los objetos del mundo
Ver también:
PintarObjeto()

Definición en la línea 1136 del archivo VirtualRobot.cpp.

Referenciado por AbrirMapaMIL(), ActualizarVista(), and RecalcularMapaMIL().

void PintarObjeto ( lista objeto,
int modo )
 

Pinta un objeto en el plano.

Parámetros:
Objeto   Objeto a representar en el mundo
modo   Manera en que se representan los objetos en el plano. Si modo=0=MOVIMIENTO entonces el contorno de la habitación y los objetos no se rellenan; si modo=1=ESTACIONARIO los objetos y el contorno de la habitación se rellenan de un color.
Ver también:
PintarMundo() , RellenarObjeto()

Definición en la línea 1158 del archivo VirtualRobot.cpp.

Referenciado por PintarMundo().

DLL_EXPORT void STD PintarPuntoTrayectoria ( double x1,
double y1 )
 

Pinta un punto rojo en un punto dado en coordenadas de mundo.

Este punto se repesentará tanto en el buffer de visible como en el de refresco, de manera que hasta que no se recalcule el mapa aparecerá en la imagen.

Parámetros:
x1   Coordenada X del punto
y1   Coordenada Y del punto
Ver también:
SplineTracer()

Definición en la línea 516 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD PosicionarRobotVirtual ( double x,
double y,
double Angulo,
double AnguloCamaras,
long modo )
 

Define la forma del robot virtual y lo posiciona por primera en el mapa.

Parámetros:
x   Coordenada X de la posición que ocupará el robot en el mapa
y   Coordenada Y de la posición que ocupará el robot en el mapa
Angulo   Orientación del robot en el mapa
AnguloCamaras   Orientación de la camaras respecto al robot
Ver también:
ActualizarVista() , IniciarMatrices()

Definición en la línea 269 del archivo VirtualRobot.cpp.

bool Punto_en_Buffer ( Pt2D Punto )
 

Comprueba si un punto esta dentro de un buffer.

Parámetros:
Punto   Punto que se somete a estudio
Devuelve:
TRUE si el punto se encuentra dentro del buffer, FALSE si no.

Definición en la línea 1327 del archivo VirtualRobot.cpp.

Referenciado por RellenarObjeto().

DLL_EXPORT void STD RecalcularMapaMIL ( double escala,
double DesplazamientoH,
double DesplazamientoV,
double AnguloGiro,
long EjeGiroX,
long EjeGiroY,
int modo )
 

Recalcula el mapa.

Recalcula la representación del mapa en función de los parámetros de escala, desplazamiento, giro del mapa, etc...

Parámetros:
escala   Escala de representación del mapa en milímetro por píxel
DesplazamientoH   Desplazamiento en el eje x de la representación del mapa. El desplazamiento se realiza en coordenadas de mundo.
DesplazamientoV   Desplazamiento en el eje y de la representación del mapa. El desplazamiento se realiza en coordenadas de mundo.
AnguloGiro   Ángulo en que se representará el mapa
EjeGiroX   Coordenada X del punto de mundo alrededor del cual se realizará el giro del mapa.
EjeGiroY   Coordenada Y del punto de mundo alrededor del cual se realizará el giro del mapa.
modo   Manera en que se representan los objetos en el plano. Si modo=0=MOVIMIENTO entonces el contorno de la habitación y los objetos no se rellenan; si modo=1=ESTACIONARIO los objetos y el contorno de la habitación se rellenan de un color.
Ver también:
AbrirMapaMIL() , NuevoMapaMIL() , SalvarMapaMIL() , CerrarMapaMIL()

Definición en la línea 148 del archivo VirtualRobot.cpp.

void RellenarObjeto ( lista objeto,
MIL_ID buffer,
int color )
 

Pinta el interior de un objeto de un color determinado.

Esta función busca un punto interno a un objeto, y lo utiliza como punto semilla para rellenar el objeto de un color determinado.

Parámetros:
objeto   Objeto del mundo a rellenar
buffer   Buffer en el que se representa la escena (mapa)
color   Entero que representa el color con el que se rellenará el objeto
Ver también:
PintarObjeto() , Punto_en_Buffer()

Definición en la línea 1240 del archivo VirtualRobot.cpp.

Referenciado por PintarObjeto().

DLL_EXPORT void STD SalvarMapaMIL ( char * Filename )
 

Esta función salva en disco una imagen del buffer de refresco en formato BMP.

Parámetros:
FileName   Path completo con el nombre del fichero en el que se salva el buffer de refresco
Ver también:
AbrirMapaMIL() , NuevoMapaMIL() , RecalcularMapaMIL() , CerrarMapaMIL()

Definición en la línea 121 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD SplineTracer ( double x1,
double y1,
double x2,
double y2 )
 

Traza una recta entre dos puntos dados en coordenadas de mundo.

Esta recta se trazará tanto en el buffer de visible como en el de refresco, de manera que hasta que no se recalcule el mapa aparecerá en la imagen.

Parámetros:
x1   Coordenada X del primer punto
y1   Coordenada Y del primer punto
x2   Coordenada X del segundo punto
y2   Coordenada Y del segundo punto
Ver también:
PintarPuntoTrayectoria()

Definición en la línea 491 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD TransfDispositivoMundo ( double PosXDisp,
double PosYDisp,
double * PosXMundo,
double * PosYMundo )
 

Transforma un punto de coordenadas de Mundo a coordenadas de dispositivo teniendo en cuenta la matriz de cambio de base que ya hay calculada.

Parámetros:
PosXMundo   Coordenada X del punto de mundo
PosYMundo   Coordenada Y del punto de mundo
PosXDisp   Coordenada X del punto de dispositivo
PosYDisp  
Ver también:
TransfDispositivoMundo();

Definición en la línea 467 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD TransfMundoDispositivo ( double PosXMundo,
double PosYMundo,
double * PosXDisp,
double * PosYDisp )
 

Transforma un punto de coordenadas de Mundo a coordenadas de dispositivo teniendo en cuenta la matriz de cambio de base que ya hay calculada.

Parámetros:
PosXMundo   Coordenada X del punto de mundo
PosYMundo   Coordenada Y del punto de mundo
PosXDisp   Coordenada X del punto de dispositivo
PosYDisp   Coordenada Y del punto de dispositivo
Ver también:
TransfDispositivoMundo();

Definición en la línea 445 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD UsarZonaAltaResolucion ( void )
 

Habilita el uso de la ventana de Resolución y Repinta el mundo junto con la ventana.

Ver también:
AjustarZonaAltaResolucion() , NoUsarZonaAltaResolucion()

Definición en la línea 203 del archivo VirtualRobot.cpp.

DLL_EXPORT void STD VaciarBufferLecturasSonares ( void )
 

Vacia la listas de lecturas tanto las internas de Saphira,como las de la propia aplicación.

Ver también:
ObtenerLecturaSonares()

Definición en la línea 402 del archivo VirtualRobot.cpp.

void s_actualitzar ( void )
 

Actualiza la lista de lecturas de sonar a representar en el mapa.

Recopila la información de las lecturas de los sonares contenida en los 3 buffers de Saphira, cambia sus coordenadas para que esten en coordenadas de la base solidaria al robot, y las almacena en la lista de lecturas de sonar a representar en el mapa.

Ver también:
BuscarLectura()

Definición en la línea 852 del archivo VirtualRobot.cpp.


Documentación de las variables

double AlturaImagen
 

Definición en la línea 142 del archivo VirtualRobot.h.

matriz Base
 

Definición en la línea 134 del archivo VirtualRobot.h.

bool BorrarLecturasViejas = false
 

Definición en la línea 156 del archivo VirtualRobot.h.

MIL_ID BufferBackground
 

Definición en la línea 129 del archivo VirtualRobot.h.

long Buffer_Height
 

Definición en la línea 145 del archivo VirtualRobot.h.

long Buffer_Width
 

Definición en la línea 145 del archivo VirtualRobot.h.

posicion Coordenadas
 

Definición en la línea 138 del archivo VirtualRobot.h.

double ESCALA_PixPorMM
 

Definición en la línea 142 del archivo VirtualRobot.h.

matriz Giro
 

Definición en la línea 134 del archivo VirtualRobot.h.

int Indice1 = 0
 

Definición en la línea 152 del archivo VirtualRobot.h.

int Indice2 = 0
 

Definición en la línea 152 del archivo VirtualRobot.h.

int IndiceBorrado1 = 0
 

Definición en la línea 155 del archivo VirtualRobot.h.

int IndiceBorrado2 = 0
 

Definición en la línea 155 del archivo VirtualRobot.h.

matriz InversaBase
 

Definición en la línea 134 del archivo VirtualRobot.h.

Pt2D ListaFIFO[LISTA_MAX]
 

Definición en la línea 151 del archivo VirtualRobot.h.

matriz MatrizCamaras
 

Definición en la línea 135 del archivo VirtualRobot.h.

matriz MatrizObjetos
 

Definición en la línea 136 del archivo VirtualRobot.h.

matriz MatrizRobot
 

Definición en la línea 135 del archivo VirtualRobot.h.

MIL_ID MilUnderlayBuffer
 

Definición en la línea 129 del archivo VirtualRobot.h.

lista Mundo[30]
 

Definición en la línea 159 del archivo VirtualRobot.h.

bool PararSonares = false
 

Definición en la línea 141 del archivo VirtualRobot.h.

Pt2D PosicionActual
 

Definición en la línea 137 del archivo VirtualRobot.h.

MIL_ID RefreshBuffer
 

Definición en la línea 132 del archivo VirtualRobot.h.

MIL_ID RefreshDisplay
 

Definición en la línea 132 del archivo VirtualRobot.h.

posicion Robot
 

Definición en la línea 138 del archivo VirtualRobot.h.

matriz Simetria_X
 

Definición en la línea 134 del archivo VirtualRobot.h.

Pt2D SonarBuffer[3*CBUF_LEN]
 

Definición en la línea 148 del archivo VirtualRobot.h.

int SonarBufferIndex
 

Definición en la línea 149 del archivo VirtualRobot.h.

MIL_ID SonaresBuffer
 

Definición en la línea 133 del archivo VirtualRobot.h.

MIL_ID SonaresDisplay
 

Definición en la línea 133 del archivo VirtualRobot.h.

long TransparentColor
 

long New_PosX, New_PosY;.

Definición en la línea 144 del archivo VirtualRobot.h.

matriz Traslacion
 

Definición en la línea 134 del archivo VirtualRobot.h.

MIL_ID WorkingBuffer
 

Definición en la línea 131 del archivo VirtualRobot.h.

MIL_ID WorkingDisplay
 

Definición en la línea 131 del archivo VirtualRobot.h.

zona ZonaAltaDensidad
 

Definición en la línea 140 del archivo VirtualRobot.h.

vision camaras
 

Definición en la línea 139 del archivo VirtualRobot.h.

MIL_ID disp2
 

Definición en la línea 130 del archivo VirtualRobot.h.

FILE* in
 

Definición en la línea 21 del archivo VirtualRobot.h.

FILE * map
 

Definición en la línea 21 del archivo VirtualRobot.h.

Pt2D old_sonar_lectures[LISTA_MAX]
 

Definición en la línea 154 del archivo VirtualRobot.h.

MIL_ID temp
 

Definición en la línea 130 del archivo VirtualRobot.h.


Generado el Tue Apr 24 06:55:50 2001 para Dllcontrol por doxygen1.2.6 escrito por Dimitri van Heesch, © 1997-2001