Rectángulos 2D
Funciones
R2D | r2d (...) |
V2D | r2d_center (...) |
bool_t | r2d_collide (...) |
bool_t | r2d_contains (...) |
bool_t | r2d_clip (...) |
void | r2d_join (...) |
Tipos y Constantes
R2D | kZERO |
Un rectángulo (o frame) (R2Df
, R2Dd
) (Figura 1) sirve para ubicar elementos en interfaces de usuario u otros sistemas 2D mediante un punto de origen V2Df
y un tamaño S2Df
. También pueden utilizarse en operaciones de recorte (clipping), a la hora de optimizar tareas de dibujo.
- Utiliza r2d_collidef para determinar si dos rectángulos colisionan.
- Utiliza r2d_clipf para determinar si un rectángulo es visible dentro de un área.
- Utiliza r2d_joinf para unir dos rectángulos.
kZERO
const R2Df kR2D_ZEROf; const R2Dd kR2D_ZEROd; const R2D R2D::kZERO;
Valor [0,0,0,0]
.
r2d ()
Crea un rectángulo a partir de sus componentes.
R2Df r2df(const real32_t x, const real32_t y, const real32_t width, const real32_t height); R2Dd r2dd(const real64_t x, const real64_t y, const real64_t width, const real64_t height); R2D R2D(const real x, const real y, const real width, const real height);
x | Coordenada x del origen. |
y | Coordenada y del origen. |
width | Ancho. |
height | Alto. |
Retorna
El rectángulo.
r2d_center ()
Obtiene el punto central del rectángulo.
V2Df r2d_centerf(const R2Df *r2d); V2Dd r2d_centerd(const R2Dd *r2d); V2D R2D::center(const R2D *r2d);
r2d | Rectángulo. |
Retorna
El centro.
r2d_collide ()
Comprueba si dos rectángulos colisionan.
bool_t r2d_collidef(const R2Df *r2d1, const R2Df *r2d2); bool_t r2d_collided(const R2Dd *r2d1, const R2Dd *r2d2); bool_t R2D::collide(const R2D *r2d1, const R2D *r2d2);
r2d1 | Rectángulo 1. |
r2d2 | Rectángulo 2. |
Retorna
TRUE
si hay colisión, FALSE
si están separados.
r2d_contains ()
Comprueba si un punto está dentro del rectángulo.
bool_t r2d_containsf(const R2Df *r2d, const real32_t x, const real32_t y); bool_t r2d_containsd(const R2Dd *r2d, const real64_t x, const real64_t y); bool_t R2D::contains(const R2D *r2d, const real x, const real y);
r2d | Rectángulo. |
x | Coordenada x del punto. |
y | Coordenada y del punto. |
Retorna
TRUE
si el punto está dentro.
r2d_clip ()
Comprueba si un rectángulo está totalmente fuera de un viewport.
bool_t r2d_clipf(const R2Df *viewport, const R2Df *r2d); bool_t r2d_clipd(const R2Dd *viewport, const R2Dd *r2d); bool_t R2D::clip(const R2D *viewport, const R2D *r2d);
viewport | Rectángulo contenedor. |
r2d | Rectángulo a comprobar. |
Retorna
TRUE
si el rectángulo r2d
se puede recortar.
Observaciones
Útil para evitar procesar o dibujar objetos que estén totalmente fuera del área de visión.
r2d_join ()
Une dos rectángulos en uno.
void r2d_joinf(R2Df *r2d, const R2Df *src); void r2d_joind(R2Dd *r2d, const R2Dd *src); void R2D::join(R2D *r2d, const R2D *src);
r2d | Rectángulo destino. Su posición y tamaño será modificado para contener a |
src | Rectángulo que será añadido a |