/* Circle.c Implementation of Circle class */ #include #include #include #include #include "Point.h" struct circle { double radius; Point origin; }; #include "Circle.h" Circle ConsCircle( Point origin, double radius ) { Circle c; c = malloc( sizeof( struct circle ) ); if ( c != NULL ) { c->origin = CopyPoint( origin ); c->radius = radius; } return c; } void DeleteCircle( Circle c ) { assert( c != NULL ); free( c ); } double Radius( Circle c ) { assert( c != NULL ); return c->radius; } Point Origin( Circle c ) { assert( c != NULL ); return c->origin; } int PointInCircle( Circle c, Point p ) { return ( Dist( c->origin, p ) < c->radius ); }