Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
M_RECTANGLE(3)		     Library Functions Manual		  M_RECTANGLE(3)

NAME
     M_Rectangle -- Agar-Math rectangle structure

SYNOPSIS
     #include <agar/core.h>
     #include <agar/gui.h>
     #include <agar/math/m.h>

DESCRIPTION
     The  M_Rectangle2	structure  describes a rectangle in R^2 in terms of four
     points:

     typedef struct m_rectangle2 {
	     M_Vector2 a, b, c, d;
     } M_Rectangle2;

     Similarly, M_Rectangle3 describes a rectangle in R^3:

     typedef struct m_rectangle3 {
	     M_Vector3 a, b, c, d;
     } M_Rectangle3;

INITIALIZATION
     M_Rectangle2 M_RectangleFromLines2(M_Line2 L1, M_Line2 L2)

     M_Rectangle3 M_RectangleFromLines3(M_Line2 L1, M_Line2 L2, M_Line2 L3)

     M_Rectangle2 M_RectangleFromPts2(M_Vector2 a, M_Vector2 b)

     M_Rectangle3 M_RectangleFromPts3(M_Vector3 a, M_Vector3 b, M_Vector3 c)

     M_Rectangle2 M_RectangleRead2(AG_DataSource *ds)

     M_Rectangle3 M_RectangleRead3(AG_DataSource *ds)

     void M_RectangleWrite2(AG_DataSource *ds, M_Rectangle2 *R)

     void M_RectangleWrite3(AG_DataSource *ds, M_Rectangle3 *R)

     M_Rectangle2 M_RECTANGLE2_INITIALIZER(M_Vector2 a, M_Vector2  b,  M_Vector2
     c)

     M_Rectangle3  M_RECTANGLE3_INITIALIZER(M_Vector3  a, M_Vector3 b, M_Vector3
     c)

     The functions M_RectangleFromLines2() and M_RectangleFromLines3() return an
     M_Rectangle2 or M_Rectangle3 describing a rectangle  in  terms  of  two  or
     three lines.

     M_RectangleFromPts2() and M_RectangleFromPts3() return a rectangle in terms
     of two or three points.

     The  M_RectangleRead[23]()  and  M_RectangleWrite[23]()  functions  read or
     write a rectangle structure from/to an AG_DataSource(3).

     The macros M_RECTANGLE2_INITIALIZER() and M_RECTANGLE3_INITIALIZER() expand
     to static initializers for M_Rectangle2 and M_Rectangle3, respectively.

COMPUTATIONS
     int M_PointInRectangle2(M_Rectangle2 R, M_Vector2 p)

     M_Real M_RectangleWidth2(M_Rectangle2 R)

     M_Real M_RectangleWidth2v(const M_Rectangle2 *R)

     M_Real M_RectangleHeight2(M_Rectangle2 R)

     M_Real M_RectangleHeight2v(const M_Rectangle2 *R)

     M_Real M_RectangleWidth3(M_Rectangle3 R)

     M_Real M_RectangleWidth3v(const M_Rectangle3 *R)

     M_Real M_RectangleHeight3(M_Rectangle3 R)

     M_Real M_RectangleHeight3v(const M_Rectangle3 *R)

     The M_PointInRectangle2() routine tests whether point  p  lies  inside  the
     rectangle R and returns 1 if it does, otherwise 0.

     The  M_RectangleWidth[23]() and M_RectangleHeight[23]() routines return the
     width and height of the rectangle.

SEE ALSO
     AG_DataSource(3),	AG_Intro(3),  M_Circle(3),  M_Geometry(3),   M_Plane(3),
     M_Polygon(3), M_Rectangle(3), M_Sphere(3), M_Triangle(3), M_Vector(3)

HISTORY
     The M_Rectangle structure first appeared in Agar 1.3.4.

Agar 1.7			December 21, 2022		  M_RECTANGLE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=M_Rectangle&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help