12#ifndef CUTTINGPLANESSTAGE_H_6014714286
13#define CUTTINGPLANESSTAGE_H_6014714286
17#include <Carna/Carna.h>
60 const std::unique_ptr< Details > pimpl;
62 struct VideoResources;
63 std::unique_ptr< VideoResources > vr;
Defines Carna::base::GeometryStage.
Defines Carna::base::Renderable.
Partially implements a rendering stage that uses at least one render queue for rendering geometry fro...
Defines the inner node of a scene graph. Implements a spatial scene element that is allowed to have c...
Invokes the rendering stages of the frame renderer successively.
Represents a Geometry object that has been queued into a RenderQueue. The object's model-view transfo...
Defines a rendering viewport. The viewport is a property of the current OpenGL context.
Renders cutting planes of volume geometries in the scene.
bool isRenderingInverse() const
Tells whether brightness is inversely proportional to the intensity.
float minimumIntensity() const
Tells the lower bound of the intensity window.
static const unsigned int ROLE_INTENSITIES
Holds the role that intensity volume data is expected to take when attached to base::Geometry nodes.
static const float DEFAULT_WINDOWING_LEVEL
Holds the default value for setWindowingLevel.
virtual void renderPass(const base::math::Matrix4f &viewTransform, base::RenderTask &rt, const base::Viewport &vp) override
Called once per pass.
CuttingPlanesStage(unsigned int volumeGeometryType, unsigned int planeGeometryType)
Instantiates.
CuttingPlanesStage * clone() const override
Returns same RenderStage implementation with same configuration.
virtual ~CuttingPlanesStage()
Deletes.
float windowingWidth() const
Tells the windowing width.
static const float DEFAULT_WINDOWING_WIDTH
Holds the default value for setWindowingWidth.
void setWindowingWidth(float windowingWidth)
Sets windowing level to windowingWidth.
float windowingLevel() const
Tells the windowing level intensity.
void setWindowingWidth(unsigned int windowingWidth)
virtual void updateRenderQueues(const base::math::Matrix4f &viewTransform) override
Recomputes the model-view transforms of the renderables enqueued by this stage.
float maximumIntensity() const
Tells the upper bound of the intensity window.
virtual void render(const base::Renderable &) override
Renders the renderable.
virtual void buildRenderQueues(base::Node &root, const base::math::Matrix4f &viewTransform) override
Builds the rendering queues of this stage.
void setWindowingLevel(float windowingLevel)
Sets windowing level to windowingLevel.
virtual void rewindRenderQueues() override
Rewinds the rendering queues of this stage.
void setRenderingInverse(bool inverse)
Sets whether brightness shall be inversely proportional to the intensity.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.