29 #include "../../../idlib/precompiled.h"
49 memset( tri, 0,
sizeof( *tri ) );
75 prev = &(*prev)->
next;
92 for ( ;
a ; a =
next ) {
108 for ( tri = a ; tri ; tri = tri->
next ) {
112 copy ->
next = testList;
175 for ( tri = list ; tri ; tri = tri->
next ) {
178 copy->
next = newList;
193 for ( ; list ; list = list->
next ) {
226 for ( tri = tris ; tri ; tri = tri->
next ) {
232 tri->
v[0] = tri->
v[2];
278 for ( i = 0 ; i < 3 ; i++ ) {
287 tri->
v[
i].
st[0] = a * original->
v[0].
st[0]
288 + b * original->
v[1].
st[0] + c * original->
v[2].
st[0];
289 tri->
v[
i].
st[1] = a * original->
v[0].
st[1]
290 + b * original->
v[1].
st[1] + c * original->
v[2].
st[1];
292 for ( j = 0 ; j < 3 ; j++ ) {
323 if ( !originalTri ) {
324 memset( tri, 0,
sizeof( *tri ) );
331 for ( j = 0 ; j < 3 ; j++ ) {
333 vec = &((*w)[0]).ToVec3();
334 }
else if ( j == 1 ) {
335 vec = &((*w)[i-1]).ToVec3();
337 vec = &((*w)[
i]).ToVec3();
365 for ( tri = list ; tri ; tri = tri->
next ) {
367 w->
Split( plane, epsilon, &frontW, &backW );
void DrawWinding(const idWinding *w)
bool FromPoints(const idVec3 &p1, const idVec3 &p2, const idVec3 &p3, bool fixDegenerate=true)
const struct hashVert_s * hashVert[3]
bool AddPoint(const idVec3 &v)
int GetNumPoints(void) const
GLubyte GLubyte GLubyte GLubyte w
static float TriangleArea(const idVec3 &a, const idVec3 &b, const idVec3 &c)
struct optVertex_s * optVert[3]
GLubyte GLubyte GLubyte a
int Split(const idPlane &plane, const float epsilon, idWinding **front, idWinding **back) const
void * Mem_Alloc(const int size)