Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
sf::ScanBinder Class Referenceabstract

Abstract base class for implementing scan binders. More...

#include <ScanBinder.h>

Inheritance diagram for sf::ScanBinder:
Collaboration diagram for sf::ScanBinder:

Classes

struct  InfoBase
 Structure used a base class for derived binder classes to store scan dependant information. More...
 
struct  Parameters
 Mandatory structure for initialization of derive class. More...
 

Public Types

enum  EState {
  sbsCFG_ERR = -2 , sbsERROR = -1 , sbsNO_INIT = 0 , sbsABORTED ,
  sbsREADY , sbsWAITING , sbsSUSPENDED , sbsACTIVE ,
  sbsCHECKING , sbsSCANNING , sbsEVALUATING
}
 Enumeration of states of a scan binder. More...
 
- Public Types inherited from sf::ScriptObject
enum  EIdentifier {
  idUnknown = 0 , idConstant , idVariable , idFunction ,
  idTypedef , idKeyword
}
 Keyword identifiers. More...
 
typedef std::string::size_type pos_type
 Source position type.
 
typedef ssize_t ip_type
 Instruction pointer type.
 

Public Member Functions

 ScanBinder (const Parameters &parameters)
 Constructor for passing general structure for derived classes for the class factory.
 
 ~ScanBinder () override
 Virtual overridden destructor.
 
void storeConfig (bool rd)
 Reads and writes system configuration data.
 
ConfigStoregetConfigStore ()
 Gets configuration store instance for reading and write the state of a derived class.
 
virtual void addPropertyPages (PropertySheetDialog *sheet)
 Adds the scan binder property pages of the base class. May be overridden by derived class.
 
void createScanEntry (ScanEntry *se)
 Called by the project to make the binder create the additional information.
 
void destroyScanEntry (const ScanEntry *se)
 Called by the project to make the binder delete the additional information.
 
void doAddPropertyPages (PropertySheetDialog *sheet, bool scan)
 Adds property pages for derived classes by calling virtual method AddPropertyPages. When scan is true it gets the property pages which are scan related when false it gets the project selected property pages.
 
QWidget * doGetFrame ()
 Creates a scan binder frame if possible.
 
void doReadProfile (IniProfile &inifile)
 Reads the settings from the passed inifile.
 
void doWriteProfile (IniProfile &inifile)
 Writes the settings to the passed inifile.
 
bool doPreInitialize ()
 Do some initialization which must be done before scan initializations.
 
bool doInitialize ()
 Initializes the scan method. Is each time a project changes.
 
void doSustain (const timespec &ts)
 Called from the project and rooted to the virtual Sustain function.
 
void doClear ()
 Clears any settings of the scan binder to their initial state.
 
bool doSuspend (bool immediate)
 Suspends action at a convenient position or immediate.
 
bool doResume ()
 Resumes a suspended action.
 
bool doStop ()
 Stops activity immediately.
 
bool doAbort ()
 Abort immediately stop all movement.
 
bool doMoveTo (int scan, int index=-1, double frac=0.0, bool perp=false)
 Moves the manipulator to a specific position of the scan area.
 
bool doMoveToQuery (int scan)
 Queries for a surface position of the user.
 
bool doMoveToSysPos (ESystemPosition sp)
 Moves to one of the system positions.
 
bool doCheck (int scan)
 Starts position checking mode and a scan method in checking mode. This means the angle on the surface is always zero degree to get a better signal from the surface.
 
bool doStartScan (int scan)
 Starts scan movements and a scan method for data recording.
 
bool doEvaluate (int scan)
 Start in evaluation mode and a scan method in evaluation mode. This means the angle on the surface is the same as when evaluating but movements are initiated by the DoMoveTo function.
 
bool doActivate (int scan)
 Activates possible added links and parameters in a derived instance.
 
bool doRotate (int scan, int index=-1)
 Starts rotating the scan axis if one is available for rotation. It uses the scan rotation speed at the passed index or when index is -1 it uses the last index position.
 
bool canRotate (int scan) const
 Checks if the passed scan-index is able to rotate regardless the current state.
 
bool isRotating () const
 Checks if the rotating is active.
 
int doGetIndex () const
 Gets the current scanning index. This is mainly for displaying progress purposes.
 
Vector3D doGetOffset () const
 Gets the sum of offsets generated by the derived scan binder. When not, this method returns the same value as the fixture offset.
 
std::string_view getStateName () const
 Gets the current state name.
 
EState getState () const
 Gets the state of the instance.
 
const gmi::AxesCoordgetVelocity () const
 Gets the velocity used to manipulate.
 
const gmi::AxesCoordgetAcceleration () const
 Gets the acceleration used to manipulate.
 
const gmi::AxesCoordgetParkPosition () const
 Gets the project park position.
 
const gmi::AxesCoordgetToolPosition () const
 Gets the project park position.
 
const Vector3D & getFixtureOffset () const
 Gets the fixture offset for the project applied on each scan.
 
const VariablegetMediumVelocity () const
 Gets the medium sound velocity variable.
 
int getActiveScanIndex () const
 Gets the active scan index when the state is active or higher an -1 when not active.
 
double getScanProgress () const
 Gets the scan progress when scanning otherwise it returns -1.
 
bool canAllocateController () const
 Gets true if the controller can be allocated.
 
bool isControllerAllocated () const
 Gets true is the controller is allocated.
 
bool allocateController (bool alloc)
 Allocates or frees the controller for this project.
 
gmi::ControllergetController ()
 Gets the allocated controller for this project if not allocated it throws an exception and should be regarded as a design error.
 
const gmi::ControllergetController () const
 
void setAcqPopManual (RsaTypes::EPopManual pop_manual)
 Sets the pop to manual state on the acquisition device.
 
bool isAcqPopManualReady () const
 Gets true if the pop manual process is completed.
 
void setProgVelocityEnable (bool enabled)
 Enables or disables programming velocity.
 
bool isProgVelocityEnable () const
 Checks is programming velocity is enabled.
 
const Variable::PtrVectorgetVars () const
 Gets the local variables of the scan binder.
 
- Public Member Functions inherited from sf::ProjectScriptObject
 ProjectScriptObject (const char *type_name)
 Constructor.
 
 ~ProjectScriptObject () override
 Virtual overridden destructor.
 
void AddScriptParam (const std::string &name, Variable *variable)
 Adds the passed variable as a parameter in the script.
 
- Public Member Functions inherited from sf::ScriptObject
 ScriptObject (const char *type_name, ScriptObject *parent=nullptr)
 
virtual ~ScriptObject ()=default
 Virtual destructor which can be overridden to clean up objects.
 
virtual std::string getStatusText ()
 Gets the status text of this object for debugging purposes.
 
int getRefCount () const
 Gets the reference count.
 
 operator Value () const
 Cast operator to be able to return this instance as a Value.
 
std::string getTypeName () const
 Returns the type name Set at the constructor.
 
ScriptObjectgetParent ()
 Gets the script object owner.
 
const ScriptObjectgetParent () const
 Gets the script object owner.
 
ScriptObjectcastToObject (const Value &value)
 Casts a sf::Value::vitCustom typed sf::Value to a ScriptObject typed pointer.
 

Static Public Member Functions

static std::string_view getStateName (EState state)
 Gets the state name string.
 
- Static Public Member Functions inherited from sf::ScriptObject
static const IdInfogetInfoUnknown ()
 Returns the static Info structure for unknowns.
 

Protected Member Functions

bool getScanPos (gmi::AxesCoord &pos, int scan, int index, double frac, bool perp) const
 Gets the scan position at the passed scan index.
 
int getScanIndex ()
 Gets the current project active scan index.
 
ScanMethodgetScan (int scan) const
 Gets the scan method of the project.
 
bool setState (EState state)
 Sets the state of the binder.
 
InfoBasegetScanInfoBase (int scan)
 Gets the scan base information of the passed project scan list index.
 
const InfoBasegetScanInfoBase (int scan) const
 Gets the const scan base information of the passed project scan list index.
 
InfoBasegetScanInfoBase (const ScanMethod *sm)
 Gets the scan information of the passed scan method pointer.
 
const InfoBasegetScanInfoBase (const ScanMethod *sm) const
 Gets the const scan information of the passed scan method pointer.
 
virtual InfoBasecreateScanInfo ()=0
 Must be overridden in a derived class.
 
virtual void stateChange (EState prev, EState cur)=0
 Abstract method which is called when the current state changes.
 
virtual void addPropertyPages (PropertySheetDialog *sheet, bool scan)=0
 Abstract method which adds property pages to the passed sheet. See DoAddPropertyPages.
 
virtual void readProfile (IniProfile &inifile)=0
 Abstract method which reads the settings from the passed inifile.
 
virtual void writeProfile (IniProfile &inifile)=0
 Abstract method which writes the settings to the passed inifile.
 
virtual int getIndex ()=0
 Abstract method which gets the current scanned index.
 
virtual void clear ()=0
 Abstract method which clears the settings of the derived instance initial state.
 
virtual void sustain (const timespec &ts)=0
 Abstract method which is called regularly to do background processing.
 
virtual bool initialize ()=0
 Abstract method which initializes the instance for action.
 
virtual bool suspend (bool immediate)=0
 Abstract method which suspends action.
 
virtual bool resume ()=0
 Abstract method which resumes a suspended action.
 
virtual bool stop ()=0
 Abstract method which stops activity immediately.
 
virtual bool abort ()=0
 Abstract method which aborts and immediately stop all movement.
 
virtual bool moveTo (int scan, int index, double frac, bool perp)=0
 Abstract method which moves the controller to the location on the surface of a scan area.
 
virtual bool check (int scan)=0
 Abstract method which checks the scan binder.
 
virtual bool startScan (int scan)=0
 Abstract method which starts scan movements and a scan method for acquisition.
 
virtual bool evaluate (int scan)=0
 Abstract method which starts evaluation on the passed scan.
 
virtual bool activate (int scan)=0
 Abstract method which activates the parameters or links for the passed scan on the derived class.
 
virtual bool rotate (int scan, int index)=0
 Abstract method which starts rotation on the passed scan and index position for velocity calculations.
 
virtual QWidget * GetFrame ()=0
 Abstract method which gets the scan binder control widget.
 
virtual Vector3D getOffset () const
 Gets the sum of offsets generated by a derived class if overridden.
 
virtual bool getGenericInfoList (StringList &)=0
 Abstract method which retrieves the list of linked variables or results. The name contains the description and the object the GII object pointer.
 
ProjectDatagetProjectData ()
 Gets the project data pointer.
 
const IdInfogetInfo (const std::string &name) const override
 Overridden from base class.
 
bool getSetValue (const IdInfo *info, Value *value, Value::vector_type *params, bool flag_set) override
 Overridden from base class.
 
virtual void doStoreConfig (IniEnvelope &ini, bool rd)
 Abstract method which can be overridden to read and write additional configuration settings.
 
- Protected Member Functions inherited from sf::ProjectScriptObject
void destroyObject (bool &should_delete) override
 Overridden from base class.
 
- Protected Member Functions inherited from sf::ScriptObject
void makeParent (ScriptObject *so)
 Makes this object the owner of the other object.
 
void setParent (ScriptObject *parent)
 Sets the owner to the pass script object.
 

Detailed Description

Abstract base class for implementing scan binders.

Member Enumeration Documentation

◆ EState

Enumeration of states of a scan binder.

Enumerator
sbsCFG_ERR 

Binder a configuration error.

sbsERROR 

Execution resulted in an error.

sbsNO_INIT 

Binder has not been initialized.

sbsABORTED 

Binder movement was aborted abruptly.

sbsREADY 

Waiting for activation by a command and the controller is freed.

sbsWAITING 

Waiting to execute.

sbsSUSPENDED 

Execution of the current task is suspended.

sbsACTIVE 

Binder is active and the controller is allocated.

sbsCHECKING 

Binder is active and the controller is allocated.

sbsSCANNING 

Binder is active and scanning.

sbsEVALUATING 

Binder is active and evaluating.

Constructor & Destructor Documentation

◆ ScanBinder()

sf::ScanBinder::ScanBinder ( const Parameters parameters)
explicit

Constructor for passing general structure for derived classes for the class factory.

Parameters
parameters

◆ ~ScanBinder()

sf::ScanBinder::~ScanBinder ( )
override

Virtual overridden destructor.

Member Function Documentation

◆ abort()

virtual bool sf::ScanBinder::abort ( )
protectedpure virtual

Abstract method which aborts and immediately stop all movement.

Returns
True when successful.

Implemented in sf::DefaultScanBinder.

◆ activate()

virtual bool sf::ScanBinder::activate ( int  scan)
protectedpure virtual

Abstract method which activates the parameters or links for the passed scan on the derived class.

Parameters
scanScan index to activate.
Returns
True on succes.

Implemented in sf::DefaultScanBinder.

◆ addPropertyPages() [1/2]

virtual void sf::ScanBinder::addPropertyPages ( PropertySheetDialog sheet)
virtual

Adds the scan binder property pages of the base class. May be overridden by derived class.

Reimplemented in sf::DefaultScanBinder.

◆ addPropertyPages() [2/2]

virtual void sf::ScanBinder::addPropertyPages ( PropertySheetDialog sheet,
bool  scan 
)
protectedpure virtual

Abstract method which adds property pages to the passed sheet. See DoAddPropertyPages.

Parameters
sheetThe property sheet to add them too.
scanTrue for scan specific pages.

Implemented in sf::DefaultScanBinder.

◆ allocateController()

bool sf::ScanBinder::allocateController ( bool  alloc)

Allocates or frees the controller for this project.

◆ canAllocateController()

bool sf::ScanBinder::canAllocateController ( ) const

Gets true if the controller can be allocated.

◆ canRotate()

bool sf::ScanBinder::canRotate ( int  scan) const

Checks if the passed scan-index is able to rotate regardless the current state.

◆ check()

virtual bool sf::ScanBinder::check ( int  scan)
protectedpure virtual

Abstract method which checks the scan binder.

Parameters
scanScan index to check.
Returns
True on succes.

Implemented in sf::DefaultScanBinder.

◆ clear()

virtual void sf::ScanBinder::clear ( )
protectedpure virtual

Abstract method which clears the settings of the derived instance initial state.

Implemented in sf::DefaultScanBinder.

◆ createScanEntry()

void sf::ScanBinder::createScanEntry ( ScanEntry se)

Called by the project to make the binder create the additional information.

Parameters
seScan entry added.

◆ createScanInfo()

virtual InfoBase * sf::ScanBinder::createScanInfo ( )
protectedpure virtual

Must be overridden in a derived class.

Returns
InfoBase or derived structure.

Implemented in sf::DefaultScanBinder.

◆ destroyScanEntry()

void sf::ScanBinder::destroyScanEntry ( const ScanEntry se)

Called by the project to make the binder delete the additional information.

Parameters
seScan entry removed.

◆ doAbort()

bool sf::ScanBinder::doAbort ( )

Abort immediately stop all movement.

◆ doActivate()

bool sf::ScanBinder::doActivate ( int  scan)

Activates possible added links and parameters in a derived instance.

◆ doAddPropertyPages()

void sf::ScanBinder::doAddPropertyPages ( PropertySheetDialog sheet,
bool  scan 
)

Adds property pages for derived classes by calling virtual method AddPropertyPages. When scan is true it gets the property pages which are scan related when false it gets the project selected property pages.

Parameters
sheet
scan

◆ doCheck()

bool sf::ScanBinder::doCheck ( int  scan)

Starts position checking mode and a scan method in checking mode. This means the angle on the surface is always zero degree to get a better signal from the surface.

◆ doClear()

void sf::ScanBinder::doClear ( )

Clears any settings of the scan binder to their initial state.

◆ doEvaluate()

bool sf::ScanBinder::doEvaluate ( int  scan)

Start in evaluation mode and a scan method in evaluation mode. This means the angle on the surface is the same as when evaluating but movements are initiated by the DoMoveTo function.

◆ doGetFrame()

QWidget * sf::ScanBinder::doGetFrame ( )

Creates a scan binder frame if possible.

◆ doGetIndex()

int sf::ScanBinder::doGetIndex ( ) const

Gets the current scanning index. This is mainly for displaying progress purposes.

Returns

◆ doGetOffset()

Vector3D sf::ScanBinder::doGetOffset ( ) const

Gets the sum of offsets generated by the derived scan binder. When not, this method returns the same value as the fixture offset.

◆ doInitialize()

bool sf::ScanBinder::doInitialize ( )

Initializes the scan method. Is each time a project changes.

◆ doMoveTo()

bool sf::ScanBinder::doMoveTo ( int  scan,
int  index = -1,
double  frac = 0.0,
bool  perp = false 
)

Moves the manipulator to a specific position of the scan area.

◆ doMoveToQuery()

bool sf::ScanBinder::doMoveToQuery ( int  scan)

Queries for a surface position of the user.

◆ doMoveToSysPos()

bool sf::ScanBinder::doMoveToSysPos ( ESystemPosition  sp)

Moves to one of the system positions.

◆ doPreInitialize()

bool sf::ScanBinder::doPreInitialize ( )

Do some initialization which must be done before scan initializations.

◆ doReadProfile()

void sf::ScanBinder::doReadProfile ( IniProfile inifile)

Reads the settings from the passed inifile.

◆ doResume()

bool sf::ScanBinder::doResume ( )

Resumes a suspended action.

◆ doRotate()

bool sf::ScanBinder::doRotate ( int  scan,
int  index = -1 
)

Starts rotating the scan axis if one is available for rotation. It uses the scan rotation speed at the passed index or when index is -1 it uses the last index position.

Parameters
scanScan list-index and when scan is -1 the rotation stops.
indexStep index of the scan area.
Returns
True when successful to start rotating.

◆ doStartScan()

bool sf::ScanBinder::doStartScan ( int  scan)

Starts scan movements and a scan method for data recording.

◆ doStop()

bool sf::ScanBinder::doStop ( )

Stops activity immediately.

◆ doStoreConfig()

virtual void sf::ScanBinder::doStoreConfig ( IniEnvelope ini,
bool  rd 
)
inlineprotectedvirtual

Abstract method which can be overridden to read and write additional configuration settings.

Reimplemented in sf::DefaultScanBinder.

◆ doSuspend()

bool sf::ScanBinder::doSuspend ( bool  immediate)

Suspends action at a convenient position or immediate.

◆ doSustain()

void sf::ScanBinder::doSustain ( const timespec &  ts)

Called from the project and rooted to the virtual Sustain function.

◆ doWriteProfile()

void sf::ScanBinder::doWriteProfile ( IniProfile inifile)

Writes the settings to the passed inifile.

◆ evaluate()

virtual bool sf::ScanBinder::evaluate ( int  scan)
protectedpure virtual

Abstract method which starts evaluation on the passed scan.

Parameters
scanScan index to start evaluating.
Returns
True on succes.

Implemented in sf::DefaultScanBinder.

◆ getAcceleration()

const gmi::AxesCoord & sf::ScanBinder::getAcceleration ( ) const

Gets the acceleration used to manipulate.

◆ getActiveScanIndex()

int sf::ScanBinder::getActiveScanIndex ( ) const

Gets the active scan index when the state is active or higher an -1 when not active.

◆ getConfigStore()

ConfigStore & sf::ScanBinder::getConfigStore ( )

Gets configuration store instance for reading and write the state of a derived class.

◆ getController() [1/2]

gmi::Controller * sf::ScanBinder::getController ( )

Gets the allocated controller for this project if not allocated it throws an exception and should be regarded as a design error.

◆ getController() [2/2]

const gmi::Controller * sf::ScanBinder::getController ( ) const

◆ getFixtureOffset()

const Vector3D & sf::ScanBinder::getFixtureOffset ( ) const

Gets the fixture offset for the project applied on each scan.

◆ GetFrame()

virtual QWidget * sf::ScanBinder::GetFrame ( )
protectedpure virtual

Abstract method which gets the scan binder control widget.

Implemented in sf::DefaultScanBinder.

◆ getGenericInfoList()

virtual bool sf::ScanBinder::getGenericInfoList ( StringList )
protectedpure virtual

Abstract method which retrieves the list of linked variables or results. The name contains the description and the object the GII object pointer.

Returns
True on success.

Implemented in sf::DefaultScanBinder.

◆ getIndex()

virtual int sf::ScanBinder::getIndex ( )
protectedpure virtual

Abstract method which gets the current scanned index.

Implemented in sf::DefaultScanBinder.

◆ getInfo()

const IdInfo * sf::ScanBinder::getInfo ( const std::string &  name) const
overrideprotectedvirtual

Overridden from base class.

Reimplemented from sf::ProjectScriptObject.

◆ getMediumVelocity()

const Variable & sf::ScanBinder::getMediumVelocity ( ) const

Gets the medium sound velocity variable.

◆ getOffset()

virtual Vector3D sf::ScanBinder::getOffset ( ) const
protectedvirtual

Gets the sum of offsets generated by a derived class if overridden.

Reimplemented in sf::DefaultScanBinder.

◆ getParkPosition()

const gmi::AxesCoord & sf::ScanBinder::getParkPosition ( ) const

Gets the project park position.

◆ getProjectData()

ProjectData * sf::ScanBinder::getProjectData ( )
protected

Gets the project data pointer.

◆ getScan()

ScanMethod * sf::ScanBinder::getScan ( int  scan) const
protected

Gets the scan method of the project.

Parameters
scanIndex into the project scan list.
Returns
The scan method pointer.

◆ getScanIndex()

int sf::ScanBinder::getScanIndex ( )
protected

Gets the current project active scan index.

Returns
-1 if not active.

◆ getScanInfoBase() [1/4]

InfoBase * sf::ScanBinder::getScanInfoBase ( const ScanMethod sm)
protected

Gets the scan information of the passed scan method pointer.

Parameters
smScan method pointer.
Returns
Data pointer.

◆ getScanInfoBase() [2/4]

const InfoBase * sf::ScanBinder::getScanInfoBase ( const ScanMethod sm) const
protected

Gets the const scan information of the passed scan method pointer.

Parameters
smScan method pointer.
Returns
Data pointer.

◆ getScanInfoBase() [3/4]

InfoBase * sf::ScanBinder::getScanInfoBase ( int  scan)
protected

Gets the scan base information of the passed project scan list index.

Parameters
scanIndex of the scan area list.
Returns
Data pointer.

◆ getScanInfoBase() [4/4]

const InfoBase * sf::ScanBinder::getScanInfoBase ( int  scan) const
protected

Gets the const scan base information of the passed project scan list index.

Parameters
scanIndex of the scan area list.
Returns
Data pointer.

◆ getScanPos()

bool sf::ScanBinder::getScanPos ( gmi::AxesCoord pos,
int  scan,
int  index,
double  frac,
bool  perp 
) const
protected

Gets the scan position at the passed scan index.

Parameters
posReturned axes coordinated.
scanScan list index.
indexMeasurement index.
fracScan line fraction.
perpWhen true the perpendicular position if possible is returned.
Returns
True on success.

◆ getScanProgress()

double sf::ScanBinder::getScanProgress ( ) const

Gets the scan progress when scanning otherwise it returns -1.

◆ getSetValue()

bool sf::ScanBinder::getSetValue ( const IdInfo info,
Value value,
Value::vector_type params,
bool  flag_set 
)
overrideprotectedvirtual

Overridden from base class.

Reimplemented from sf::ProjectScriptObject.

◆ getState()

EState sf::ScanBinder::getState ( ) const

Gets the state of the instance.

◆ getStateName() [1/2]

std::string_view sf::ScanBinder::getStateName ( ) const

Gets the current state name.

◆ getStateName() [2/2]

static std::string_view sf::ScanBinder::getStateName ( EState  state)
static

Gets the state name string.

◆ getToolPosition()

const gmi::AxesCoord & sf::ScanBinder::getToolPosition ( ) const

Gets the project park position.

◆ getVars()

const Variable::PtrVector & sf::ScanBinder::getVars ( ) const

Gets the local variables of the scan binder.

◆ getVelocity()

const gmi::AxesCoord & sf::ScanBinder::getVelocity ( ) const

Gets the velocity used to manipulate.

◆ initialize()

virtual bool sf::ScanBinder::initialize ( )
protectedpure virtual

Abstract method which initializes the instance for action.

Returns
True on success.

Implemented in sf::DefaultScanBinder.

◆ isAcqPopManualReady()

bool sf::ScanBinder::isAcqPopManualReady ( ) const

Gets true if the pop manual process is completed.

◆ isControllerAllocated()

bool sf::ScanBinder::isControllerAllocated ( ) const

Gets true is the controller is allocated.

◆ isProgVelocityEnable()

bool sf::ScanBinder::isProgVelocityEnable ( ) const

Checks is programming velocity is enabled.

◆ isRotating()

bool sf::ScanBinder::isRotating ( ) const

Checks if the rotating is active.

Returns
True when rotating.

◆ moveTo()

virtual bool sf::ScanBinder::moveTo ( int  scan,
int  index,
double  frac,
bool  perp 
)
protectedpure virtual

Abstract method which moves the controller to the location on the surface of a scan area.

Parameters
scanTargeted scan area by list index.
indexTargeted measurement index of the scanned area.
fracTargeted measurement fraction of the scanned area.
perpIgnore the angle and move perpendicular to the surface. When scan is negative the index is considered to be a system position. When scan has a valid value and index is negative the part is approached. When frac is negative an input query is started for a surface position.
Returns
True on succes to start moving.

Implemented in sf::DefaultScanBinder.

◆ readProfile()

virtual void sf::ScanBinder::readProfile ( IniProfile inifile)
protectedpure virtual

Abstract method which reads the settings from the passed inifile.

Parameters
inifile

Implemented in sf::DefaultScanBinder.

◆ resume()

virtual bool sf::ScanBinder::resume ( )
protectedpure virtual

Abstract method which resumes a suspended action.

Returns
True when successful.

Implemented in sf::DefaultScanBinder.

◆ rotate()

virtual bool sf::ScanBinder::rotate ( int  scan,
int  index 
)
protectedpure virtual

Abstract method which starts rotation on the passed scan and index position for velocity calculations.

Parameters
scanScan list index.
indexScan index speed to use and when -1 the current or last index position or center index is to be used.
Returns
True on successful to start the controller to rotate.

Implemented in sf::DefaultScanBinder.

◆ setAcqPopManual()

void sf::ScanBinder::setAcqPopManual ( RsaTypes::EPopManual  pop_manual)

Sets the pop to manual state on the acquisition device.

◆ setProgVelocityEnable()

void sf::ScanBinder::setProgVelocityEnable ( bool  enabled)

Enables or disables programming velocity.

◆ setState()

bool sf::ScanBinder::setState ( EState  state)
protected

Sets the state of the binder.

Parameters
stateNew state.
Returns
True when the state was successfully set.

◆ startScan()

virtual bool sf::ScanBinder::startScan ( int  scan)
protectedpure virtual

Abstract method which starts scan movements and a scan method for acquisition.

Parameters
scanScan index to start scanning.
Returns
True on succes.

Implemented in sf::DefaultScanBinder.

◆ stateChange()

virtual void sf::ScanBinder::stateChange ( EState  prev,
EState  cur 
)
protectedpure virtual

Abstract method which is called when the current state changes.

Parameters
prevThe previous state.
curThe current state.

Implemented in sf::DefaultScanBinder.

◆ stop()

virtual bool sf::ScanBinder::stop ( )
protectedpure virtual

Abstract method which stops activity immediately.

Returns
True when successful.

Implemented in sf::DefaultScanBinder.

◆ storeConfig()

void sf::ScanBinder::storeConfig ( bool  rd)

Reads and writes system configuration data.

Parameters
rdTrue to read false to write.

◆ suspend()

virtual bool sf::ScanBinder::suspend ( bool  immediate)
protectedpure virtual

Abstract method which suspends action.

Parameters
immediateWhen true immediate and when false at a convenient position.
Returns
True when successful.

Implemented in sf::DefaultScanBinder.

◆ sustain()

virtual void sf::ScanBinder::sustain ( const timespec &  ts)
protectedpure virtual

Abstract method which is called regularly to do background processing.

Implemented in sf::DefaultScanBinder.

◆ writeProfile()

virtual void sf::ScanBinder::writeProfile ( IniProfile inifile)
protectedpure virtual

Abstract method which writes the settings to the passed inifile.

Parameters
inifile

Implemented in sf::DefaultScanBinder.


The documentation for this class was generated from the following file: