MeshLib C++ Docs
Loading...
Searching...
No Matches
MRCudaPolyline.h
Go to the documentation of this file.
1#pragma once
2
3#if !( defined( MR_PARSING_FOR_ANY_BINDINGS ) || defined(MR_COMPILING_ANY_BINDINGS) )
4
5#include "exports.h"
6#include "MRCudaBasic.cuh"
7#include "MRCudaMath.cuh"
8#include "MRCudaPolyline.cuh"
9
10#include "MRMesh/MRExpected.h"
11
12namespace MR::Cuda
13{
14
17{
18public:
21 MRCUDA_API static Expected<Polyline2DataHolder> fromLines( const Polyline2& polyline );
22
24 MRCUDA_API Polyline2Data data() const;
25 operator Polyline2Data () const { return data(); }
26
28 MRCUDA_API void reset();
29
31 MRCUDA_API static size_t heapBytes( const Polyline2& polyline );
32
33private:
34 DynamicArray<Node2> nodes_;
35 DynamicArray<float2> points_;
36 DynamicArray<int> orgs_;
37};
38
41{
42public:
45 MRCUDA_API static Expected<Polyline3DataHolder> fromLines( const Polyline3& polyline );
46
48 MRCUDA_API Polyline3Data data() const;
49 operator Polyline3Data () const { return data(); }
50
52 MRCUDA_API void reset();
53
55 MRCUDA_API static size_t heapBytes( const Polyline3& polyline );
56
57private:
58 DynamicArray<Node3> nodes_;
59 DynamicArray<float3> points_;
60 DynamicArray<int> orgs_;
61};
62
63} // namespace MR::Cuda
64
65#endif
Helper class to manage the GPU memory-backed buffers for Polyline2 data.
Definition MRCudaPolyline.h:17
MRCUDA_API Polyline2Data data() const
Returns data buffers.
static MRCUDA_API size_t heapBytes(const Polyline2 &polyline)
Computes the GPU memory amount required to allocate data for the polyline.
static MRCUDA_API Expected< Polyline2DataHolder > fromLines(const Polyline2 &polyline)
MRCUDA_API void reset()
Resets data buffers.
Helper class to manage the GPU memory-backed buffers for Polyline3 data.
Definition MRCudaPolyline.h:41
MRCUDA_API Polyline3Data data() const
Returns data buffers.
static MRCUDA_API size_t heapBytes(const Polyline3 &polyline)
Computes the GPU memory amount required to allocate data for the polyline.
static MRCUDA_API Expected< Polyline3DataHolder > fromLines(const Polyline3 &polyline)
MRCUDA_API void reset()
Resets data buffers.
Definition MRCudaBasic.h:11
tl::expected< T, E > Expected
Definition MRExpected.h:25