/* * This file is part of the DXX-Rebirth project . * It is copyright by its individual contributors, as recorded in the * project's Git history. See COPYING.txt at the top level for license * terms and a link to the Git history. */ /* * * Header for clipper.c * */ #pragma once #ifdef __cplusplus #include "dxxsconf.h" #include struct g3s_codes; struct g3s_point; #if !DXX_USE_OGL #include "dsx-ns.h" #include "3d.h" #include "globvars.h" #include namespace dcx { struct polygon_clip_points : std::array {}; struct temporary_points_t { uint_fast32_t free_point_num; std::array temp_points; std::array free_points; temporary_points_t(); void free_temp_point(g3s_point &cp); }; const polygon_clip_points &clip_polygon(polygon_clip_points &src,polygon_clip_points &dest,int *nv,g3s_codes *cc,temporary_points_t &); void clip_line(g3s_point *&p0, g3s_point *&p1, clipping_code codes_or, temporary_points_t &); } #endif #endif