An SVG circle. The two compulsory options are Center (coordinates of the center) and Radius (radius). Instead of the radius, one can specify any point of the circle. In 3d, gives a decent approximation of a sphere.
i1 : Circle{Center=>vector {10,10},Radius=>1,"fill"=>"green","stroke"=>"none"} o1 = Circle{cache => CacheTable{} } Center => | 10 | | 10 | | 0 | | 1 | Radius => 1 style => MutableHashTable{...2...} o1 : Circle |
i2 : Circle{[10,10],1} -- equivalent syntax for coordinates o2 = Circle{cache => CacheTable{} } Center => | 10 | | 10 | | 0 | | 1 | Radius => 1 style => MutableHashTable{} o2 : Circle |
i3 : gList(oo,Circle{[0,0],[10,10]}) o3 = GraphicsList{cache => CacheTable{} } Contents => {Circle{cache => CacheTable{} }, Circle{cache => CacheTable{} }} Center => | 10 | Center => | 0 | | 10 | | 0 | | 0 | | 0 | | 1 | | 1 | Radius => 1 Radius => | 10 | style => MutableHashTable{} | 10 | | 0 | | 1 | style => MutableHashTable{} style => MutableHashTable{} o3 : GraphicsList |
The object Circle is an instance of the type GraphicsType, with ancestor classes Ellipse < GraphicsObject < GraphicsAncestor < HashTable < Thing.