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)
}
}