Volume Cartographer 2.27.0
TexturingAlgorithm.hpp
Go to the documentation of this file.
1#pragma once
2
5#include <cstddef>
6#include <memory>
7
12
13namespace volcart::texturing
14{
16{
17public:
19 using Pointer = std::shared_ptr<TexturingAlgorithm>;
20
22 using Texture = std::vector<cv::Mat>;
23
25 virtual ~TexturingAlgorithm() = default;
26
29
32
34 virtual auto compute() -> Texture = 0;
35
38
40 [[nodiscard]] auto progressIterations() const -> std::size_t override;
41
42protected:
44 TexturingAlgorithm() = default;
50 auto operator=(const TexturingAlgorithm&) -> TexturingAlgorithm& = default;
52 auto operator=(TexturingAlgorithm&&) -> TexturingAlgorithm& = default;
53
60};
61} // namespace volcart::texturing
A raster of a UVMap that provides a per-pixel mapping between a Volume and a Texture generated from t...
Definition: PerPixelMap.hpp:50
std::shared_ptr< PerPixelMap > Pointer
Definition: PerPixelMap.hpp:84
Volumetric image data.
Definition: Volume.hpp:36
std::shared_ptr< Volume > Pointer
Definition: Volume.hpp:42
virtual auto compute() -> Texture=0
Compute the Texture.
auto getTexture() -> Texture
Get the generated Texture.
void setPerPixelMap(PerPixelMap::Pointer ppm)
Set the input PerPixelMap.
std::shared_ptr< TexturingAlgorithm > Pointer
auto progressIterations() const -> std::size_t override
Returns the maximum progress value.
void setVolume(Volume::Pointer vol)
Set the input Volume.
Texturing and parameterization algorithms and utilities library.
Mixin type for classes which report their progress.
Definition: Mixins.hpp:13