Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
LineScanMethod.h
Go to the documentation of this file.
1#pragma once
4
5namespace sf::ipj
6{
7// Froward definition.
9
11{
12 public:
16 explicit LineScanMethod(const Parameters&);
17
21 ~LineScanMethod() override;
22
26 void StateChange(EState prev, EState cur) override;
27
31 bool Initialize() override;
32
37
41 bool HandleCommand(ECommand cmd) override;
42
46 bool CreateFrame() override;
47
51 void Read(IniProfile* inifile) override;
52
56 void Write(IniProfile* inifile) override;
57
61 bool GetIndexVel(gmi::AxesCoord& vel, int index) override;
62
66 bool GetSurface(Matrix44& surface, int index, double frac) override;
67
71 bool SetAcqParams(int index, double frac) override;
72
76 virtual bool Sustain(clock_t);
77
82
86 bool GetTriggerValue(gmi::AxisValue& value) override;
87
92
93 // Two 3D vectors for spanning the 3D flat surface.
94 Vector3D FOriginVector;
95 Vector3D FStepVector;
96 Vector3D FScanVector;
97 // Exportable variable parameters.
109 void handleVariableEvent(Variable::EEvent event, const Variable& caller, Variable& link, bool same_inst) override;
110 // Returns normally the output stream of the scan method frame but if the frame is not created.
111 // The global output stream 'std::cout' is returned.
112 std::ostream& Cout() override;
113 // Get the frame pointer.
115 // Overloaded from base class.
116 void HandleCursorEvent(bool btn_down, Qt::KeyboardModifiers shift, int index, double frac) override;
117 // Holds the current command being executed.
119 // Timer for debugging.
121 // Last requested surface index.
123 // Last requested surface fraction.
124 double FLastFrac;
125 //
127};
128
129}// namespace sf::ipj
Class for reading and writing ini-profiles.
Definition IniProfile.h:17
Timer class that has fixed time intervals at which it becomes true.
Definition IntervalTimer.h:14
Create a local variable by calling the protected constructor.
Definition Variable.h:947
Dialog containing multiple property pages.
Definition qt/PropertySheetDialog.h:14
ECommand
Available commands.
Definition ScanMethod.h:118
EState
States of operation.
Definition ScanMethod.h:403
String list with optional object association and sorting.
Definition TStringList.h:12
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
Single position, speed or acceleration value of a specific axis.
Definition GmiTypes.h:174
Definition LineScanMethodFrame.h:18
Definition LineScanMethod.h:11
bool GetTriggerValue(gmi::AxisValue &value) override
Overridden from base class.
bool GetSurface(Matrix44 &surface, int index, double frac) override
Overridden from base class.
~LineScanMethod() override
Virtual overridden destructor.
LocalVariable VScanAxis
Definition LineScanMethod.h:100
bool CreateFrame() override
Overridden from base class.
Vector3D FStepVector
Definition LineScanMethod.h:95
double FLastFrac
Definition LineScanMethod.h:124
void AddPropertyPages(PropertySheetDialog *sheet) override
Overridden from base class.
LocalVariable VScanLength
Definition LineScanMethod.h:98
LineScanMethodFrame * GetLineFrame()
void HandleCursorEvent(bool btn_down, Qt::KeyboardModifiers shift, int index, double frac) override
Can be overridden to handle cursor events when the scan is selected in the project.
bool SetAcqParams(int index, double frac) override
Overridden from base class.
bool HandleCommand(ECommand cmd) override
Overridden from base class.
ECommand FCommand
Definition LineScanMethod.h:118
std::ostream & Cout() override
void Write(IniProfile *inifile) override
Overridden from base class.
LocalVariable VIndexCount
Definition LineScanMethod.h:102
int FLastIndex
Definition LineScanMethod.h:122
bool Initialize() override
Overridden from base class.
gmi::EAxisLocation GetScanAxis() override
Overridden from base class.
LocalVariable VScanDensity
Definition LineScanMethod.h:101
void Read(IniProfile *inifile) override
Overridden from base class.
virtual bool Sustain(clock_t)
Overridden from base class.
void handleVariableEvent(Variable::EEvent event, const Variable &caller, Variable &link, bool same_inst) override
Overridden abstract event handler for local variables.
LocalVariable VBackSide
Definition LineScanMethod.h:104
LocalVariable VIndexDensity
Definition LineScanMethod.h:103
LocalVariable VSurfaceRotate
Definition LineScanMethod.h:105
bool GetGenericInfoList(StringList &) override
Overridden from base class.
bool GetIndexVel(gmi::AxesCoord &vel, int index) override
Overridden from base class.
Vector3D FOriginVector
Definition LineScanMethod.h:94
Vector3D FScanVector
Definition LineScanMethod.h:96
void StateChange(EState prev, EState cur) override
Overridden from base class.
LocalVariable VScanVelocity
Definition LineScanMethod.h:99
LineScanMethod(const Parameters &)
Class factory constructor type.
IntervalTimer DebugDelayTimer
Definition LineScanMethod.h:120
Base class for scan methods using a common tool description.
Definition ToolBaseScanMethod.h:35
EAxisLocation
Enumeration of axis locations.
Definition GmiTypes.h:81
Definition LineScanMethod.h:6
Mandatory structure for initialization of derived class.
Definition ScanMethod.h:34