room101/POLYGON.HPP

32 lines
1.2 KiB
C++

#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