Mech-Eye API
2.6.0
API reference documentation for Mech-Eye 3D Laser Profiler
Toggle main menu visibility
Loading...
Searching...
No Matches
profiler
VirtualProfiler.h
1
/*******************************************************************************
2
*BSD 3-Clause License
3
*
4
*Copyright (c) 2016-2025, Mech-Mind Robotics Technologies Co., Ltd.
5
*All rights reserved.
6
*
7
*Redistribution and use in source and binary forms, with or without
8
*modification, are permitted provided that the following conditions are met:
9
*
10
*1. Redistributions of source code must retain the above copyright notice, this
11
* list of conditions and the following disclaimer.
12
*
13
*2. Redistributions in binary form must reproduce the above copyright notice,
14
* this list of conditions and the following disclaimer in the documentation
15
* and/or other materials provided with the distribution.
16
*
17
*3. Neither the name of the copyright holder nor the names of its
18
* contributors may be used to endorse or promote products derived from
19
* this software without specific prior written permission.
20
*
21
*THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
*AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
*IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
*DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
*DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
*SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
*CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
*OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
*OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
******************************************************************************/
32
33
#pragma once
34
#include <memory>
35
#include <functional>
36
#include "api_global.h"
37
#include "ProfilerInfo.h"
38
#include "ProfileData.h"
39
#include "VirtualUserSet.h"
40
41
namespace
mmind {
42
43
namespace
eye {
44
45
class
VirtualProfilerImpl;
46
47
class
MMIND_API_EXPORT
VirtualProfiler
48
{
49
public
:
56
using
AcquisitionCallback
= std::function<void(
const
ProfileBatch
& batch,
void
* pUser)>;
57
65
VirtualProfiler
(
const
std::string& filePath);
66
70
~VirtualProfiler
();
71
75
VirtualProfiler
(
const
VirtualProfiler
& other)
noexcept
;
76
80
VirtualProfiler
&
operator=
(
const
VirtualProfiler
& other)
noexcept
;
81
89
ErrorStatus
getProfilerInfo
(
ProfilerInfo
& info)
const
;
90
98
VirtualUserSet
&
currentUserSet
();
99
111
ErrorStatus
retrieveBatchData
(
ProfileBatch
& batch)
const
;
112
128
ErrorStatus
registerAcquisitionCallback
(
const
VirtualProfiler::AcquisitionCallback
& func,
129
void
* pUser);
130
137
ErrorStatus
startAcquisition
();
138
146
ErrorStatus
stopAcquisition
();
147
148
private
:
149
friend
class
InternalInterfaces;
150
std::shared_ptr<VirtualProfilerImpl> _d;
151
};
152
153
}
// namespace eye
154
155
}
// namespace mmind
mmind::eye::ProfileBatch
Represents a batch of profiles, which can be obtained by calling Profiler::retrieveBatchData()....
Definition
ProfileData.h:74
mmind::eye::VirtualProfiler::~VirtualProfiler
~VirtualProfiler()
Destructor.
mmind::eye::VirtualProfiler::currentUserSet
VirtualUserSet & currentUserSet()
Gets the parameter information used when the virtual device was saved.
mmind::eye::VirtualProfiler::getProfilerInfo
ErrorStatus getProfilerInfo(ProfilerInfo &info) const
Gets the basic information of the virtual laser profiler, such as model, serial number,...
mmind::eye::VirtualProfiler::VirtualProfiler
VirtualProfiler(const std::string &filePath)
Constructor.
mmind::eye::VirtualProfiler::AcquisitionCallback
std::function< void(const ProfileBatch &batch, void *pUser)> AcquisitionCallback
The type of callback function.
Definition
VirtualProfiler.h:56
mmind::eye::VirtualProfiler::VirtualProfiler
VirtualProfiler(const VirtualProfiler &other) noexcept
Copy constructor.
mmind::eye::VirtualProfiler::startAcquisition
ErrorStatus startAcquisition()
Enters the virtual device into the acquisition ready status, where it can accept trigger signals for ...
mmind::eye::VirtualProfiler::retrieveBatchData
ErrorStatus retrieveBatchData(ProfileBatch &batch) const
Retrieves a batch of the profiles. There are two ways to retrieve profile data, by polling or callbac...
mmind::eye::VirtualProfiler::registerAcquisitionCallback
ErrorStatus registerAcquisitionCallback(const VirtualProfiler::AcquisitionCallback &func, void *pUser)
Registers the callback function for data acquisition. There are two ways to retrieve profile data,...
mmind::eye::VirtualProfiler::operator=
VirtualProfiler & operator=(const VirtualProfiler &other) noexcept
Copy assignment.
mmind::eye::VirtualProfiler::stopAcquisition
ErrorStatus stopAcquisition()
Exits the virtual profiler from the acquisition ready status to avoid accidental triggering of scanni...
mmind::eye::VirtualUserSet
Definition
VirtualUserSet.h:13
mmind::eye::ErrorStatus
Describes the types of errors.
Definition
ErrorStatus.h:12
mmind::eye::ProfilerInfo
Describes the laser profiler information.
Definition
ProfilerInfo.h:44
Generated by
1.17.0