src/limn/polymod.c File Reference

#include "limn.h"

Include dependency graph for polymod.c:


Defines

#define SEARCH
#define SEARCH(x)

Functions

static unsigned int flipListIntx (unsigned int *dstC, const unsigned int *_srcA, const unsigned int *_srcB)
static void flipNeighborsGet (Nrrd *nTriWithVert, Nrrd *nVertWithTri, unsigned int neighGot[3], unsigned int neighInfo[3][3], unsigned int *intxBuff, unsigned int triIdx)
static int flipNeed (Nrrd *nVertWithTri, unsigned int triIdx, unsigned int vertA, unsigned int vertB)
static unsigned int neighborsCheckPush (Nrrd *nTriWithVert, Nrrd *nVertWithTri, unsigned char *triDone, airArray *okayArr, unsigned int *intxBuff, airArray *splitArr, unsigned int triIdx, int splitting)
static unsigned int maxTrianglePerPrimitive (limnPolyData *pld)
static int triangleWithVertex (Nrrd *nTriWithVert, limnPolyData *pld)
static int vertexWithTriangle (Nrrd *nVertWithTri, limnPolyData *pld)
static int splitListExtract (unsigned int *listLenP, airArray *edgeArr, unsigned char *hitCount, unsigned int firstVertIdx, unsigned int edgeDoneNum)
static unsigned int sweepVertNext (unsigned int *vert, unsigned int v0, unsigned int v1)
static int sweepHave2 (unsigned int v[3], unsigned int A, unsigned B)
static unsigned int sweepTriNext (unsigned int *triLine, unsigned int v0, unsigned int v1, unsigned int triNot, Nrrd *nVertWithTri)
static unsigned int splitTriSweep (unsigned int *sweep, unsigned int triStart, unsigned int vertPivot, unsigned int vertStart, unsigned int triStop0, unsigned int triStop1, Nrrd *nTriWithVert, Nrrd *nVertWithTri)
static int splitTriTrack (unsigned int *track0, unsigned int *track0LenP, unsigned int *track1, unsigned int *track1LenP, unsigned int *sweep, Nrrd *nTriWithVert, Nrrd *nVertWithTri, airArray *edgeArr, unsigned startIdx, unsigned int listLen, int looping)
static int splitVertDup (limnPolyData *pld, airArray *edgeArr, unsigned int edgeDoneNum, unsigned int listLen, unsigned int *track, unsigned int trackLen, int looping)
static int doSplitting (limnPolyData *pld, Nrrd *nTriWithVert, Nrrd *nVertWithTri, airArray *edgeArr)
int _limnPolyDataVertexWindingProcess (limnPolyData *pld, int splitting)
int limnPolyDataVertexWindingFix (limnPolyData *pld, int splitting)
int limnPolyDataCCFind (limnPolyData *pld)
int limnPolyDataPrimitiveSort (limnPolyData *pld, const Nrrd *_nval)
int limnPolyDataVertexWindingFlip (limnPolyData *pld)
int limnPolyDataPrimitiveSelect (limnPolyData *pldOut, const limnPolyData *pldIn, const Nrrd *_nmask)
int limnPolyDataClip (limnPolyData *pld, Nrrd *nval, double thresh)

Define Documentation

#define SEARCH (  ) 

Value:

for (vertIdx=0; vertIdx<vertNum; vertIdx++) { \
    if ((x) == hitCount[vertIdx]) {             \
      break; \
    } \
  }

#define SEARCH

Value:

for (edgeIdx=listLen; edgeIdx<edgeNum; edgeIdx++) { \
    edgeLine = edgeData + 5*edgeIdx; \
    if (edgeLine[2] == nextVertIdx || edgeLine[3] == nextVertIdx) { \
      break; \
    } \
  }


Function Documentation

int _limnPolyDataVertexWindingProcess ( limnPolyData pld,
int  splitting 
)

static int doSplitting ( limnPolyData pld,
Nrrd nTriWithVert,
Nrrd nVertWithTri,
airArray edgeArr 
) [static]

static unsigned int flipListIntx ( unsigned int *  dstC,
const unsigned int *  _srcA,
const unsigned int *  _srcB 
) [static]

static int flipNeed ( Nrrd nVertWithTri,
unsigned int  triIdx,
unsigned int  vertA,
unsigned int  vertB 
) [static]

static void flipNeighborsGet ( Nrrd nTriWithVert,
Nrrd nVertWithTri,
unsigned int  neighGot[3],
unsigned int  neighInfo[3][3],
unsigned int *  intxBuff,
unsigned int  triIdx 
) [static]

int limnPolyDataCCFind ( limnPolyData pld  ) 

int limnPolyDataClip ( limnPolyData pld,
Nrrd nval,
double  thresh 
)

int limnPolyDataPrimitiveSelect ( limnPolyData pldOut,
const limnPolyData pldIn,
const Nrrd _nmask 
)

int limnPolyDataPrimitiveSort ( limnPolyData pld,
const Nrrd _nval 
)

int limnPolyDataVertexWindingFix ( limnPolyData pld,
int  splitting 
)

int limnPolyDataVertexWindingFlip ( limnPolyData pld  ) 

static unsigned int maxTrianglePerPrimitive ( limnPolyData pld  )  [static]

static unsigned int neighborsCheckPush ( Nrrd nTriWithVert,
Nrrd nVertWithTri,
unsigned char *  triDone,
airArray okayArr,
unsigned int *  intxBuff,
airArray splitArr,
unsigned int  triIdx,
int  splitting 
) [static]

static int splitListExtract ( unsigned int *  listLenP,
airArray edgeArr,
unsigned char *  hitCount,
unsigned int  firstVertIdx,
unsigned int  edgeDoneNum 
) [static]

static unsigned int splitTriSweep ( unsigned int *  sweep,
unsigned int  triStart,
unsigned int  vertPivot,
unsigned int  vertStart,
unsigned int  triStop0,
unsigned int  triStop1,
Nrrd nTriWithVert,
Nrrd nVertWithTri 
) [static]

static int splitTriTrack ( unsigned int *  track0,
unsigned int *  track0LenP,
unsigned int *  track1,
unsigned int *  track1LenP,
unsigned int *  sweep,
Nrrd nTriWithVert,
Nrrd nVertWithTri,
airArray edgeArr,
unsigned  startIdx,
unsigned int  listLen,
int  looping 
) [static]

static int splitVertDup ( limnPolyData pld,
airArray edgeArr,
unsigned int  edgeDoneNum,
unsigned int  listLen,
unsigned int *  track,
unsigned int  trackLen,
int  looping 
) [static]

static int sweepHave2 ( unsigned int  v[3],
unsigned int  A,
unsigned  B 
) [static]

static unsigned int sweepTriNext ( unsigned int *  triLine,
unsigned int  v0,
unsigned int  v1,
unsigned int  triNot,
Nrrd nVertWithTri 
) [static]

static unsigned int sweepVertNext ( unsigned int *  vert,
unsigned int  v0,
unsigned int  v1 
) [static]

static int triangleWithVertex ( Nrrd nTriWithVert,
limnPolyData pld 
) [static]

static int vertexWithTriangle ( Nrrd nVertWithTri,
limnPolyData pld 
) [static]


Generated on Sat May 9 03:55:24 2009 for Teem by  doxygen 1.5.9