GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
mesh_tesselate.c File Reference
#include <gpac/internal/mesh.h>
#include <gpac/color.h>
#include "gl_inc.h"
+ Include dependency graph for mesh_tesselate.c:

Macros

#define CALLBACK
 
#define GetPoint2D(pt, apt)
 
#define ConvCompare(delta)
 
#define ConvGetPointDelta(delta, pprev, pcur)
 
#define ConvCross(p, q)   gf_mulfix(p.x,q.y) - gf_mulfix(p.y,q.x);
 
#define ConvCheckTriple
 

Functions

void gf_mesh_tesselate_path (GF_Mesh *mesh, GF_Path *path, u32 outline_style)
 
u32 polygon_check_convexity (GF_Vertex *pts, u32 len, u32 direction)
 
void TesselateFaceMesh (GF_Mesh *dest, GF_Mesh *orig)
 

Macro Definition Documentation

#define CALLBACK
#define GetPoint2D (   pt,
  apt 
)
Value:
if (!direction) { pt.x = - apt.pos.z; pt.y = apt.pos.y; } \
else if (direction==1) { pt.x = apt.pos.z; pt.y = apt.pos.x; } \
else if (direction==2) { pt.x = apt.pos.x; pt.y = apt.pos.y; } \
#define ConvCompare (   delta)
Value:
( (delta.x > 0) ? -1 : \
(delta.x < 0) ? 1 : \
(delta.y > 0) ? -1 : \
(delta.y < 0) ? 1 : \
0 )
#define ConvGetPointDelta (   delta,
  pprev,
  pcur 
)
Value:
/* Given a previous point 'pprev', read a new point into 'pcur' */ \
/* and return delta in 'delta'. */ \
GetPoint2D(pcur, pts[iread]); iread++; \
delta.x = pcur.x - pprev.x; \
delta.y = pcur.y - pprev.y; \
#define GetPoint2D(pt, apt)
Definition: mesh_tesselate.c:228
#define ConvCross (   p,
 
)    gf_mulfix(p.x,q.y) - gf_mulfix(p.y,q.x);
#define ConvCheckTriple
Value:
if ( (thisDir = ConvCompare(dcur)) == -curDir ) { \
++dirChanges; \
/* if ( dirChanges > 2 ) return NotConvex; */ \
} \
curDir = thisDir; \
cross = ConvCross(dprev, dcur); \
if ( cross > 0 ) { \
if ( angleSign == -1 ) return GF_POLYGON_COMPLEX; \
angleSign = 1; \
} \
else if (cross < 0) { \
if (angleSign == 1) return GF_POLYGON_COMPLEX; \
angleSign = -1; \
} \
pSecond = pThird; \
dprev.x = dcur.x; \
dprev.y = dcur.y; \
#define ConvCross(p, q)
Definition: mesh_tesselate.c:248
#define ConvCompare(delta)
Definition: mesh_tesselate.c:234
Definition: path2d.h:469

Function Documentation

void gf_mesh_tesselate_path ( GF_Mesh mesh,
GF_Path path,
u32  outline_style 
)

+ Here is the caller graph for this function:

u32 polygon_check_convexity ( GF_Vertex pts,
u32  len,
u32  direction 
)

+ Here is the caller graph for this function:

void TesselateFaceMesh ( GF_Mesh dest,
GF_Mesh orig 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: