 
         @init_eval_note()
         opts.cb?(undefined, @)
+        # window.w = @   # for debugging
 
     # client code should call this when start adding objects to the scene
     init: () =>

        else
            has_local_colors = false

            
        vertices = myobj.vertex_geometry
        for objects in [0...myobj.face_geometry.length]
            #console.log("object=", misc.to_json(myobj))

            points     : required
            thickness  : 1
            color      : "#000000"
            arrow_head : false
        @show_canvas()

        if o.arrow_head
            # Draw an arrowhead using the ArrowHelper: https://github.com/mrdoob/three.js/blob/master/src/extras/helpers/ArrowHelper.js
            orig = @vector(o.points[0])
            p1   = @vector(o.points[1])
            dir  = new THREE.Vector3(); dir.subVectors(p1, orig)
            length = dir.length()
            dir.normalize()
            @scene.add(new THREE.ArrowHelper(dir, orig, length, o.color))

        else

            geometry = new THREE.Geometry()
            for a in o.points
                geometry.vertices.push(@vector(a))
            @scene.add(new THREE.Line(geometry, new THREE.LineBasicMaterial(color:o.color, linewidth:o.thickness)))

    add_point: (opts) =>
        o = defaults opts,
