Package uk.ac.gda.api.scan
Interface IScanObject
- All Known Subinterfaces:
IExplicitScanObject,IImplicitScanObject
- All Known Implementing Classes:
ExplicitScanObject,ImplicitScanObject,ScanObject
public interface IScanObject
Interface for a ScanObject to reduce the incentive to split the gda.scan package across plugins just so you can get at the scannable member The ScanObject
abstract class this replaces has been moved back to the main gda.scan package in uk.ac.gda.core.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumThe type of scan object. -
Method Summary
Modifier and TypeMethodDescriptionChecks whether the points in this scan object are valid.intThe number of points this object can move its scannable to.TheScannablethat thisIScanObjectmoves.getType()booleanhasStart()booleanhasStop()moveStep()Move the scannable to its next positionMove the scannable to the start position
-
Method Details
-
getType
IScanObject.ScanObjectType getType() -
getScannable
Scannable getScannable()TheScannablethat thisIScanObjectmoves.- Returns:
- the scananble
-
hasStart
boolean hasStart()- Returns:
- true if the object has a defined start position
-
hasStop
boolean hasStop()- Returns:
- true if the object has a defined stop position (i.e. defines an entire scan)
-
moveToStart
Move the scannable to the start position- Throws:
Exception
-
moveStep
Move the scannable to its next position- Throws:
Exception
-
getNumberPoints
int getNumberPoints()The number of points this object can move its scannable to.- Returns:
- the size of the array of points
-
arePointsValid
Checks whether the points in this scan object are valid. Note that forIImplicitScanObjects,IImplicitScanObject.calculateScanPoints()must have been called first.- Returns:
nullif all points in the array of points are valid for the scannable, or the toString() of the point which is unacceptable- Throws:
DeviceException
-