32 lines
1.2 KiB
C++
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
|