Scope
ScannerVectorFrameSaw.h
1 #pragma once
2 
3 #include "ScannerVectorFrameBasic.h"
4 
5 namespace scope {
6 
9  : public ScannerVectorFrameBasic {
10 
11 protected:
13  void UpdateVector() override;
14 
16  void FillX();
17 
19  void FillY();
20 
22  void FillZ();
23 
25  void FillP();
26 
28  void FillXP();
29 
31  void FillYZ();
32 
34  void FillZP();
35 
37  void FillLookup();
38 
43  void RotateP(const size_t& _pstart, const size_t& _interleavedfactor, const int32_t& _rotateby);
44 
45 public:
48 
50 };
51 
53 typedef std::shared_ptr<ScannerVectorFrameSaw> ScannerVectorFrameSawPtr;
54 
55 }
void FillZP()
Fill the samples for fast z and Pockels for one line, used for slave areas.
Calculates scanner, fast z, and pockels control voltages for a saw tooth frame scan.
void UpdateVector() override
Calculate the scanner vector based on the current parameters.
Parent class for frame scans.
void FillP()
Fill the samples for the Pockels cell (cutoff&retrace blanking for x and y)
ScannerVectorFrameSaw(const ScannerVectorFillType &_filltype)
void FillYZ()
Fill the samples for y and fast z for one column (one sample per line).
Base class for all Scope datatypes here, provides a uniform interface (and saves typing...).
void FillLookup()
Fill in the lookup vector.
void RotateP(const size_t &_pstart, const size_t &_interleavedfactor, const int32_t &_rotateby)
Rotate the Pockels samples in the scanner vector.
void FillY()
Fill the samples for the y scanner axis.
void FillXP()
Fill the samples for x and Pockels cell for one line.
void FillZ()
Fill the samples for the fast z axis (stays constant here)
void FillX()
Fill the samples for the x scanner axis.