FieldTrip-0.2: doc/datatypes.dot
digraph G {
rankdir=LR;
GContext[label="GContext\n(Graphics Context)"];
Geometry2[label="Geometry2"];
Geometry3[label="Geometry3"];
renderIO[shape="box",label="renderIO\n(render compiler)"];
Geometry3 -> renderIO;
renderIO -> Renderer;
rendererG[shape="box",label="rendererG\n(adding primitive\nshape to geometry)"];
rendererG -> Renderer[dir="back"];
Geometry3 -> rendererG[dir="back"];
Renderer[label="Renderer\n(GContext -> IO ())"];
flatG[shape="box"];
Geometry2 -> flatG; flatG -> Geometry3;
HeightField_a[label="HeightField a\n(a,a) -> a"];
Surf_a[label="Surf a\n(a,a) -> (a,a,a)"];
Curve2_a[label="Curve2 a\na -> (a,a)"];
Curve3_a[label="Curve3 a\na -> (a,a,a)"];
hfSurf[shape="box"];
HeightField_a -> hfSurf;
hfSurf -> Surf_a;
Surf_der[label="Surf (Vector2 R :> R)"];
Surf_a -> Surf_der[label="a : (Vector R :> R)",style="dashed"];
surfG[shape="box"];
Surf_der -> surfG;
surfG -> Geometry3;
Image_a[label="Image a\n(R,R) -> a"];
ImageC[label="ImageC\nImage Color"];
Image_a -> ImageC[label="a : Color",style="dashed"];
Region[label="Region\nImage Bool"];
Image_a -> Region[label="a : Bool",style="dashed"];
surfGP[shape="box",label="surfG'"];
Surf_der -> surfGP;
ImageC -> surfGP;
surfGP -> Geometry3;
circle[shape="box"];
circle -> Curve2_a;
semiCircle[shape="box"];
semiCircle -> Curve2_a;
{ rank=same;
revolve[shape="box"];
sphere1[shape="box"];
}
Curve2_a -> revolve;
revolve -> Surf_a;
sphere1 -> revolve[style="dotted"];
semiCircle -> sphere1[style="dotted"];
sphere1 -> Surf_a;
sphere[shape="box"];
sphere -> Geometry3;
sphere -> surfG[style=dotted];
sphere1 -> sphere[style=dotted];
}