MeshLib C++ Docs
Loading...
Searching...
No Matches
MRVoxelsFwd.h
Go to the documentation of this file.
1#pragma once
2
3#include "config.h"
4
6#ifdef _WIN32
7# ifdef MRVoxels_EXPORTS
8# define MRVOXELS_API __declspec(dllexport)
9# else
10# define MRVOXELS_API __declspec(dllimport)
11# endif
12# define MRVOXELS_CLASS
13#else
14# define MRVOXELS_API __attribute__((visibility("default")))
15# ifdef __clang__
16# define MRVOXELS_CLASS __attribute__((type_visibility("default")))
17# else
18# define MRVOXELS_CLASS __attribute__((visibility("default")))
19# endif
20#endif
21
22#include <MRMesh/MRMeshFwd.h>
23
24namespace MR
25{
28
29
30class ObjectVoxels;
31
32class FloatGrid;
33
36 ( SimpleVolumeMinMaxU16, VoxelsVolumeMinMax<Vector<uint16_t, VoxelId>> )
38)
39
40using VdbVolumes = std::vector<VdbVolume>;
41
42template <typename T>
43using VoxelValueGetter = std::function<T ( const Vector3i& )>;
44
47 ( FunctionVolumeU8, VoxelsVolume<VoxelValueGetter<uint8_t>> )
48 ( SimpleVolume, VoxelsVolume<Vector<float, VoxelId>> )
49 ( SimpleVolumeU16, VoxelsVolume<Vector<uint16_t, VoxelId>> )
50 ( SimpleBinaryVolume, VoxelsVolume<VoxelBitSet> )
51)
52
53namespace VoxelsLoad
54{
55MR_CANONICAL_TYPEDEFS( (template <typename T> struct), MRVOXELS_CLASS DicomVolumeT,
57 ( DicomVolumeAsVdb, DicomVolumeT<VdbVolume> )
58)
59}
60
61}
#define MR_CANONICAL_TYPEDEFS(type_, name_, aliases_)
Definition MRCanonicalTypedefs.h:23
#define MRVOXELS_CLASS
Definition MRVoxelsFwd.h:18
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
struct
Definition MRMeshFwd.h:204
std::vector< VdbVolume > VdbVolumes
Definition MRVoxelsFwd.h:40
MRVOXELS_CLASS SimpleVolumeMinMax
Definition MRVoxelsFwd.h:35
MRVOXELS_CLASS FunctionVolume
Definition MRVoxelsFwd.h:46
MRVOXELS_CLASS DicomVolume
Definition MRVoxelsFwd.h:56
std::function< T(const Vector3i &)> VoxelValueGetter
Definition MRVoxelsFwd.h:43
Definition MRDicom.h:21
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRDicom.h:62
Definition MRVoxelsVolume.h:65
represents a box in 3D space subdivided on voxels stored in T
Definition MRVoxelsVolume.h:51