18class ProjectDataPropertyPage;
19class CheckPositionsPropertyPage;
20class ScanMethodPositionPropertyPage;
56 bool IgnoreFixtureOffset{
false};
111 bool DoMoveTo(
int scan,
int index = -1,
double frac = 0.0,
bool rect =
false);
135 bool IsRotating()
const;
175 const char* GetStateName()
const;
189 const Variable& GetMediumVelocity()
const;
195 bool CanAllocateController()
const;
197 bool IsControllerAllocated()
const;
208 void SetProgVelocityEnable(
bool enabled);
209 bool GetProgVelocityEnable()
const;
230 const InfoBase* GetScanInfo(
int scan)
const;
266 virtual bool MoveTo(
int scan,
int index,
double frac,
bool rect) = 0;
270 virtual bool Scan(
int scan) = 0;
277 virtual bool Rotate(
int scan,
int index) = 0;
297 bool FControllerAllocated;
301 bool FProgrammingVelocity;
303 void SetStatePrivate(EState state);
307 std::string FNamePrefix;
323 Vector3D FFixtureOffset;
326 int FActiveScanIndex;
336 void HandleParamMappingApply(QWidget*);
343 friend ScanMethodPositionPropertyPage;
344 friend ProjectDataPropertyPage;
345 friend CheckPositionsPropertyPage;
364 if (FControllerAllocated)
372 return FControllerAllocated;
387 return FAcceleration;
392 return FParkPosition;
397 return FToolPosition;
402 return VMediumVelocity;
417 FProgrammingVelocity = enabled;
422 return FProgrammingVelocity;
#define SF_DECL_IFACE(InterfaceType, ParamType, FuncName)
Declares a public static function in the class where it is used. Where: InterfaceType: Global typenam...
Definition TClassRegistration.h:71
Class to store application configuration. Uses the global application settings or a given ini-file.
Definition ConfigStore.h:16
Class for reading and writing ini-profiles.
Definition IniProfile.h:17
Create a local variable by calling the protected constructor.
Definition Variable.h:947
Definition ProjectData.h:23
bool IsControllerAllocated()
Definition ProjectModule.h:407
Object for scripts to interact with the inspection project.
Definition ProjectScriptObject.h:14
Dialog containing multiple property pages.
Definition qt/PropertySheetDialog.h:14
Abstract base class for implementing scan binders.
Definition ScanBinder.h:30
virtual bool GetGenericInfoList(StringList &)=0
EState
Definition ScanBinder.h:144
@ sbsCHECKING
Binder is active and the controller is allocated.
Definition ScanBinder.h:165
@ sbsREADY
Waiting for activation by a command and the controller is freed.
Definition ScanBinder.h:157
@ sbsWAITING
Waiting to execute.
Definition ScanBinder.h:159
@ sbsACTIVE
Binder is active and the controller is allocated.
Definition ScanBinder.h:163
@ sbsSUSPENDED
Execution of the current task is suspended.
Definition ScanBinder.h:161
@ sbsABORTED
Binder movement was aborted abruptly.
Definition ScanBinder.h:152
@ sbsSCANNING
Binder is active and scanning.
Definition ScanBinder.h:167
virtual bool Suspend(bool immediate)=0
const gmi::AxesCoord & GetParkPosition() const
Definition ScanBinder.h:390
InfoBase * GetScanInfo(const ScanMethod *sm)
const Vector3D & GetFixtureOffset() const
bool DoEvaluate(int scan)
const gmi::AxesCoord & GetAcceleration() const
Definition ScanBinder.h:385
virtual void AddPropertyPages(PropertySheetDialog *sheet, bool scan)=0
ScanBinder(const Parameters ¶meters)
virtual QWidget * GetFrame()=0
bool DoSuspend(bool immediate)
bool GetScanPos(gmi::AxesCoord &pos, int scan, int index, double frac, bool rect) const
bool DoMoveToSysPos(ESystemPosition sp)
double GetScanProgress() const
gmi::Controller * GetController()
bool getSetValue(const ScriptObject::IdInfo *info, Value *value, Value::vector_type *params, bool flag_set) override
Overridden from base class.
ConfigStore & GetSaveState()
Definition ScanBinder.h:351
ScanMethod * GetScan(int scan) const
const Variable::PtrVector & GetVars() const
Definition ScanBinder.h:425
int GetActiveScanIndex() const
virtual Vector3D GetOffset() const
bool DoActivate(int scan)
bool DoMoveToQuery(int scan)
static const char * GetStateName(EState state)
virtual bool Rotate(int scan, int index)=0
bool IsRotating() const
Definition ScanBinder.h:375
void SetAcqPopManual(RsaTypes::EPopManual pop_manual)
bool IsAcqPopManualReady() const
void DoReadProfile(IniProfile &inifile)
virtual bool Check(int scan)=0
bool GetProgVelocityEnable() const
Definition ScanBinder.h:420
virtual bool Evaluate(int scan)=0
const gmi::AxesCoord & GetVelocity() const
void DoSustain(timespec clk)
ProjectData * GetProjectData()
Definition ScanBinder.h:405
virtual void Sustain(timespec)=0
void ReadWriteConfig(bool rd)
Vector3D DoGetOffset() const
bool AllocateController(bool alloc)
const IdInfo * getInfo(const std::string &name) const override
Overridden from base class.
const Variable & GetMediumVelocity() const
Definition ScanBinder.h:400
virtual bool Scan(int scan)=0
virtual bool Initialize()=0
virtual InfoBase * NewScanInfo()=0
virtual void WriteProfile(IniProfile &inifile)=0
const char * GetStateName() const
Definition ScanBinder.h:380
void DoAddPropertyPages(PropertySheetDialog *sheet, bool scan)
bool DoRotate(int scan, int index=-1)
EState GetState() const
Definition ScanBinder.h:356
bool SetState(EState state)
const gmi::AxesCoord & GetToolPosition() const
Definition ScanBinder.h:395
bool CanRotate(int scan) const
bool CanAllocateController() const
Definition ScanBinder.h:361
virtual void AddPropertyPages(PropertySheetDialog *sheet)
bool DoMoveTo(int scan, int index=-1, double frac=0.0, bool rect=false)
void DoWriteProfile(IniProfile &inifile)
InfoBase * GetScanInfo(int scan)
void SetProgVelocityEnable(bool enabled)
Definition ScanBinder.h:415
virtual void ReadProfile(IniProfile &inifile)=0
void DeleteScanEntry(const ScanEntry *se)
void NewScanEntry(ScanEntry *se)
virtual bool MoveTo(int scan, int index, double frac, bool rect)=0
bool IsControllerAllocated() const
Definition ScanBinder.h:370
virtual void StateChange(EState prev, EState cur)=0
virtual bool Activate(int scan)=0
virtual void DoReadWriteConfig(IniEnvelope &ini, bool rd)
Definition ScanBinder.h:293
Definition ScanEntry.h:13
Definition ScanMethod.h:28
String list with optional object association and sorting.
Definition TStringList.h:12
Template for linking pointers of member function to Variable instances.
Definition VariableHandler.h:38
Value container class able to performing arithmetic functions.
Definition Value.h:19
EEvent
Events send to the handler set with sf::Variable::setHandler.
Definition VariableTypes.h:130
Class for creating and referencing global or local created parameters or settings called variables....
Definition Variable.h:16
All axis values in one structure accompanied by some handy manipulation methods.
Definition AxesCoord.h:13
Pure virtual class for implementation of motion controllers.
Definition Controller.h:13
#define _IPJ_CLASS
Definition ipj/iface/global.h:35
Definition Application.h:10
constexpr std::string_view DEFAULT_SCANBINDERNAME("<default>")
ESystemPosition
Fixed system dependent axis positions.
Definition ipj/iface/Namespace.h:297
constexpr std::string_view SEC_BINDER_GENERAL("Scan Binder")
_IPJ_FUNC ProjectModule * getProjectModule()
Creates the project module when called for.
constexpr std::string_view KEY_IGNOREOFFSET("Ignore Project Offset")
EPopManual
Enumerate for the pop manual function.
Definition RsaTypes.h:507
Structure used a base class for derived binder classes to store scan dependant information.
Definition ScanBinder.h:36
virtual void ReadWrite(IniProfile *ini, bool rd)
Read or writes the scan scan-binder information to profile. Derived classes need to inherit this memb...
InfoBase()=default
Default constructor.
virtual ~InfoBase()=default
Virtual constructor so the memory management can be done in the scan binders base class.
Mandatory structure for initialization of derive class.
Definition ScanBinder.h:63
ProjectData * _project_data
Definition ScanBinder.h:64
Used to create static lookup lists.
Definition ScriptObject.h:62