5#include "ProfilerInfo.h"
7#include "ProfileData.h"
8#include "UserSetManager.h"
24 using AcquisitionCallback = std::function<void(
const ProfileBatch& batch,
void* pUser)>;
59 unsigned int timeoutMs = 5000);
112 std::shared_ptr<ProfilerImpl> _d;
Represents a batch of profiles.
Represents a Mech-Eye 3D Laser Profiler device.
MMIND_API_EXPORT Profiler & operator=(const Profiler &other) noexcept
Copy assignment.
MMIND_API_EXPORT Profiler()
Constructor.
MMIND_API_EXPORT Profiler(const Profiler &other) noexcept
Copy constructor.
MMIND_API_EXPORT ErrorStatus getProfilerInfo(ProfilerInfo &info) const
Gets profiler information, including model, serial number, IP address, etc.
MMIND_API_EXPORT ErrorStatus triggerSoftware()
Sends a software signal to trigger data acquisition. This method is used when no external signals are...
MMIND_API_EXPORT ErrorStatus stopAcquisition()
Stops data acquisition.
MMIND_API_EXPORT ErrorStatus disconnect()
Disconnects from the current laser profiler.
static MMIND_API_EXPORT std::vector< ProfilerInfo > discoverProfilers()
Discovers all available laser profilers.
MMIND_API_EXPORT ErrorStatus connect(const ProfilerInfo &info, unsigned int timeoutMs=5000)
Connects to a laser profiler by its information.
MMIND_API_EXPORT ErrorStatus retrieveBatchData(ProfileBatch &batch, int timeoutMs=4000) const
Retrieves a batch of the profiles in the scan data.
MMIND_API_EXPORT ErrorStatus registerAcquisitionCallback(const Profiler::AcquisitionCallback &func, void *pUser)
Registers the callback function for data acquisition.
MMIND_API_EXPORT ~Profiler()
Destructor.
MMIND_API_EXPORT UserSetManager & userSetManager()
Returns a reference to the UserSetManager object.
MMIND_API_EXPORT ErrorStatus captureRawImage(RawImage &image, int timeoutMs=2000) const
Captures a raw image.
MMIND_API_EXPORT ErrorStatus startAcquisition()
Enters the laser profiler into the data acquisition status, where it can accept trigger signals....
MMIND_API_EXPORT ErrorStatus connect(const std::string &ipAddress, unsigned int timeoutMs=5000)
Connects to a laser profiler by its IP address.
MMIND_API_EXPORT UserSet & currentUserSet()
Returns a reference to the UserSet object.
Represents a device parameter group.
Manages device parameter groups.
The information of the laser profiler.