tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
element.c File Reference
#include <assert.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "coordinate.h"
#include "element.h"
#include "pair.h"
#include "tm.h"
#include "types.h"
Include dependency graph for element.c:

Classes

struct  element
 

Functions

static void minimizeCoordinates (element_t *elementPtr)
 
static void checkAngles (element_t *elementPtr)
 
static void calculateCircumCircle (element_t *elementPtr)
 
static void setEdge (element_t *elementPtr, long i)
 
static void initEdges (element_t *elementPtr, coordinate_t *coordinates, long numCoordinate)
 
long element_compare (element_t *aElementPtr, element_t *bElementPtr)
 
long element_listCompare (const void *aPtr, const void *bPtr)
 
long TMelement_compare (TM_ARGDECL element_t *aElementPtr, element_t *bElementPtr)
 
long TMelement_listCompare (TM_ARGDECL const void *aPtr, const void *bPtr)
 
long element_mapCompare (const pair_t *aPtr, const pair_t *bPtr)
 
element_telement_alloc (coordinate_t *coordinates, long numCoordinate)
 
element_tPelement_alloc (coordinate_t *coordinates, long numCoordinate)
 
element_tTMelement_alloc (TM_ARGDECL coordinate_t *coordinates, long numCoordinate)
 
void element_free (element_t *elementPtr)
 
void Pelement_free (element_t *elementPtr)
 
void TMelement_free (TM_ARGDECL element_t *elementPtr)
 
long element_getNumEdge (element_t *elementPtr)
 
edge_telement_getEdge (element_t *elementPtr, long i)
 
static long compareEdge (edge_t *aEdgePtr, edge_t *bEdgePtr)
 
static long TMcompareEdge (TM_ARGDECL edge_t *aEdgePtr, edge_t *bEdgePtr)
 
long element_listCompareEdge (const void *aPtr, const void *bPtr)
 
long TMelement_listCompareEdge (TM_ARGDECL const void *aPtr, const void *bPtr)
 
long element_mapCompareEdge (const pair_t *aPtr, const pair_t *bPtr)
 
long element_heapCompare (const void *aPtr, const void *bPtr)
 
long TMelement_heapCompare (TM_ARGDECL const void *aPtr, const void *bPtr)
 
bool_t element_isInCircumCircle (element_t *elementPtr, coordinate_t *coordinatePtr)
 
static bool_t isEncroached (element_t *elementPtr)
 
void element_clearEncroached (element_t *elementPtr)
 
edge_telement_getEncroachedPtr (element_t *elementPtr)
 
bool_t element_isSkinny (element_t *elementPtr)
 
bool_t element_isBad (element_t *elementPtr)
 
bool_t element_isReferenced (element_t *elementPtr)
 
bool_t TMelement_isReferenced (TM_ARGDECL element_t *elementPtr)
 
void element_setIsReferenced (element_t *elementPtr, bool_t status)
 
void TMelement_setIsReferenced (TM_ARGDECL element_t *elementPtr, bool_t status)
 
bool_t element_isGarbage (element_t *elementPtr)
 
bool_t TMelement_isGarbage (TM_ARGDECL element_t *elementPtr)
 
void element_setIsGarbage (element_t *elementPtr, bool_t status)
 
void TMelement_setIsGarbage (TM_ARGDECL element_t *elementPtr, bool_t status)
 
void element_addNeighbor (element_t *elementPtr, element_t *neighborPtr)
 
void TMelement_addNeighbor (TM_ARGDECL element_t *elementPtr, element_t *neighborPtr)
 
list_telement_getNeighborListPtr (element_t *elementPtr)
 
list_tTMelement_getNeighborListPtr (TM_ARGDECL element_t *elementPtr)
 
edge_telement_getCommonEdge (element_t *aElementPtr, element_t *bElementPtr)
 
edge_tTMelement_getCommonEdge (TM_ARGDECL element_t *aElementPtr, element_t *bElementPtr)
 
coordinate_t element_getNewPoint (element_t *elementPtr)
 
coordinate_t TMelement_getNewPoint (TM_ARGDECL element_t *elementPtr)
 
bool_t element_checkAngles (element_t *elementPtr)
 
void element_print (element_t *elementPtr)
 
void element_printEdge (edge_t *edgePtr)
 
void element_printAngles (element_t *elementPtr)
 

Variables

double global_angleConstraint
 
comparator_t element_listcompare & element_listCompare
 

Function Documentation

static void calculateCircumCircle ( element_t elementPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void checkAngles ( element_t elementPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static long compareEdge ( edge_t aEdgePtr,
edge_t bEdgePtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void element_addNeighbor ( element_t elementPtr,
element_t neighborPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

element_t* element_alloc ( coordinate_t coordinates,
long  numCoordinate 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t element_checkAngles ( element_t elementPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

void element_clearEncroached ( element_t elementPtr)

Here is the caller graph for this function:

long element_compare ( element_t aElementPtr,
element_t bElementPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void element_free ( element_t elementPtr)

Here is the call graph for this function:

edge_t* element_getCommonEdge ( element_t aElementPtr,
element_t bElementPtr 
)

Here is the call graph for this function:

edge_t* element_getEdge ( element_t elementPtr,
long  i 
)

Here is the caller graph for this function:

edge_t* element_getEncroachedPtr ( element_t elementPtr)

Here is the caller graph for this function:

list_t* element_getNeighborListPtr ( element_t elementPtr)

Here is the caller graph for this function:

coordinate_t element_getNewPoint ( element_t elementPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

long element_getNumEdge ( element_t elementPtr)

Here is the caller graph for this function:

long element_heapCompare ( const void *  aPtr,
const void *  bPtr 
)
bool_t element_isBad ( element_t elementPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t element_isGarbage ( element_t elementPtr)
bool_t element_isInCircumCircle ( element_t elementPtr,
coordinate_t coordinatePtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t element_isReferenced ( element_t elementPtr)
bool_t element_isSkinny ( element_t elementPtr)

Here is the caller graph for this function:

long element_listCompare ( const void *  aPtr,
const void *  bPtr 
)

Here is the call graph for this function:

long element_listCompareEdge ( const void *  aPtr,
const void *  bPtr 
)

Here is the call graph for this function:

long element_mapCompare ( const pair_t aPtr,
const pair_t bPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

long element_mapCompareEdge ( const pair_t aPtr,
const pair_t bPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void element_print ( element_t elementPtr)

Here is the call graph for this function:

void element_printAngles ( element_t elementPtr)

Here is the call graph for this function:

void element_printEdge ( edge_t edgePtr)

Here is the call graph for this function:

void element_setIsGarbage ( element_t elementPtr,
bool_t  status 
)
void element_setIsReferenced ( element_t elementPtr,
bool_t  status 
)

Here is the caller graph for this function:

static void initEdges ( element_t elementPtr,
coordinate_t coordinates,
long  numCoordinate 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static bool_t isEncroached ( element_t elementPtr)
static

Here is the caller graph for this function:

static void minimizeCoordinates ( element_t elementPtr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

element_t* Pelement_alloc ( coordinate_t coordinates,
long  numCoordinate 
)

Here is the call graph for this function:

void Pelement_free ( element_t elementPtr)
static void setEdge ( element_t elementPtr,
long  i 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static long TMcompareEdge ( TM_ARGDECL edge_t aEdgePtr,
edge_t bEdgePtr 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

void TMelement_addNeighbor ( TM_ARGDECL element_t elementPtr,
element_t neighborPtr 
)
element_t* TMelement_alloc ( TM_ARGDECL coordinate_t coordinates,
long  numCoordinate 
)

Here is the call graph for this function:

long TMelement_compare ( TM_ARGDECL element_t aElementPtr,
element_t bElementPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void TMelement_free ( TM_ARGDECL element_t elementPtr)
edge_t* TMelement_getCommonEdge ( TM_ARGDECL element_t aElementPtr,
element_t bElementPtr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

list_t* TMelement_getNeighborListPtr ( TM_ARGDECL element_t elementPtr)

Here is the caller graph for this function:

coordinate_t TMelement_getNewPoint ( TM_ARGDECL element_t elementPtr)

Here is the call graph for this function:

Here is the caller graph for this function:

long TMelement_heapCompare ( TM_ARGDECL const void *  aPtr,
const void *  bPtr 
)
bool_t TMelement_isGarbage ( TM_ARGDECL element_t elementPtr)
bool_t TMelement_isReferenced ( TM_ARGDECL element_t elementPtr)
long TMelement_listCompare ( TM_ARGDECL const void *  aPtr,
const void *  bPtr 
)

Here is the call graph for this function:

long TMelement_listCompareEdge ( TM_ARGDECL const void *  aPtr,
const void *  bPtr 
)

Here is the call graph for this function:

void TMelement_setIsGarbage ( TM_ARGDECL element_t elementPtr,
bool_t  status 
)
void TMelement_setIsReferenced ( TM_ARGDECL element_t elementPtr,
bool_t  status 
)

Variable Documentation

comparator_t element_listcompare& element_listCompare
double global_angleConstraint