package edu.colorado.phet.movingman.ladybug import edu.colorado.phet.common.phetcommon.view.graphics.transforms.ModelViewTransform2D import edu.colorado.phet.common.piccolophet.nodes.PhetPPath import java.awt.geom.{GeneralPath, Point2D} import java.awt.{BasicStroke, Color} import umd.cs.piccolo.PNode import java.awt.geom.Path2D abstract class LadybugTraceNode(model: LadybugModel, transform: ModelViewTransform2D, shouldBeVisible: () => Boolean, observable: ObservableS) extends PNode { setPickable(false) setChildrenPickable(false) observable.addListener(() => setVisible(shouldBeVisible())) setVisible(shouldBeVisible()) model.addListener(update) def update(model: LadybugModel) var clearPt = 0 def clearTrace = { clearPt = model.history.length update(model) } def getHistoryToShow() = { val start = (model.history.length - 100) max 0 max clearPt model.history.slice(start, model.history.length) } }