void* Copy_Parametric(OBJECT* Object) { PARAMETRIC *New, *Old; Old = (PARAMETRIC *)Object; New = Create_Parametric(); *New = *((PARAMETRIC *)Object); New->Function[0] = Copy_Function(Old->Function[0]); New->Function[1] = Copy_Function(Old->Function[1]); New->Function[2] = Copy_Function(Old->Function[2]); New->Trans = Copy_Transform(Old->Trans); New->PData = Copy_PrecompParVal(Old->PData); return (New); }
void* Copy_IsoSurface(OBJECT* Object) { ISOSURFACE *New; New = (ISOSURFACE *)POV_MALLOC(sizeof(ISOSURFACE), "isosurface"); *New = *((ISOSURFACE *)Object); New->Function = Copy_Function(((ISOSURFACE *)Object)->Function); New->Trans = Copy_Transform(((ISOSURFACE *)Object)->Trans); New->mginfo->refcnt++; return (New); }