CaRMtl/rene/zirkel/tools/JLocusObjectTracker.java

86 lines
2.3 KiB
Java

/*
Copyright 2006 Eric Hakenholz
This file is part of C.a.R. software.
C.a.R. is a free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3 of the License.
C.a.R. is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package rene.zirkel.tools;
import rene.zirkel.objects.*;
import rene.zirkel.ZirkelCanvas;
import rene.zirkel.construction.Selector;
import rene.zirkel.graphics.TrackPainter;
import rene.zirkel.tools.ObjectTracker;
/**
*
* @author erichake
*/
public class JLocusObjectTracker extends ObjectTracker implements TrackPainter,
Runnable, Selector {
public JLocusObjectTracker() {
// System.out.println("JLocusObjectTracker");
}
public JLocusObjectTracker(final ConstructionObject p,
final PointObject pm, final ConstructionObject o,
final ZirkelCanvas zc, final boolean animate, final boolean paint,
final ConstructionObject po[]) {
super(p, pm, o, zc, animate, paint, po);
}
/**
* it simply create the locus object, without any animation
*/
@Override
public void run() {
animate(ZC);
}
/**
* No animation : it simply create the locus object
*
* @param zc
*/
@Override
public void animate(final ZirkelCanvas zc) {
// The DontPaint switch will be reset off at the end
zc.setDontPaint(true);
TrackObject t =null;
if (P instanceof PointObject) {
// Il s'agit d'un lieu de point (on utilise le nouvel objet)
t = new JLocusTrackObject(zc.getConstruction(), P,
PO, PN, O, PM);
}else{
// Il s'agit d'une enveloppe de droite (on utilise l'ancien objet)
t = new TrackObject(zc.getConstruction(), P,
PO, PN, O, PM);
}
// OldTrackObject t=new OldTrackObject(zc.getConstruction(),
// P,PO,PN,O,PM);
t.setDefaults();
zc.addObject(t);
reset(zc);
zc.validate();
zc.setDontPaint(false);
}
}