    draw: () ->
       @updateVertexPos()
       super
-      #super @gl.LINE_LOOP

      @initBuffer(bufferData)

   addLevel: (triangleVertex = null) ->
      # update old vertex position
      ###
      if @vertex.length >= 18*3
         @getLastLevelVertex ((i, b) ->
            @vertex.splice.apply( @vertex, [b,3].concat( @levelVertex.slice(i*3, i*3+3) ) )
         ).bind(this)
         l = @vertex.length - 18*3
         for i in [0..2]
            @calculateTriangleNormal(l+i*18)
            @calculateTriangleNormal(l+i*18+9)
      ###

      # duplicate level
      lastLevelVertex = triangleVertex if triangleVertex?
      lastLevelVertex = @getLevelAsTriangle() unless lastLevelVertex?

      super
      @vertex = []
      @levelVertex = []
      @normals = []

   setUp: (@triangleVertex) ->
      gl = @gl
      @levelVertex = @levelVertex.concat( @triangleVertex )
      @addLevel(@levelVertex)

      # vertex
