Figure 9: Cancer: Two Spheres at the Same Coordinates.
In the pipe example below the innerpipe is subtracted from the pipe. If the innerpipe was a cylinder of the same length as the pipe cylinder, then at the ends of the pipe the surface of the outer and inner pipe would be in the same place and this could cause cancer. To avoid this the inner pipe is made out of a longer cylinder (an infinite length cylinder);
object Pipe::make_pipe(void) { object pipe, innerpipe; pipe = stretch(2, 2, 6, new_unitcyl()); innerpipe = stretch(1.5, 1.5, 1.0, new_cyl())); LINK(pipe, MINUS, innerpipe); return bind(pipe); }