SDK Multiplataforma en C logo

SDK Multiplataforma en C

Rectángulos 2D

❮ Anterior
Siguiente ❯

Funciones

R2Dr2d (...)
V2Dr2d_center (...)
bool_tr2d_collide (...)
bool_tr2d_contains (...)
bool_tr2d_clip (...)
voidr2d_join (...)

Tipos y Constantes

R2DkZERO

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.
  • Dibujo de un plano se ubican varios elementos rectangulares, a modo de interfaz de usuario.
    Figura 1: Posicionamiento de elementos GUI mediante rectángulos.
❮ Anterior
Siguiente ❯

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.

src

Rectángulo que será añadido a r2d.

❮ Anterior
Siguiente ❯