line = new lively.morphic.Path([pt(0,0), pt(100,100)])
line.openInWorld()
line.setPosition(pt(500, 50))
line.shape.vertices()[0]
line.getControlPoint(1).moveControlPointBy(pt(0,-5))
line.getControlPoint(1).moveControlPointBy(pt(0,10))
line.removeHalos()
newShowPt(line. getControlPointHalos()[0].computePositionAtTarget())
newShowPt(line.halos[line.halos.length-2].controlPoint.getGlobalPos())
newShowRect(line.getPosition().extent(line.getExtent()))
newShowRect(line.getPosition().extent(line.getExtent()))
newShowRect(line.getBounds())
newShowRect(line.shape.getBounds().translatedBy(line.getPosition()))
line.halos = null
r = Rectangle.ensure(line.renderContext().shapeNode.getBBox())
newShowRect(r.translatedBy(line.getPosition()))
offset = line.shape.getBounds().topLeft()
line.shape.setPosition(offset.negated())
line.setPosition(offset)
line = new lively.morphic.Path([pt(0,0), pt(100,100)])
line.openInWorld()
line.setPosition(pt(500, 50))
arrowHead.setFill(Color.white)
arrowHead = new lively.morphic.Path([pt(0,0), pt(0,12), pt(16,6), pt(0,0)]);
arrowHead.setOrigin(pt(16,6))
line.addArrowHeadEnd(arrowHead);
arrowHead = new lively.morphic.Path([pt(0,0), pt(0,20), pt(20,10), pt(0,0)]);
arrowHead.setOrigin(pt(20,10))
line.addArrowHeadStart(arrowHead);
Exporter.stringify(line.renderContext().shapeNode)
line.renderContext().shapeNode.childNodes[0].parentNode.removeChild(line.renderContext().shapeNode.childNodes[0])
line.setVertices([pt(0,0), pt(0,20), pt(20,10), pt(0,0)])
line.setVertices([pt(0,0), pt(100,100)])
line.setVertices([pt(0,0), pt(100,10)])
line.setVertices([pt(0,20), pt(100,0)])
line.renderContext().shapeNode.setAttribute('viewBox', '0 0 100 20')
line.shape.setPosition
line.bounds()
line.shape.getBounds().equals(new Rectangle(0,-20, 100, 20))
Rectangle.unionPts([pt(0,0), pt(100,-20)]).topLeft()
line.setOrigin(pt(0,0))
line.getControlPoint(1).remove()
line.renderContext().shapeNode.setAttribute('stroke', 'red')
line.renderContext().shapeNode.setAttribute('stroke-width', '8')
line.renderContext().shapeNode.setAttribute('viewBox', '0 -0 100 20')
line.renderContext().shapeNode.setAttribute('viewBox', '0 -10 100 100')
line.renderContext().shapeNode.setAttribute('viewBox', '0 -10 100 100')
line.renderContext().shapeNode.setAttribute('width', '100')
line.renderContext().shapeNode.setAttribute('height', '20')
line.renderContext().shapeNode.getAttribute('viewBox')
line.renderContext().shapeNode.getAttribute('width')
line.renderContext().shapeNode.getAttribute('height')
line.getOrigin()
line.remove()
Exporter.stringify(line.renderContext().morphNode)
line.shape.setPositionHTML
line.getPosition()
line.moveBy(pt(0,10))
line.moveBy(pt(0,-10))
line.copy().openInWorld()
line.shape.setPosition(line.shape.getPosition().addXY(0, -1))
line.shape.setPosition(pt(0,-10))
line.shape.setPosition(pt(0,0))
line.setOrigin(pt(0,0))
line.shape.getExtent()
line.setOrigin(line.getOrigin().addPt(pt(0,1)))
line.setOrigin(pt(0,0))
line.getOrigin()
line.shape.getPosition()
line.setWithLayers([OriginDebugLayer])