Interface IPointGeneratorService

All Known Implementing Classes:
PointGeneratorService

public interface IPointGeneratorService
This service generates points for a given scan type.

Usage:

 IPointGeneratorService pservice  = ... // OSGi

 LissajousModel model = new LissajousModel();
  ... // Set values

 IPointGenerator generator = pservice.createGenerator(model);
 or
 IPointGenerator generator = pservice.createGenerator(model, [roi[s], [mutators, [durationAndDelay]]]);

 Unless specified, duration [of a point] takes its default value: -1 (variable)
 If not using a CompoundModel, these values take the default: all points are included, no mutator will be applied,
 point duration is variable.

 Upon the creation of a generator, its model is checked for validity and a Jython point generator is constructed. IPointGenerator
 are therefore immutable and due to the relative speed of Jython should be produced only when necessary.

 Iterator it = generator.iterator();
 ... // Use iterator in a scan.

 // Use size to tell user in GUI the whole size. Does not produce all points
 int size = generator.size();

 // Create and return all the points in memory (might be large). Avoid if possible
 List allPoints = generator.createPoints();