VolViz
A volume visualization tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Attributes | List of all members
VolViz::Visualizer Class Reference

#include <Visualizer.h>

+ Collaboration diagram for VolViz::Visualizer:

Public Types

using LightName = std::uint16_t
 
using GeometryName = std::string
 

Public Member Functions

 Visualizer ()
 
 ~Visualizer ()
 
 Visualizer (Visualizer const &)=delete
 
 Visualizer (Visualizer &&)
 
Visualizeroperator= (Visualizer const &)=delete
 
Visualizeroperator= (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< Lengthscale {1 * milli * meter}
 
AtomicProperty< ColorbackgroundColor {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_
 

Member Typedef Documentation

using VolViz::Visualizer::LightName = std::uint16_t

Constructor & Destructor Documentation

VolViz::Visualizer::Visualizer ( )
VolViz::Visualizer::~Visualizer ( )
default
VolViz::Visualizer::Visualizer ( Visualizer const &  )
delete
VolViz::Visualizer::Visualizer ( Visualizer &&  rhs)

Member Function Documentation

template<class Descriptor , typename >
template void VolViz::Visualizer::addGeometry< MeshDescriptor > ( GeometryName  name,
Descriptor const &  geom 
)
void VolViz::Visualizer::addLight ( LightName  name,
Light const &  light 
)
void VolViz::Visualizer::enableMultithreading ( )
noexcept
VolViz::Visualizer::operator bool ( ) const
noexcept
Visualizer& VolViz::Visualizer::operator= ( Visualizer const &  )
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<class T >
template void VolViz::Visualizer::setVolume< Color const > ( VolumeDescriptor const &  descriptor,
span< T >  data 
)
void VolViz::Visualizer::start ( )
template<class Descriptor , typename >
template bool VolViz::Visualizer::updateGeometry< MeshDescriptor & > ( GeometryName  name,
Descriptor &&  geom 
)

Member Data Documentation

AtomicProperty<Color> VolViz::Visualizer::backgroundColor {Colors::Black()}
Camera VolViz::Visualizer::camera

The camera.

std::unique_ptr<Private_::VisualizerImpl> VolViz::Visualizer::impl_
private
auto constexpr VolViz::Visualizer::kTitle = "Volume Visualizer"
static
AtomicProperty<Length> VolViz::Visualizer::scale {1 * milli * meter}
std::atomic<bool> VolViz::Visualizer::showGrid {true}
std::atomic<bool> VolViz::Visualizer::showVolumeBoundingBox {true}

The documentation for this class was generated from the following files: