47#ifndef ZIVID_ALLOW_UNSAFE_MT
48# if defined _WIN32 && !defined _DLL
49# error "Zivid SDK only supports the DLL version of the Visual Studio runtime library. \
50To switch from static runtime linkage to dynamic, use the /MD or /MDd flags \
51instead of /MT or /MTd in your project's C/C++ Code Generation settings."
57#ifndef ZIVID_ALLOW_UNSUPPORTED_MSVC_COMPILER
58# if defined _MSC_VER && _MSC_VER < 1920
59# error "Zivid SDK only supports compiling with Visual Studio 2019 and later versions. \
60Please upgrade your local build tools accordingly."
65# if _MSVC_LANG < 201703L
66# error "Zivid C++ API requires that you use C++17 or newer. The C++ version you are using is too old. \
67For Visual Studio you may need to set a newer C++ version in the Project Settings, or via the /std compiler option."
69#elif __cplusplus < 201703L
70# error "Zivid C++ API requires that you use C++17 or newer. The C++ version you are using is too old. \
71If you are using CMake, you can configure C++17 by adding `set(CMAKE_CXX_STANDARD 17)` to your CMakeLists.txt file."
106 const std::string &headerVersion,
151 : Application{
Detail::EnvironmentInfo::Wrapper{
Detail::EnvironmentInfo::Wrapper::ValueType::none } }
167 Detail::detectToolchain(),
168 Detail::EnvironmentInfo::Wrapper{
Detail::EnvironmentInfo::Wrapper::ValueType::none },
186 Detail::detectToolchain(),
187 Detail::EnvironmentInfo::Wrapper{
Detail::EnvironmentInfo::Wrapper::ValueType::none },
#define ZIVID_CORE_EXPORT
Definition CoreExport.h:56
#define ZIVID_PIMPL_MOVE_ONLY(ClassName, Attributes)
Definition Pimpl.h:110
#define ZIVID_CORE_VERSION
Zivid version string.
Definition VersionConstants.h:59
ZIVID_CORE_EXPORT Camera createFileCamera(const std::string &cameraFile)
Create a virtual camera to simulate Zivid measurements by reading data from a file.
ZIVID_CORE_EXPORT Camera connectCamera()
Connect to the next available Zivid camera.
ZIVID_CORE_EXPORT Camera connectCamera(const CameraAddress &address)
Connect to the Zivid camera at the specified network address.
friend Application Detail::createApplicationForWrapper(Zivid::Detail::EnvironmentInfo::Wrapper wrapper)
Application(CUDAContextPtr cudaContext)
Constructor with user-provided CUDA context.
Definition Application.h:183
ZIVID_CORE_EXPORT Camera createFileCamera(const Frame &frameWithDiagnostics)
Create a file camera from a captured frame.
ZIVID_CORE_EXPORT ComputeDevice computeDevice() const
The default compute device, used when connecting to new cameras.
ZIVID_CORE_EXPORT Camera connectCamera(const CameraInfo::SerialNumber &serialNumber)
Connect to the Zivid camera with the specified serial number.
ZIVID_CORE_EXPORT std::string toString() const
Get string representation of the application.
Application()
Constructor.
Definition Application.h:150
Application(OpenCLContextPtr openclContext)
Constructor with user-provided OpenCL context.
Definition Application.h:164
ZIVID_CORE_EXPORT std::vector< Camera > cameras()
Get a list of all cameras.
A hostname or IPv4 address identifying a specific Zivid camera for direct connection.
Definition CameraAddress.h:55
The serial number of the camera.
Definition CameraInfo.h:975
Interface to one Zivid camera.
Definition Camera.h:71
Contains information about the compute device used by Zivid::Application.
Definition ComputeDevice.h:60
The wrapper being used, if any.
Definition EnvironmentInfo.h:2633
A frame captured by a Zivid camera.
Definition Frame.h:70
Definition EnvironmentInfo.h:74
The main Zivid namespace. All Zivid code is found here.
Definition Application.h:85
Wrapper for user-provided CUDA context pointer (CUcontext)
Definition ComputeWrappers.h:65
Wrapper for user-provided OpenCL context pointer (cl_context)
Definition ComputeWrappers.h:59