12 #ifndef CARNA_GLOBAL_H_6014714286
13 #define CARNA_GLOBAL_H_6014714286
15 #if defined( CARNA_EXPORT )
16 # if defined( _MSC_VER )
17 # define CARNA_LIB __declspec( dllexport )
18 # pragma warning( disable : 4251 )
19 # elif defined( _GCC )
20 # define CARNA_LIB __attribute__( ( visibility( "default" ) ) )
25 # if defined( _MSC_VER )
26 # define CARNA_LIB __declspec( dllimport )
31 #if defined( NO_OVERRIDE_KEYWORD )
56 typedef signed short HUV;
107 class NormalMap3DTexture;
113 template<
typename AssociatedObjectType >
class Aggregation;
114 template<
typename AssociatedObjectType >
class Association;
115 template<
typename BufferedVectorComponentType,
typename BufferType = std::vector< BufferedVectorComponentType > >
117 template<
typename VoxelType,
typename BufferType = std::vector< VoxelType > >
class BufferedHUVolume;
120 template<
typename AssociatedObjectType >
class Composition;
122 template<
typename SegmentHUVolumeType,
typename SegmentNormalsVolumeType >
class VolumeGrid;
123 template<
typename SegmentHUVolumeType,
typename SegmentNormalsVolumeType >
class VolumeSegment;
125 template<
typename VertexType,
typename IndexType >
class Mesh;
126 template<
typename VertexType,
typename IndexType >
class ManagedMesh;
129 template<
typename RenderableCompare >
class RenderQueue;
133 template<
typename InstanceType >
class Singleton;
134 template<
unsigned int dimension >
class Texture;
154 template<
typename VectorType >
class Ray;
155 template<
typename ValueType >
class VectorField;
156 template<
typename T >
class Span;
157 template<
typename VectorType,
typename ScalarType =
typename VectorType::Scalar >
class RayPlaneHitTest;
199 template<
typename SegmentHUVolumeType,
typename SegmentNormalsVolumeType =
void >
class VolumeGridHelper;
212 #endif // CARNA_GLOBAL_H_6014714286
Specializes VertexBufferBase for particular VertexType.
Implements HUVolume generically for a particular VoxelType.
Renders digital radiograph reconstructs of volume geometries in the scene.
Defines default rendering stages order used by FrameRendererHelper.
Simplifies the creation and maintenance of point markers.
Defines rendering stage that combines two other renderings either by putting them next to each other ...
Implements a geometry rendering stage that renders meshes.
Implements rendering stage that renders transparent meshes.
Implements MeshBase class for particular VertexType and IndexType.
Specializes the ManagedTexture3D class s.t. the texture's data is initialized from a math::VectorFiel...
Carna exception that indicates a failed assertion.
Declares a vertex attribute.
Manages the OpenGL render state.
Defines scene graph leafs. Instances of this class represent visible geometry that can be rendered...
Controls projection matrices.
Supplies colors from a predefined, distinctive palette.
Implements a simple interface for mapping frame coordinates to base::Mesh objects.
Defines vertex component for normal vectors. Usage is explained here.
Controls projection matrices that induce frustum-shaped visible volume.
Interfaces the Texture<3> that a ManagedTexture3D represents.
Partially implements a rendering stage that uses at least one render queue for rendering geometry fro...
Defines type-parameters-independent VolumeGridHelper base interface.
Thrown when shader compilation fails.
Implements NormalMap3D generically for a particular VoxelType.
Represents an aggregation, i.e. a weak reference.
Represents a single volumetric data partition.
Defines callbacks for RenderStage lifetime events.
BufferedHUVolume< uint16_t > HUVolumeUInt16
Defines 16bit unsigned integer HU volume data.
Represents 3D OpenGL texture object whose lifetime is managed by instances of this class...
Controls orthogonal projection matrices, that induce box-shaped visible volume, and base::Camera obje...
Gathers renderable geometry nodes from scene graph and provides those in a particular order...
Represents "components" that are aggregated by Geometry objects. Closer description is given here...
Handles the displacement of a Spatial object in a drag-&-drop like manner.
Defines a Geometry minimal boundary box.
Maintains GL_ARRAY_BUFFER object that holds vertices. This class realizes the RAII-idiom.
Defines vertex component for colors. Usage is explained here.
Defines logic for rendering frames from given scenes.
Maintains an OpenGL shader program. Realizes the RAII-idiom.
Represents MeshBase object whose lifetime is managed by instances of this class. This is a format-ind...
Creates simple predefined ManagedMesh instances.
Base exception class that provides distinct attributes for the type (category) of the exception...
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.
Defines simple-most vertex that only consists of a positional attribute.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Renders maximum intensity projections of volume geometries in the scene.
Maintains an OpenGL texture sampler object. This class realizes the RAII-idiom.
Renders cutting planes of volume geometries in the scene.
Notified by Node objects.
Defines abstract base class for rendering stages that render volume geometries in the scene...
Represents a color. Objects from this class are copyable and assignable.
Defines an HUV range and the way it's visualized within a MIPStage.
Specifies the shader and it's configuration that are to be used for rendering a Geometry node with a ...
Represents a Geometry minimal boundary volume of simple geometric shape. The volume is centered withi...
Renders geometry that is actually depth-occluded. The occluded geometry is rendered with reduced opac...
Defines interface to volumetric data.
Implements base::CameraControl, rotates the camera around its parent node. The camera movement is bou...
Base abstract class of each rendering stage. Refer to the documentation of the rendering process...
Interfaces the MeshBase that a ManagedMeshBase represents.
Records log messages. The log writing is delegated to implementations of the Log::Writer interface...
Defines a rendering viewport. The viewport is a property of the current OpenGL context.
Defines MeshRenderingStage class template instance invariants.
Format-independent abstract Mesh base class. Each mesh consists of a VertexBuffer, an IndexBuffer and a vertex array. This class realizes the RAII-idiom w.r.t. the vertex array.
BufferedNormalMap3D< int8_t > NormalMap3DInt8
Defines 8bit signed integer BufferedNormalMap3D.
Defines interface to mapping.
Ensures that each shader is built just once and not each time someone requests it.
Implements base::CameraControl, rotates the camera around itself and allows completely free camera mo...
Specializes IndexBufferBase for particular IndexType.
Defines interface for intuitive Camera control.
Implements MeshBase class for particular VertexType and IndexType.
Represents an OpenGL texture object. This class realizes the RAII-idiom.
Represents a Geometry object that has been queued into a RenderQueue. The object's model-view transfo...
Represents the point-of-view and defines the 3D to 2D projection.
Implements OpenGL buffer objects maintenance RAII base class.
Computes the partitioning of volumetric data and the corresponding normal map. Also creates scene nod...
Defines how alpha blending is to be performed.
signed short HUV
Represents values in .
Represents a composition, i.e. a strong reference. This basically is a std::unique_ptr that supports ...
Represents an association.
Maintains an OpenGL shader object. Realizes the RAII-idiom.
Wraps and represents an OpenGL context.
Texture base class with dimension-independent definitions.
Maintains a framebuffer object that supports up to 8 color components simultaneously.
Performs direct volume renderings of the volume geometries in the scene.
Defines vertex that consists of the two attributes position and color.
Represents a particular partitioning of volumetric data.
Adds rendering stages to a base::FrameRenderer object according to RenderStageOrder.
Represents a rendering stages sequence.
Maintains GL_ELEMENT_ARRAY_BUFFER object that holds the vertex indices, that interconnect the vertice...