5#include "../global.hpp"
6#include "../_cexports/c_img.h"
14 inline HandleGuard<Spectral::WrappedCube>::HandleGuard(
void *handle) noexcept
15 : HandleGuard<Spectral::WrappedCube>(handle, [](
void *handle) { CVB_CALL_CAPI(
ReleaseObject(handle)); })
27 class WrappedCube :
public Cube
30 WrappedCube(
const WrappedCube &other) =
delete;
31 WrappedCube &operator=(
const WrappedCube &other) =
delete;
32 WrappedCube(WrappedCube &&other) =
delete;
33 WrappedCube &operator=(WrappedCube &&other) =
delete;
34 ~WrappedCube() =
default;
56 return Internal::DoResCallObjectOut<WrappedCube>([&](
void *&cubeOut) {
57 return CVB_CALL_CAPI(CVSCreateCubeFromPointer(
58 pBase, dimensions.data(), datatype.
NativeDescriptor(), increments.data(), [](
void *,
void *) {},
nullptr,
78 explicit WrappedCube(HandleGuard<Cube> &&guard) noexcept
27 class WrappedCube :
public Cube {
…};
Data type description for an image plane.
Definition data_type.hpp:23
int NativeDescriptor() const noexcept
Native data type descriptor.
Definition data_type.hpp:312
Spectral Cube object.
Definition cube.hpp:59
Spectral Wrapped cube objects are linear non-owning cubes.
Definition wrapped_cube.hpp:28
static std::unique_ptr< WrappedCube > Create(void *pBase, int numSamples, int numLines, int numBands, Cvb::DataType datatype, intptr_t sampleInc, intptr_t lineInc, intptr_t bandInc)
Creates a wrapped cube object of type linear non-owning.
Definition wrapped_cube.hpp:50
static std::unique_ptr< WrappedCube > FromHandle(HandleGuard< WrappedCube > &&guard)
Creates wrapped cube from a classic API handle.
Definition wrapped_cube.hpp:72
cvbbool_t ReleaseObject(OBJ &Object)
Namespace for the Spectral package.
Definition arithmetic.hpp:14
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17