47 #if defined _WIN32 || defined __CYGWIN__
49 #define DLL_EXPORT __attribute__ ((dllexport))
50 #define DLL_IMPORT __attribute__ ((dllimport))
52 #define DLL_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
53 #define DLL_IMPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
58 #define DLL_EXPORT __attribute__ ((visibility ("default")))
59 #define DLL_IMPORT __attribute__ ((visibility ("default")))
60 #define DLL_LOCAL __attribute__ ((visibility ("hidden")))
68 #if defined(_EXPORTING_IMS)
69 #define LIBSPEC DLL_EXPORT
70 #define LIBLOCAL DLL_LOCAL
71 #define EXPIMP_TEMPLATE
72 #elif defined(_STATIC_IMS)
75 #define EXPIMP_TEMPLATE
77 #define LIBSPEC DLL_IMPORT
78 #define LIBLOCAL DLL_LOCAL
79 #define EXPIMP_TEMPLATE extern
138 bool operator==(ImagePoint
const& rhs)
const;
142 const FAP& GetFAP(
const RFChannel)
const;
151 void SetFAP(
const RFChannel,
const FAP&);
156 FAP& SetFAP(
const RFChannel);
161 void SetAll(
const FAP&);
168 const float& GetSyncA(
int index)
const;
179 void SetSyncA(
int index,
const float& value);
185 const unsigned int& GetSyncD()
const;
190 void SetSyncD(
const unsigned int& value);
195 unsigned int m_syncd;
271 Image(
const std::string& name =
"");
285 Image(
size_t nPts,
const ImagePoint& pt,
const std::string& name =
"");
309 Image(
size_t nPts,
const ImagePoint& pt,
const int div,
const std::string& name =
"");
509 void ExtClockDivide(
const int div);
532 const int ExtClockDivide()
const;
538 std::string& Description();
547 const std::string& Description()
const;
591 ImageTableEntry(
ImageIndex handle, std::uint32_t address,
int n_pts,
int size, std::uint32_t fmt, std::array<std::uint8_t, 16> uuid, std::string name);
593 ImageTableEntry(
ImageIndex handle,
const std::vector<std::uint8_t>&);
597 ImageTableEntry(
const ImageTableEntry &);
599 ImageTableEntry &operator =(
const ImageTableEntry &);
617 const std::uint32_t& Address()
const;
620 const int& NPts()
const;
623 const int& Size()
const;
633 const std::uint32_t& Format()
const;
645 const std::array<std::uint8_t, 16>& UUID()
const;
655 const std::string& Name()
const;
741 ~ImageSequenceEntry();
743 ImageSequenceEntry(
const ImageSequenceEntry &);
745 ImageSequenceEntry &operator =(
const ImageSequenceEntry &);
752 bool operator==(ImageSequenceEntry
const& rhs)
const;
757 std::chrono::duration<double>& PostImgDelay();
770 const std::chrono::duration<double>& PostImgDelay()
const;
783 std::chrono::duration<double>& SyncOutDelay();
786 const std::chrono::duration<double>& SyncOutDelay()
const;
792 const std::array<std::uint8_t, 16>& UUID()
const;
804 const int& ExtDiv()
const;
813 const int& NumRpts()
const;
888 const int& TermValue()
const;
915 ImageGroup(
const std::string& name =
"",
const std::time_t& create_time = std::time(
nullptr),
const std::time_t& modified_time = std::time(
nullptr));
940 void AddImage(
const Image& img);
973 const std::time_t& CreatedTime()
const;
985 std::string CreatedTimeFormat()
const;
992 std::string& Author();
1002 const std::string& Author()
const;
1007 std::string& Company();
1011 const std::string& Company()
const;
1019 std::string& Revision();
1023 const std::string& Revision()
const;
1028 std::string& Description();
1032 const std::string& Description()
const;
1060 #undef EXPIMP_TEMPLATE
No effect on the Sequence Queue. Repeat the current Sequence.
Move the ImageSequence to the end of Sequence Queue and move on to the next Sequence, if it exists, otherwise repeat this ImageSequence.
The Image is played back repeatedly until stopped by the application.
No effect on the Sequence Queue. Repeat the current Sequence starting from the ImageSequenceEntry ind...
int ImageIndex
Each ImageIndex is an offset into the Image Index Table that uniquely refers to an Image stored in Co...
Definition: Image.h:555
A sequence of ImagePoints played out sequentially by the Controller and driven by the Synthesiser...
Definition: Image.h:228
Template Class encapsulating a list object and acting as a base list class for other classes in the l...
Definition: Containers.h:91
std::deque< ImagePoint >::const_iterator const_iterator
Const Iterator defined for user readback of DequeBase.
Definition: Containers.h:318
ImageRepeats
Each Image can be repeated, either a programmable number of times, or indefinitely.
Definition: Image.h:665
ImagePoint()
Default Constructor.
Definition: Image.h:105
An ImageSequence object completely defines a sequence to be played back on an iMS Controller in terms...
Definition: Image.h:857
FAP (Frequency/Amplitude/Phase) triad stores the instantaneous definition of a single RF output...
Definition: IMSTypeDefs.h:387
An ImageGroup collects together multiple associated images and a single ImageSequence for controlling...
Definition: Image.h:910
The Image is played back a programmable number of times according to the value set in the PlayConfigu...
SequenceTermAction
Operation to perform on the completion of the last repeat of the last entry in a Sequence.
Definition: Image.h:823
The entire API is encapsulated by the iMS namespace.
Definition: Auxiliary.h:95
Container Classes for storing various types of data related to Image classes and others.
ImageGroup ImageFile
For backwards compatibility with code written against SDK 1.2.6 or earlier.
Definition: Image.h:1057
Template Class encapsulating a deque object and acting as a base deque class for other classes in the...
Definition: Containers.h:302
The Image is played back only once.
An ImageSequenceEntry object can be created by application software to specify the parameters by whic...
Definition: Image.h:691
Type Definition for all operations that require a frequency specification in kiloHertz.
Definition: IMSTypeDefs.h:148
Move the ImageSequence to the end of Sequence Queue and stop playback.
Delete the ImageSequence from the Sequence Queue and move on to the next Sequence, if it exists, otherwise Stop.
Useful Type Definitions for working with iMS Systems.
Stores 4 FAP Triads containing frequency, amplitude and phase data for 4 RF channels.
Definition: Image.h:99
An ImageTableEntry is created by the SDK on connecting to an iMS System, one for each Image that is s...
Definition: Image.h:579
Delete the ImageSequence from the Sequence Queue and stop playback.
Type Definition for all operations that require a frequency specification.
Definition: IMSTypeDefs.h:96
std::deque< ImagePoint >::iterator iterator
Iterator defined for user manipulation of DequeBase.
Definition: Containers.h:316