Class: cCamara

 cObjeto ----+
                                  |
                               cCamara

Description:
Implementa una cámara que se encarga de representar los objetos en 2D.

Unit:
Camara (Camara.pas)

Constructors:

constructor create( cameraman: cObjetoVolador; angulo: tAngulo = PI/4; maximo: tLongitud = 5000; distPantalla: tLongitud = 0 ); overload;
Constructor

Methods:

function mGetCameraman: cObjetoVolador;
Devuelve el objeto portador de la cámara
function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;
Método heredado que devuelve un string con el estado del Objeto. Se utiliza para depurar y la información entregada depende del parámetro tDebugInfo.
function mGetDistPantalla: tLongitud;
Devuelve distancia a la pantalla
function mGetRadioMaximo: tLongitud;
Devuelve el radio máximo de detección
function mGetRadioMinimo: tLongitud;
Devuelve el radio mínimo de detección
function mGetRadioPantalla: tLongitud;
Obtiene el radio de la pantalla
function mProcesar( l: TList ): cLista;
Procesa una lista de objetos, devolviendo solo los visibles en una lista de records tProyectado ordenada ascendentemente por el tamaño proporcional (es decir, el objeto de tamaño menor está primero en la lista).
procedure mProyectar(ov: cObjetoVolador; var x, y, tam: tLongitud); virtual; abstract;
Obtiene la proyección del objeto volador en X, Y
procedure mSetCameraman( oOV: cObjetoVOlador );
Permite asignar un nuevo portador de la cámara

constructor create( cameraman: cObjetoVolador; angulo: tAngulo = PI/4; maximo: tLongitud = 5000; distPantalla: tLongitud = 0 ); overload;

Contructor
Parameters
   cameraman : Objeto Volador en el que estará montada la cámara (obligatorio)
   angulo : Angulo de apertura (visión) de la cámara (default = pi/4)
   maximo : Distancia máxima en la que se considera visible a un objeto (default = 5000)
   distPantalla : Distancia hasta la pantalla de proyección (default = 0). Si tiene el valor por default o cualquier valor menor o igual a cero, se usa el tamaño del objeto volador


function mGetCameraman: cObjetoVolador;

Returns
   Objeto portador de la cámara


function mGetDebugInfo( debugLevel: tDebugInfo = DI_MINI ): string; override;

Devuelve el estado del objeto basandose en la cantidad de datos requeridos:
Siempre devuelve los valores de las componentes x, y, z y si debugLevel es mayor que DI_NORMAL, también muestra el módulo. @return Cadena de texto con el estado del Objeto.
Parameters
   debugLevel : Cantidad de información requerida


function mGetDistPantalla: tLongitud;

Returns
   Distancia a la pantalla


function mGetRadioMaximo: tLongitud;

Returns
   Radio mínimo de detección


function mGetRadioMinimo: tLongitud;

Returns
   Radio máximo de detección


function mGetRadioPantalla: tLongitud;

Returns
   Radio de la pantalla


function mProcesar( l: TList ): cLista;

Procesa una lista de objetos, devolviendo solo los visibles en una lista de records tProyectado ordenada ascendentemente por el tamaño proporcional (es decir, el objeto de tamaño menor está primero en la lista). @return Lista con los objetos visibles y sus posiciones y tamaños, en un registro del tipo tProyectado, ordenados de forma ascendente según el tamaño.
Parameters
   l : Lista con los objetos a procesar


procedure mProyectar(ov: cObjetoVolador; var x, y, tam: tLongitud); virtual; abstract;

Obtiene la proyección del objeto volador en X, Y


procedure mSetCameraman( oOV: cObjetoVOlador );

Permite asignar un nuevo portador de la cámara
Parameters
   oOV : Objeto volador que será en nuevo portador de la cámara