#ifndef __POLYGON_H #define __POLYGON_H #include "matrix.hpp" #include "plane.hpp" #include "camera.hpp" #include "memory.hpp" #define POLYGON_MIN 3 #define POLYGON_MAX 32 typedef Vector Polygon[POLYGON_MAX]; void PolygonCopy (Polygon, Polygon, int); void PolygonAddition (Polygon, Polygon, int, Vector); void PolygonSubtract (Polygon, Polygon, int, Vector); void PolygonMultiply (Polygon, Polygon, int, Vector); void PolygonDivide (Polygon, Polygon, int, Vector); void PolygonScale (Polygon, Polygon, int, float); void PolygonInterpolate (Polygon, Polygon, Polygon, int, float); void PolygonNormalize (Polygon, Polygon, int, float); void PolygonTransform (Polygon, Polygon, int, Matrix); void PolygonExtent (Vector, Vector, Polygon, int); int PolygonMergePoints (Polygon, Polygon, int); int PolygonCollinear (Polygon, Polygon, int); int PolygonsAreJoined (Polygon, int, Polygon, int); int PolygonClipToPlane (Polygon, Polygon, int, Plane); void PolygonTransform (Polygon, Polygon, int, Matrix); void PolygonProject (Polygon, int, Camera*); #endif