Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
sf::TDefaultScanBinder Class Reference

#include <DefaultScanBinder.h>

Inheritance diagram for sf::TDefaultScanBinder:
Collaboration diagram for sf::TDefaultScanBinder:

Classes

struct  TCheckPosition
 Structure to hold and compare check positions. More...
 
struct  TCheckPositions
 List of approach positions. More...
 
struct  TPosition
 Structure to hold and compare approach positions. More...
 
struct  TPositions
 List of approach positions. More...
 
struct  TScanInfo
 Holds the safe position of all scan area in the project. More...
 
struct  TScanning
 Structure holding all information during the scanning state. More...
 
class  TStagePosition
 Structure to stage position information. More...
 

Public Types

enum  EPositionSource : int {
  psNONE , psSET , psPARK , psSAFE ,
  psSCANSTART , psSCANSTOP , psSCANINDEX , psLASTENTRY
}
 Enumerating the position sources. More...
 
enum  EBinderStage : int { bsSYSTEM = 0 , bsAPPROACH , bsSTART , bsSCAN }
 Stages of operation of this scan binder. Order of these enumerates are important. More...
 
enum  EScanningStage : int {
  ssABORTED , ssSTART , ssSPINUP , ssTRACE ,
  ssRETRACE , ssFINISH , ssRETURN , ssREADY
}
 Stages for scanning. More...
 
enum  EMoveMode : int { mmVEL , mmCON , mmUNI , mmBI }
 
enum  EBalance : int { balDISABLED , balACTIVE , balWAIT }
 State set when balancing needs to be called after motion completes. More...
 
typedef TVector< TStagePositionTStagePositions
 Type of list of stage positions.
 
- Public Types inherited from sf::ScanBinder
enum  EState {
  sbsCFGERR = -2 , sbsERROR = -1 , sbsNOINIT = 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

 TDefaultScanBinder (const Parameters &parameters)
 Constructor for passing general structure for the class factory.
 
 ~TDefaultScanBinder () override
 Virtual destructor.
 
bool MoveToCheckPosition (int check_index)
 Mostly called by the binder frame to execute checks.
 
bool MoveToCheckPosition (const TCheckPosition &check_pos)
 Moves to the check position of the active scan by default.
 
bool MoveToCheckPosition (int scan, const TCheckPosition &, bool confirm)
 Moves to the check position of the given scan.
 
bool CanMoveToCheckPosition ()
 Checks if execution of MoveToCheckPosition() is possible.
 
const Vector3D & GetCheckOffset () const
 Gets the check offset for the part established during check positions.
 
bool SetCheckOffset (const Vector3D &chk_ofs)
 Applies a new check offset if in the range of allowed displacement otherwise it returns false.
 
bool CalcCheckOffset (Vector3D &vect) const
 Calculates the check offset made using the manipulator or acquisition instrument.
 
void ControllerEventHandler (gmi::Controller *ctrl, gmi::EControllerEvent event)
 Handler type for motion event handling.
 
void DoReadWriteConfig (IniEnvelope &ini, bool rd) override
 Overridden from base class.
 
InfoBaseNewScanInfo () override
 Overridden from base class.
 
void AddPropertyPages (PropertySheetDialog *sheet) override
 Overridden from base class.
 
void AddPropertyPages (PropertySheetDialog *sheet, bool scan) override
 Overridden from base class.
 
void ReadProfile (IniProfile &inifile) override
 Overridden from base class.
 
void WriteProfile (IniProfile &inifile) override
 Overridden from base class.
 
virtual void Sustain (const timespec &ts)
 Overridden from base class.
 
void StateChange (EState prev, EState cur) override
 Overridden from base class.
 
int GetIndex () override
 Overridden from base class.
 
void Clear () override
 Clears the settings of the derived instance initial state.
 
bool Initialize () override
 Initializes the instance for action.
 
bool Suspend (bool immediate) override
 Suspends action at a convenient position.
 
bool Resume () override
 Resumes a suspended action.
 
bool Stop () override
 Overridden from base class.
 
bool Abort () override
 Overridden from base class.
 
bool MoveTo (int scan, int index, double frac, bool rect) override
 Overridden from base class.
 
bool Check (int scan) override
 Overridden from base class.
 
bool Scan (int scan) override
 Overridden from base class.
 
bool Evaluate (int scan) override
 Overridden from base class.
 
bool Activate (int scan) override
 Overridden from base class.
 
bool Rotate (int scan, int index) override
 Overridden from base class.
 
QWidget * GetFrame () override
 Overridden from base class.
 
Vector3D GetOffset () const override
 Overridden from base class.
 
bool GetGenericInfoList (StringList &) override
 Overridden from base class.
 
const IdInfogetInfo (const std::string &name) const override
 Overridden from base class.
 
virtual bool GetSetValue (const IdInfo *info, Value *value, Value::vector_type *params, bool flag_set)
 Overridden from base class.
 
bool MoveTo (int scan, int index, double frac, bool rect, bool chk)
 Same as the overloaded function allowing to skip the position check.
 
bool GetStagePos (gmi::AxesCoord &pos, const TStagePosition &stage_pos) const
 Gets the position for the given stage at given coordinate reference.
 
bool CheckPos (const gmi::AxesCoord &pos) const
 Checks if the given position is equals the current position.
 
bool CheckStagePos (const TStagePosition &stage_pos) const
 Checks if the current controller position is equals the stage position.
 
bool MoveToStage (const TStagePosition &stage_pos)
 Moves the given stage_pos.
 
void SetCurStage (const TStagePosition &stage_pos)
 Sets a new stage.
 
bool GetNextStep (TStagePosition &next, const TStagePosition &sp1, const TStagePosition &sp2, TStagePositions &traject)
 Calculate the atomic next step to move from point 1 to point 2.
 
bool AddCalculatedTraject (TStagePositions &traject, const TStagePosition &from, const TStagePosition &to)
 Calculates the trajectory of move steps to approach a certain position.
 
int GetCommonApproachCount (int scan1, int scan2)
 Gets the common amount of approach stages between the passed two scans.
 
TScanInfoGetScanInfo (int scan)
 Gets the cast scan info structure of the base class.
 
const TScanInfoGetScanInfo (int scan) const
 Gets the constant cast scan info structure of the base class.
 
bool SetTrigger (int scan)
 Sets the trigger to frequency or density according the axis value.
 
bool SetScanAxes (bool)
 Sets the axes according to the active scan mode.
 
bool GetScanPos (gmi::AxesCoord &pos, int index, bool begin)
 Gets the scan index position.
 
bool ScanMoveTo (int index, bool begin, bool trace)
 Starts movement to the passed scan index.
 
bool CheckScanPos (int index, bool begin)
 Checks if the position has been reached.
 
void handleVariableEventImport (Variable::EEvent event, const Variable &caller, Variable &link, bool same_inst)
 Event handler for imported variables.
 
bool QueryCheckPosition (TCheckPosition &check_pos)
 Reads a check position from user input.
 
- Public Member Functions inherited from sf::ScanBinder
 ScanBinder (const Parameters &parameters)
 Constructor for passing general structure for derived classes for the class factory.
 
 ~ScanBinder () override
 Virtual overridden destructor.
 
void ReadWriteConfig (bool rd)
 Reads and writes system configuration data.
 
ConfigStoregetConfigStore ()
 Gets configuration store instance for reading and write the state of a derived class.
 
void NewScanEntry (ScanEntry *se)
 Called by the project to make the binder create the additional information.
 
void DeleteScanEntry (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 ()
 
void DoReadProfile (IniProfile &inifile)
 
void DoWriteProfile (IniProfile &inifile)
 
bool DoPreInitialize ()
 
bool DoInitialize ()
 
void DoSustain (timespec clk)
 
void DoClear ()
 
bool DoSuspend (bool immediate)
 
bool DoResume ()
 
bool DoStop ()
 
bool DoAbort ()
 
bool DoMoveTo (int scan, int index=-1, double frac=0.0, bool rect=false)
 
bool DoMoveToQuery (int scan)
 
bool DoMoveToSysPos (ESystemPosition sp)
 
bool DoCheck (int scan)
 
bool DoScan (int scan)
 
bool DoEvaluate (int scan)
 
bool DoActivate (int scan)
 
bool DoRotate (int scan, int index=-1)
 
bool CanRotate (int scan) const
 
bool IsRotating () const
 
int DoGetIndex () const
 
Vector3D DoGetOffset () const
 
const char * GetStateName () const
 
EState GetState () const
 
const gmi::AxesCoordGetVelocity () const
 
const gmi::AxesCoordGetAcceleration () const
 
const gmi::AxesCoordGetParkPosition () const
 
const gmi::AxesCoordGetToolPosition () const
 
const Vector3D & GetFixtureOffset () const
 
const VariableGetMediumVelocity () const
 
int GetActiveScanIndex () const
 
double GetScanProgress () const
 
bool CanAllocateController () const
 
bool IsControllerAllocated () const
 
bool AllocateController (bool alloc)
 
gmi::ControllerGetController ()
 
const gmi::ControllerGetController () const
 
void SetAcqPopManual (RsaTypes::EPopManual pop_manual)
 
bool IsAcqPopManualReady () const
 
void SetProgVelocityEnable (bool enabled)
 
bool GetProgVelocityEnable () const
 
const Variable::PtrVectorGetVars () const
 
- 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 overloaded 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 GetSourceName (int value)
 Gets the name of the given enumerate value.
 
static EPositionSource GetSourceValue (const std::string &name)
 Gets enumerate value.
 
static std::string GetStageName (int stage)
 Gets the name of the given stage.
 
- Static Public Member Functions inherited from sf::ScanBinder
static const char * GetStateName (EState state)
 
- Static Public Member Functions inherited from sf::ScriptObject
static const IdInfogetInfoUnknown ()
 Returns the static Info structure for unknowns.
 

Public Attributes

const TStagePosition FCur
 Holds the current stage position when the scan binder is active.
 
TStagePosition FMove
 Holds the step movement position when moving.
 
TStagePosition FTarget
 Holds the targeted stage position information.
 
TStagePosition FResume
 Holds the coordinates where the controller was heading for.
 
ListenerList _listenerList
 Holds the listeners for this instance to auto removed at destruction.
 
TStagePositions FTraject
 Holds the current trajectory of movements of the applied command.
 
int FTrajectIndex
 Holds the current traject index. Movement is enabled when set other than -1.
 
TPositions FPositions
 Holds the list of position.
 
EState FAfterStopState
 State to set when motion stops.
 
EState FResumeState
 State to set when motion stops.
 
gmi::AxesCoord FStopCoord
 Holds the coordinates where the controller stopped.
 
DefaultBinderFrameFBinderFrame
 Holds the special binder frame when it is created.
 
struct sf::TDefaultScanBinder::TScanning FScanning
 
Vector3D FCheckOffset
 Holds the check offset for the project established during checking.
 
Variable::PtrVector FVarsImport
 Holds the imported variable pointers for iterations.
 
TVariableHandler< TDefaultScanBinder_handlerVariableEventImport {this, &TDefaultScanBinder::handleVariableEventImport}
 Variable handler callback hook.
 
Variable VBalance
 For switching on balance and to detect when it is ready when it is reset.
 
Variable VBidirectional
 To signal bidirectional was switched on.
 
Variable VScanGainActive
 To signal scan gain must be active.
 
EBalance FBalanceState
 Holds the balance state.
 
bool FCheckMoveConfirm
 When enabled each position move wil be asked for7 confirmation.
 
bool FClearCheckOffset
 When enabled a change in scan index will clear the offset.
 
int FCheckOffsetScanIndex
 Holds the scan index used for the last check offset.
 
TCheckPosition FManualPosition
 Holds the last manual entered check position.
 
friend TScanning
 

Static Public Attributes

static constexpr int MAX_POSITIONS {30}
 Maximum amount of positions.
 

Protected Member Functions

void Sustain (timespec) override
 Overridden from base class.
 
- Protected Member Functions inherited from sf::ScanBinder
bool GetScanPos (gmi::AxesCoord &pos, int scan, int index, double frac, bool rect) const
 Gets the scan position at the passed scan index.
 
int GetScanIndex ()
 Gets the current project active scan index and -1 one if not active.
 
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.
 
ProjectDataGetProjectData ()
 
bool getSetValue (const IdInfo *info, Value *value, Value::vector_type *params, bool flag_set) override
 Overridden from base class.
 
- 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.
 

Friends

class TStagePosition
 
class SelectCurrentPositionDialog
 
class DefaultBinderPropertyPage
 
class CheckPositionsPropertyPage
 
class DefaultBinderConfigPropertyPage
 
class BinderCommonPropertyPage
 
class DefaultBinderProjectPropertyPage
 

Member Typedef Documentation

◆ TStagePositions

Type of list of stage positions.

Member Enumeration Documentation

◆ EBalance

State set when balancing needs to be called after motion completes.

Enumerator
balDISABLED 

Balancing sequence is disabled.

balACTIVE 

Balancing needs to be triggered on motion position complete.

balWAIT 

Waiting for balance completion.

◆ EBinderStage

Stages of operation of this scan binder. Order of these enumerates are important.

Enumerator
bsSYSTEM 

Position is at system position.

bsAPPROACH 

Position is at approach position index.

bsSTART 

Position is at scan start.

bsSCAN 

Position is at specified scan index.

◆ EMoveMode

Enumerator
mmVEL 

Continuous move by the scan axis on unlimited axis and the other axis are used in velocity mode.

mmCON 

Continuous move by the scan axis on unlimited axis.

mmUNI 

Bidirectional move by the scan axis.

mmBI 

Bidirectional move by the scan axis.

◆ EPositionSource

Enumerating the position sources.

Enumerator
psNONE 

For reading from stream.

psSET 

Position set in the structure.

psPARK 

Park position.

psSAFE 

Scan method safe position.

psSCANSTART 

Scan method start position.

psSCANSTOP 

Scan method stop position.

psSCANINDEX 

Scan method index position.

psLASTENTRY 

Entry to enbale iteration.

◆ EScanningStage

Stages for scanning.

Enumerator
ssABORTED 

Scanning was aborted.

ssSTART 

Start of scanning.

ssSPINUP 

Continuous mode axis spin up. Uses the timer.

ssTRACE 

Tracing for data in uni- or bidirectional mode.

ssRETRACE 

Moving back in unidirectional mode.

ssFINISH 

Finishing scanning.

ssRETURN 

Return to position from continuous mode.

ssREADY 

Scanning has finished.

Constructor & Destructor Documentation

◆ TDefaultScanBinder()

sf::TDefaultScanBinder::TDefaultScanBinder ( const Parameters parameters)

Constructor for passing general structure for the class factory.

Parameters
parameters

◆ ~TDefaultScanBinder()

sf::TDefaultScanBinder::~TDefaultScanBinder ( )
override

Virtual destructor.

Member Function Documentation

◆ Abort()

bool sf::TDefaultScanBinder::Abort ( )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ Activate()

bool sf::TDefaultScanBinder::Activate ( int  scan)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ AddCalculatedTraject()

bool sf::TDefaultScanBinder::AddCalculatedTraject ( TStagePositions traject,
const TStagePosition from,
const TStagePosition to 
)

Calculates the trajectory of move steps to approach a certain position.

Parameters
traject
from
to
Returns

◆ AddPropertyPages() [1/2]

void sf::TDefaultScanBinder::AddPropertyPages ( PropertySheetDialog sheet)
overridevirtual

Overridden from base class.

Reimplemented from sf::ScanBinder.

◆ AddPropertyPages() [2/2]

void sf::TDefaultScanBinder::AddPropertyPages ( PropertySheetDialog sheet,
bool  scan 
)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ CalcCheckOffset()

bool sf::TDefaultScanBinder::CalcCheckOffset ( Vector3D &  vect) const

Calculates the check offset made using the manipulator or acquisition instrument.

Parameters
vect
Returns

◆ CanMoveToCheckPosition()

bool sf::TDefaultScanBinder::CanMoveToCheckPosition ( )

Checks if execution of MoveToCheckPosition() is possible.

Returns
True when possible

◆ Check()

bool sf::TDefaultScanBinder::Check ( int  scan)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ CheckPos()

bool sf::TDefaultScanBinder::CheckPos ( const gmi::AxesCoord pos) const

Checks if the given position is equals the current position.

Parameters
pos
Returns
True when equal.

◆ CheckScanPos()

bool sf::TDefaultScanBinder::CheckScanPos ( int  index,
bool  begin 
)

Checks if the position has been reached.

Parameters
indexIndex in the position list.
begin
Returns
True when positon is reached.

◆ CheckStagePos()

bool sf::TDefaultScanBinder::CheckStagePos ( const TStagePosition stage_pos) const

Checks if the current controller position is equals the stage position.

Parameters
stage_pos
Returns
True when equal.

◆ Clear()

void sf::TDefaultScanBinder::Clear ( )
overridevirtual

Clears the settings of the derived instance initial state.

Implements sf::ScanBinder.

◆ ControllerEventHandler()

void sf::TDefaultScanBinder::ControllerEventHandler ( gmi::Controller ctrl,
gmi::EControllerEvent  event 
)

Handler type for motion event handling.

Parameters
ctrl
event

◆ DoReadWriteConfig()

void sf::TDefaultScanBinder::DoReadWriteConfig ( IniEnvelope ini,
bool  rd 
)
overridevirtual

Overridden from base class.

Reimplemented from sf::ScanBinder.

◆ Evaluate()

bool sf::TDefaultScanBinder::Evaluate ( int  scan)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ GetCheckOffset()

const Vector3D & sf::TDefaultScanBinder::GetCheckOffset ( ) const
inline

Gets the check offset for the part established during check positions.

Returns
3D vector having the XYZ-offset.

◆ GetCommonApproachCount()

int sf::TDefaultScanBinder::GetCommonApproachCount ( int  scan1,
int  scan2 
)

Gets the common amount of approach stages between the passed two scans.

Parameters
scan1
scan2
Returns
On error the return value is -1.

◆ GetFrame()

QWidget * sf::TDefaultScanBinder::GetFrame ( )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ GetGenericInfoList()

bool sf::TDefaultScanBinder::GetGenericInfoList ( StringList )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ GetIndex()

int sf::TDefaultScanBinder::GetIndex ( )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ getInfo()

const IdInfo * sf::TDefaultScanBinder::getInfo ( const std::string &  name) const
overridevirtual

Overridden from base class.

Reimplemented from sf::ScanBinder.

◆ GetNextStep()

bool sf::TDefaultScanBinder::GetNextStep ( TStagePosition next,
const TStagePosition sp1,
const TStagePosition sp2,
TStagePositions traject 
)

Calculate the atomic next step to move from point 1 to point 2.

Parameters
next
sp1
sp2
traject
Returns

◆ GetOffset()

Vector3D sf::TDefaultScanBinder::GetOffset ( ) const
overridevirtual

Overridden from base class.

Reimplemented from sf::ScanBinder.

◆ GetScanInfo() [1/2]

TDefaultScanBinder::TScanInfo & sf::TDefaultScanBinder::GetScanInfo ( int  scan)
inline

Gets the cast scan info structure of the base class.

Parameters
scanIndex of scan in the project.
Returns
Scan information reference.

◆ GetScanInfo() [2/2]

const TDefaultScanBinder::TScanInfo & sf::TDefaultScanBinder::GetScanInfo ( int  scan) const
inline

Gets the constant cast scan info structure of the base class.

Parameters
scanIndex of scan in the project.
Returns
Scan information reference.

◆ GetScanPos()

bool sf::TDefaultScanBinder::GetScanPos ( gmi::AxesCoord pos,
int  index,
bool  begin 
)

Gets the scan index position.

Parameters
pos
index
begin
Returns
True on success.

◆ GetSetValue()

virtual bool sf::TDefaultScanBinder::GetSetValue ( const IdInfo info,
Value value,
Value::vector_type params,
bool  flag_set 
)
virtual

Overridden from base class.

◆ GetSourceName()

static std::string sf::TDefaultScanBinder::GetSourceName ( int  value)
static

Gets the name of the given enumerate value.

◆ GetSourceValue()

static EPositionSource sf::TDefaultScanBinder::GetSourceValue ( const std::string &  name)
static

Gets enumerate value.

Parameters
name
Returns

◆ GetStageName()

static std::string sf::TDefaultScanBinder::GetStageName ( int  stage)
static

Gets the name of the given stage.

◆ GetStagePos()

bool sf::TDefaultScanBinder::GetStagePos ( gmi::AxesCoord pos,
const TStagePosition stage_pos 
) const

Gets the position for the given stage at given coordinate reference.

Parameters
pos
stage_pos
Returns
True on succes of retrieving.

◆ handleVariableEventImport()

void sf::TDefaultScanBinder::handleVariableEventImport ( Variable::EEvent  event,
const Variable caller,
Variable link,
bool  same_inst 
)

Event handler for imported variables.

◆ Initialize()

bool sf::TDefaultScanBinder::Initialize ( )
overridevirtual

Initializes the instance for action.

Returns
True on success.

Implements sf::ScanBinder.

◆ MoveTo() [1/2]

bool sf::TDefaultScanBinder::MoveTo ( int  scan,
int  index,
double  frac,
bool  rect 
)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ MoveTo() [2/2]

bool sf::TDefaultScanBinder::MoveTo ( int  scan,
int  index,
double  frac,
bool  rect,
bool  chk 
)

Same as the overloaded function allowing to skip the position check.

Parameters
scan
index
frac
rect
chk
Returns
True on successful start.

◆ MoveToCheckPosition() [1/3]

bool sf::TDefaultScanBinder::MoveToCheckPosition ( const TCheckPosition check_pos)

Moves to the check position of the active scan by default.

Parameters
check_pos
Returns
True on success.

◆ MoveToCheckPosition() [2/3]

bool sf::TDefaultScanBinder::MoveToCheckPosition ( int  check_index)

Mostly called by the binder frame to execute checks.

Parameters
check_index
Returns
True on success.

◆ MoveToCheckPosition() [3/3]

bool sf::TDefaultScanBinder::MoveToCheckPosition ( int  scan,
const TCheckPosition ,
bool  confirm 
)

Moves to the check position of the given scan.

Parameters
scanIndex of the scan in the project.
confirmAsks for confirmation before the move.
Returns
True on success.

◆ MoveToStage()

bool sf::TDefaultScanBinder::MoveToStage ( const TStagePosition stage_pos)

Moves the given stage_pos.

Parameters
stage_pos
Returns
True on successfully starting the controller to move.

◆ NewScanInfo()

InfoBase * sf::TDefaultScanBinder::NewScanInfo ( )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ QueryCheckPosition()

bool sf::TDefaultScanBinder::QueryCheckPosition ( TCheckPosition check_pos)

Reads a check position from user input.

◆ ReadProfile()

void sf::TDefaultScanBinder::ReadProfile ( IniProfile inifile)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ Resume()

bool sf::TDefaultScanBinder::Resume ( )
overridevirtual

Resumes a suspended action.

Returns
True on success.

Implements sf::ScanBinder.

◆ Rotate()

bool sf::TDefaultScanBinder::Rotate ( int  scan,
int  index 
)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ Scan()

bool sf::TDefaultScanBinder::Scan ( int  scan)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ ScanMoveTo()

bool sf::TDefaultScanBinder::ScanMoveTo ( int  index,
bool  begin,
bool  trace 
)

Starts movement to the passed scan index.

Parameters
index
begin
trace
Returns
True when successful.

◆ SetCheckOffset()

bool sf::TDefaultScanBinder::SetCheckOffset ( const Vector3D &  chk_ofs)

Applies a new check offset if in the range of allowed displacement otherwise it returns false.

Parameters
chk_ofs
Returns
True on success.

◆ SetCurStage()

void sf::TDefaultScanBinder::SetCurStage ( const TStagePosition stage_pos)

Sets a new stage.

Parameters
stage_pos

◆ SetScanAxes()

bool sf::TDefaultScanBinder::SetScanAxes ( bool  )

Sets the axes according to the active scan mode.

Returns

◆ SetTrigger()

bool sf::TDefaultScanBinder::SetTrigger ( int  scan)

Sets the trigger to frequency or density according the axis value.

Parameters
scanIndex of scn in the project.
Returns
TRue on success.

◆ StateChange()

void sf::TDefaultScanBinder::StateChange ( EState  prev,
EState  cur 
)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ Stop()

bool sf::TDefaultScanBinder::Stop ( )
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ Suspend()

bool sf::TDefaultScanBinder::Suspend ( bool  immediate)
overridevirtual

Suspends action at a convenient position.

Parameters
immediateDo not wait until a positon move has finished.
Returns
True on succes.

Implements sf::ScanBinder.

◆ Sustain() [1/2]

virtual void sf::TDefaultScanBinder::Sustain ( const timespec &  ts)
virtual

Overridden from base class.

◆ Sustain() [2/2]

void sf::TDefaultScanBinder::Sustain ( timespec  )
overrideprotectedvirtual

Overridden from base class.

Implements sf::ScanBinder.

◆ WriteProfile()

void sf::TDefaultScanBinder::WriteProfile ( IniProfile inifile)
overridevirtual

Overridden from base class.

Implements sf::ScanBinder.

Friends And Related Symbol Documentation

◆ BinderCommonPropertyPage

friend class BinderCommonPropertyPage
friend

◆ CheckPositionsPropertyPage

friend class CheckPositionsPropertyPage
friend

◆ DefaultBinderConfigPropertyPage

friend class DefaultBinderConfigPropertyPage
friend

◆ DefaultBinderProjectPropertyPage

friend class DefaultBinderProjectPropertyPage
friend

◆ DefaultBinderPropertyPage

friend class DefaultBinderPropertyPage
friend

◆ SelectCurrentPositionDialog

friend class SelectCurrentPositionDialog
friend

◆ TStagePosition

friend class TStagePosition
friend

Member Data Documentation

◆ _handlerVariableEventImport

TVariableHandler<TDefaultScanBinder> sf::TDefaultScanBinder::_handlerVariableEventImport {this, &TDefaultScanBinder::handleVariableEventImport}

Variable handler callback hook.

◆ _listenerList

ListenerList sf::TDefaultScanBinder::_listenerList

Holds the listeners for this instance to auto removed at destruction.

◆ FAfterStopState

EState sf::TDefaultScanBinder::FAfterStopState

State to set when motion stops.

◆ FBalanceState

EBalance sf::TDefaultScanBinder::FBalanceState

Holds the balance state.

◆ FBinderFrame

DefaultBinderFrame* sf::TDefaultScanBinder::FBinderFrame

Holds the special binder frame when it is created.

◆ FCheckMoveConfirm

bool sf::TDefaultScanBinder::FCheckMoveConfirm

When enabled each position move wil be asked for7 confirmation.

◆ FCheckOffset

Vector3D sf::TDefaultScanBinder::FCheckOffset

Holds the check offset for the project established during checking.

◆ FCheckOffsetScanIndex

int sf::TDefaultScanBinder::FCheckOffsetScanIndex

Holds the scan index used for the last check offset.

◆ FClearCheckOffset

bool sf::TDefaultScanBinder::FClearCheckOffset

When enabled a change in scan index will clear the offset.

◆ FCur

const TStagePosition sf::TDefaultScanBinder::FCur

Holds the current stage position when the scan binder is active.

◆ FManualPosition

TCheckPosition sf::TDefaultScanBinder::FManualPosition

Holds the last manual entered check position.

◆ FMove

TStagePosition sf::TDefaultScanBinder::FMove

Holds the step movement position when moving.

◆ FPositions

TPositions sf::TDefaultScanBinder::FPositions

Holds the list of position.

◆ FResume

TStagePosition sf::TDefaultScanBinder::FResume

Holds the coordinates where the controller was heading for.

◆ FResumeState

EState sf::TDefaultScanBinder::FResumeState

State to set when motion stops.

◆ FScanning

struct sf::TDefaultScanBinder::TScanning sf::TDefaultScanBinder::FScanning

◆ FStopCoord

gmi::AxesCoord sf::TDefaultScanBinder::FStopCoord

Holds the coordinates where the controller stopped.

◆ FTarget

TStagePosition sf::TDefaultScanBinder::FTarget

Holds the targeted stage position information.

◆ FTraject

TStagePositions sf::TDefaultScanBinder::FTraject

Holds the current trajectory of movements of the applied command.

◆ FTrajectIndex

int sf::TDefaultScanBinder::FTrajectIndex

Holds the current traject index. Movement is enabled when set other than -1.

◆ FVarsImport

Variable::PtrVector sf::TDefaultScanBinder::FVarsImport

Holds the imported variable pointers for iterations.

◆ MAX_POSITIONS

constexpr int sf::TDefaultScanBinder::MAX_POSITIONS {30}
staticconstexpr

Maximum amount of positions.

◆ TScanning

◆ VBalance

Variable sf::TDefaultScanBinder::VBalance

For switching on balance and to detect when it is ready when it is reset.

◆ VBidirectional

Variable sf::TDefaultScanBinder::VBidirectional

To signal bidirectional was switched on.

◆ VScanGainActive

Variable sf::TDefaultScanBinder::VScanGainActive

To signal scan gain must be active.


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