// point_in_poly.h count number of edge crossing horizontal line from test // even, c==1, is inside pnpoly // pvpoly uses vertical line from testx, testy // pitri tests 3D point crosses a 3D triangle [0] [1] [2] // ptdat tests 3d point in .dat structure // include after datread.h int pnpoly(int nvert, float vertx[], float verty[], float testx, float testy); int pvpoly(int nvert, float vertx[], float verty[], float testx, float testy); int pitri(int nvert, float vertx[], float verty[], float vertz[], float testx, float testy, float testz); #ifndef DPTS typedef struct {float x; float y; float z;} dpts; #endif int ptdat(int num_vert, int num_poly, dpts verts[], int polys[], float testx, float testy, float testz);