VolViz
A volume visualization tool
|
#include <Visualizer.h>
Public Types | |
using | LightName = std::uint16_t |
using | GeometryName = std::string |
Public Member Functions | |
Visualizer () | |
~Visualizer () | |
Visualizer (Visualizer const &)=delete | |
Visualizer (Visualizer &&) | |
Visualizer & | operator= (Visualizer const &)=delete |
Visualizer & | operator= (Visualizer &&) |
void | start () |
void | enableMultithreading () noexcept |
void | renderOneFrame () |
void | renderOneFrameAndWaitForEvents () |
void | renderAtFPS (double fps=60.0) |
void | renderOnUserInteraction (double maxFps=60.0) |
operator bool () const noexcept | |
template<class T > | |
void | setVolume (VolumeDescriptor const &descriptor, span< T > data) |
void | addLight (LightName name, Light const &light) |
template<class Descriptor , typename = std::enable_if_t<std::is_base_of< GeometryDescriptor, std::decay_t<Descriptor>>::value>> | |
void | addGeometry (GeometryName name, Descriptor const &geom) |
template<class Descriptor , typename = std::enable_if_t<std::is_base_of< GeometryDescriptor, std::decay_t<Descriptor>>::value>> | |
bool | updateGeometry (GeometryName name, Descriptor &&geom) |
Public Attributes | |
std::atomic< bool > | showGrid {true} |
std::atomic< bool > | showVolumeBoundingBox {true} |
AtomicProperty< Length > | scale {1 * milli * meter} |
AtomicProperty< Color > | backgroundColor {Colors::Black()} |
Camera | camera |
The camera. More... | |
Static Public Attributes | |
static auto constexpr | kTitle = "Volume Visualizer" |
Private Types | |
template<class T > | |
using | AtomicProperty = AtomicWrapper< T, SetAndNotifyPolicy > |
Private Attributes | |
std::unique_ptr < Private_::VisualizerImpl > | impl_ |
|
private |
using VolViz::Visualizer::LightName = std::uint16_t |
VolViz::Visualizer::Visualizer | ( | ) |
|
default |
|
delete |
VolViz::Visualizer::Visualizer | ( | Visualizer && | rhs | ) |
template void VolViz::Visualizer::addGeometry< MeshDescriptor > | ( | GeometryName | name, |
Descriptor const & | geom | ||
) |
|
noexcept |
|
noexcept |
|
delete |
Visualizer & VolViz::Visualizer::operator= | ( | Visualizer && | rhs | ) |
void VolViz::Visualizer::renderAtFPS | ( | double | fps = 60.0 | ) |
void VolViz::Visualizer::renderOneFrame | ( | ) |
void VolViz::Visualizer::renderOneFrameAndWaitForEvents | ( | ) |
void VolViz::Visualizer::renderOnUserInteraction | ( | double | maxFps = 60.0 | ) |
template void VolViz::Visualizer::setVolume< Color const > | ( | VolumeDescriptor const & | descriptor, |
span< T > | data | ||
) |
void VolViz::Visualizer::start | ( | ) |
template bool VolViz::Visualizer::updateGeometry< MeshDescriptor & > | ( | GeometryName | name, |
Descriptor && | geom | ||
) |
AtomicProperty<Color> VolViz::Visualizer::backgroundColor {Colors::Black()} |
Camera VolViz::Visualizer::camera |
The camera.
|
private |
|
static |
AtomicProperty<Length> VolViz::Visualizer::scale {1 * milli * meter} |
std::atomic<bool> VolViz::Visualizer::showGrid {true} |
std::atomic<bool> VolViz::Visualizer::showVolumeBoundingBox {true} |