initial import
[iDMC.git] / src / java / org / tsho / dmc2 / core / MapStepper.java
blob06d2deced74c4afeb21aa5f08c58769789d961b3
1 /*
2 * iDMC the interactive Dynamical Model Calculator simulates and performs
3 * graphical and numerical analysis of systems of differential and
4 * difference equations.
6 * Copyright (C) 2004 Marji Lines and Alfredo Medio.
8 * Written by Daniele Pizzoni <auouo@tin.it>.
9 * Extended by Alexei Grigoriev <alexei_grigoriev@libero.it>.
13 * The software program was developed within a research project financed
14 * by the Italian Ministry of Universities, the Universities of Udine and
15 * Ca'Foscari of Venice, the Friuli-Venezia Giulia Region.
17 * This program is free software; you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License as published by
19 * the Free Software Foundation; either version 2 of the License, or any
20 * later version.
22 * This program is distributed in the hope that it will be useful, but
23 * WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25 * General Public License for more details.
27 package org.tsho.dmc2.core;
29 import org.jfree.data.Range;
30 import org.tsho.dmc2.core.model.ModelException;
33 // TODO this contains the kludges and is deprecated
34 public interface MapStepper extends Stepper {
36 interface Range2D {
37 Range getHRange();
38 Range getVRange();
41 /**
42 * This is the kludge used by coweb
43 * @param value
45 void setXVariable(double value);
47 /**
48 * Does not need start and does not modify the current and
49 * last points. Loops from the current point
50 * and reports the ranges obtained.
51 * Currently you have no way to know if it has been stopped
52 * by stop().
54 * @param iterations
55 * @return (minX, maxX, minY, maxY)
57 Range2D calculateBounds(int iterations)
58 throws ModelException;
60 /**
61 * Stops any calculus being done (applies to calculateBounds only)
63 void stop();
65 /**
66 * Return the projection on the requested axes of the result
67 * of the last iteration. This is an handle: you only need to
68 * get its reference once.
70 Point2D getCurrent2DPoint();