anchor.diff:            (side (SFBool side))
             (bottom (SFBool bottom))
             (solid (SFBool solid)))
  +      (gl:with-pushed-matrix
         (gl:rotate -90 1 0 0)
         (gl:translate 0 0 (- (/ height 2)))
         (if solid       
             (glut:solid-cone bottomRadius height 20 1)                   ; shape
  -          (glut:wire-cone bottomRadius height 20 1)))))
  +          (glut:wire-cone bottomRadius height 20 1))))))
   
   ;; ....................................................................Cylinder
   (defmethod run ((self Cylinder))
  
positive.code:   (with-slots (radius solid) self
      (let ((radius (SFFloat radius))
            (solid (SFBool solid)))
        (print radius)
        (print solid)
        (gl:rotate -90 1 0 0)
        (if solid
            (glut:solid-sphere radius 30 30)
            (glut:wire-sphere radius 30 30)))))
  
  ;; (let* ((+x (abs (/ (elt size 0) 2)))
  ;;        (+y (abs (/ (elt size 1) 2)))
  
negative.code:       ;; (let ((x (elt origin 0))
        ;;       (y (elt origin 1))
        ;;       (z (elt origin 2)))
      (gl:with-pushed-matrix
        (gl:rotate -90 0 0 1)
        (print string)
        (glut:stroke-string +stroke-roman+ string))))
  
  ;; -----------------------------------------------------------------env-effects
  (defmethod run ((self background))
  