Exemple #1
0
element_t*
TMelement_alloc (coordinate_t* coordinates, long numCoordinate)
{
    element_t* elementPtr;
    elementPtr = (element_t*)xmalloc(sizeof(element_t));
    if (elementPtr) {
        calculateCircumCircle(elementPtr);
    }
    return elementPtr;
}
Exemple #2
0
/* =============================================================================
 * TMelement_alloc
 *
 * Contains a copy of input arg 'coordinates'
 * =============================================================================
 */
element_t*
TMelement_alloc (TM_ARGDECL coordinate_t* coordinates, long numCoordinate)
{
    element_t* elementPtr = NULL;

    elementPtr = (element_t*)TM_MALLOC(sizeof(element_t));
    if (elementPtr) {
        long i;
        for (i = 0; i < numCoordinate; i++) {
            elementPtr->coordinates[i] = coordinates[i];
        }
        elementPtr->numCoordinate = numCoordinate;
        minimizeCoordinates(elementPtr);
        checkAngles(elementPtr);
        calculateCircumCircle(elementPtr);
        initEdges(elementPtr, coordinates, numCoordinate);
        elementPtr->neighborListPtr = TMLIST_ALLOC(&element_listcompare);
        assert(elementPtr->neighborListPtr);
        elementPtr->isGarbage = false;
        elementPtr->isReferenced = false;
    }

    return elementPtr;
}