M_PointSet family of structures describe arbitrary sets of points in space.
They are defined as follows:
The points in a M_PointSet are stored under the p array of vectors (see M_Vector(3)).
The points in M_PointSeti are stored as separate arrays of integers x, y, z. The w, h and d members specify scaling factors to use when converting from an integer set to a real set.
The M_PointSetInit() functions initialize a point set in R2 or R3 to the null set.
The M_PointSetIniti() functions initialize a point set in Z^3 or Z^3 to the null set. The w, h, d arguments specify the scaling factor to use when converting from an integer to a real point set.
The M_PointSetAlloc*() functions allocates memory for the specified number of points, returning 0 on success or -1 if insufficient memory is available.
The M_PointSetFree*() functions free the point sets, clearing the arrays and reinitializing the point count to 0.
The M_PointSetRead*() and M_TriangleWrite*() functions read or write a triangle structure from/to an AG_DataSource(3).
The macros M_POINT_SET*_EMPTY() expand to static initializers for any of the M_PointSet structures.
|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)|
|The M_PointSet family of structures first appeared in Agar 1.4.2|