/*! Adds a circle object to pattern (\a p) with its center at the absolute position (\a cx,\a cy) with a radius of (\a r). Positive y is up. Units are in millimeters. */ void embPattern_addCircleObjectAbs(EmbPattern* p, double cx, double cy, double r) { EmbCircleObject circleObj = embCircleObject_make(cx, cy, r); if(!p) { embLog_error("emb-pattern.c embPattern_addCircleObjectAbs(), p argument is null\n"); return; } if(embCircleObjectList_empty(p->circleObjList)) { p->circleObjList = p->lastCircleObj = embCircleObjectList_create(circleObj); } else { p->lastCircleObj = embCircleObjectList_add(p->lastCircleObj, circleObj); } }
/* Adds a circle with its center at the absolute position (cx,cy) with a radius of (r). Positive y is up. Units are in millimeters. */ void embPattern_addCircleObjectAbs(EmbPattern* p, double cx, double cy, double r) { EmbCircleObject circleObj = embCircleObject_make(cx, cy, r); if(!p) { embLog_error("emb-pattern.c embPattern_addCircleObjectAbs(), p argument is null\n"); return; } if(!(p->circleObjList)) { p->circleObjList = (EmbCircleObjectList*)malloc(sizeof(EmbCircleObjectList)); if(!p->circleObjList) { embLog_error("emb-pattern.c embPattern_addCircleObjectAbs(), cannot allocate memory for p->circleObjList\n"); return; } p->circleObjList->circleObj = circleObj; p->circleObjList->next = 0; p->lastCircleObj = p->circleObjList; } else { embCircleObjectList_add(p->lastCircleObj, circleObj); p->lastCircleObj = p->lastCircleObj->next; } }
/* Adds a circle with its center at the absolute position (cx,cy) with a radius of (r). Positive y is up. Units are in millimeters. */ void embPattern_addCircleObjectAbs(EmbPattern* p, double cx, double cy, double r) { /* TODO: pointer safety */ EmbCircleObject circleObj = embCircleObject_make(cx, cy, r); if(!(p->circleObjList)) { p->circleObjList = (EmbCircleObjectList*)malloc(sizeof(EmbCircleObjectList)); /* TODO: malloc fail error */ p->circleObjList->circleObj = circleObj; p->circleObjList->next = 0; p->lastCircleObj = p->circleObjList; } else { embCircleObjectList_add(p->lastCircleObj, circleObj); p->lastCircleObj = p->lastCircleObj->next; } }