Carna  Version 3.3.2
Namespaces | Classes | Typedefs | Functions
Carna::base Namespace Reference

Contains the core framework components. More...

Namespaces

 math
 Provides set of math-related classes and functions.
 
 text
 Provides text-related helper functions.
 

Classes

class  Aggregation
 Represents an aggregation, i.e. a weak reference. More...
 
class  AssertionFailure
 Carna exception that indicates a failed assertion. More...
 
class  Association
 Represents an association. More...
 
class  BaseBuffer
 Implements OpenGL buffer objects maintenance RAII base class. More...
 
class  BlendFunction
 Defines how alpha blending is to be performed. More...
 
class  BoundingBox
 Defines a Geometry minimal boundary box. More...
 
class  BoundingSphere
 Defines a Geometry minimal boundary sphere. More...
 
class  BoundingVolume
 Represents a Geometry minimal boundary volume of simple geometric shape. The volume is centered within its local coordinate system. More...
 
class  BreakForDebug
 Controls whether the CARNA_BREAK_FOR_DEBUG macro produces a break point or not. More...
 
class  BufferedHUVolume
 Implements HUVolume generically for a particular VoxelType. More...
 
class  BufferedIntensityVolume
 Implements IntensityVolume generically for a particular VoxelType. More...
 
class  BufferedNormalMap3D
 Implements NormalMap3D generically for a particular VoxelType. More...
 
struct  BufferedVectorFieldFormat
 Maps math::VectorField implementations to Texture formats. More...
 
struct  BufferedVectorFieldFormat< HUVolumeUInt16 >
 Defines Texture format for HUVolumeUInt16. More...
 
struct  BufferedVectorFieldFormat< IntensityVolumeUInt16 >
 Defines Texture format for IntensityVolumeUInt16. More...
 
struct  BufferedVectorFieldFormat< IntensityVolumeUInt8 >
 Defines Texture format for IntensityVolumeUInt8. More...
 
struct  BufferedVectorFieldFormat< NormalMap3DInt8 >
 Defines Texture format for NormalMap3DInt8. More...
 
class  BufferedVectorFieldTexture
 Specializes the ManagedTexture3D class s.t. the texture's data is initialized from a math::VectorField that supports a buffer method, like BufferedHUVolume and BufferedNormalMap3D do. More...
 
class  Camera
 Represents the point-of-view and defines the 3D to 2D projection. More...
 
class  CameraControl
 Defines interface for intuitive Camera control. More...
 
class  CarnaException
 Base exception class that provides distinct attributes for the type (category) of the exception, a message and an optional details section. More...
 
class  Color
 Represents a color. Objects from this class are copyable and assignable. More...
 
class  Composition
 Represents a composition, i.e. a strong reference. This basically is a std::unique_ptr that supports the Association interface. More...
 
class  Framebuffer
 Maintains a framebuffer object that supports up to 8 color components simultaneously. More...
 
class  FrameRenderer
 Defines logic for rendering frames from given scenes. More...
 
class  Geometry
 Defines scene graph leafs. Instances of this class represent visible geometry that can be rendered. The way of rendering is defined by the geometry rendering stage with matching geometryType. More...
 
class  GeometryFeature
 Represents "components" that are aggregated by Geometry objects. Closer description is given here. More...
 
class  GeometryStage
 Partially implements a rendering stage that uses at least one render queue for rendering geometry from the scene graph. More...
 
class  GLContext
 Wraps and represents an OpenGL context. More...
 
struct  HUV
 Represents values in \(\left[-1024, +3071\right]\). More...
 
class  HUVolume
 Defines interface to \(\mathbb N_0^3 \to \left[-1024,3071\right]\) volumetric data. More...
 
class  IndexBuffer
 Specializes IndexBufferBase for particular IndexType. More...
 
class  IndexBufferBase
 Maintains GL_ELEMENT_ARRAY_BUFFER object that holds the vertex indices, that interconnect the vertices to primitives. This class realizes the RAII-idiom. More...
 
struct  IndexBufferTypeMapper
 Maps index buffer element types to descriptive constants. More...
 
struct  IndexBufferTypeMapper< uint16_t >
 Maps uint16_t to IndexBufferBase::TYPE_UINT_16. More...
 
struct  IndexBufferTypeMapper< uint32_t >
 Maps uint32_t to IndexBufferBase::TYPE_UINT_32. More...
 
struct  IndexBufferTypeMapper< uint8_t >
 Maps uint8_t to IndexBufferBase::TYPE_UINT_8. More...
 
class  IntensityVolume
 Defines interface to \(\mathbb N_0^3 \to \left[0,1\right]\) volume data. More...
 
class  Log
 Records log messages. The log writing is delegated to implementations of the Log::Writer interface. The default writer is an instance from Log::StdWriter class. More...
 
class  ManagedMesh
 Implements MeshBase class for particular VertexType and IndexType. More...
 
class  ManagedMeshBase
 Represents MeshBase object whose lifetime is managed by instances of this class. This is a format-independent abstract ManagedMesh base class. More...
 
class  ManagedMeshInterface
 Interfaces the MeshBase that a ManagedMeshBase represents. More...
 
class  ManagedTexture3D
 Represents 3D OpenGL texture object whose lifetime is managed by instances of this class. More...
 
class  ManagedTexture3DInterface
 Interfaces the Texture<3> that a ManagedTexture3D represents. More...
 
class  Material
 Specifies the shader and it's configuration that are to be used for rendering a Geometry node with a MeshRenderingStage. Custom implementations could also tweak the render state. More...
 
class  Mesh
 Implements MeshBase class for particular VertexType and IndexType. More...
 
class  MeshBase
 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. More...
 
class  MeshFactory
 Creates simple predefined ManagedMesh instances. More...
 
class  MeshRenderingStage
 Implements a geometry rendering stage that renders meshes. More...
 
class  MeshRenderingStageBase
 Defines MeshRenderingStage class template instance invariants. More...
 
class  Node
 Defines the inner node of a scene graph. Implements a spatial scene element that is allowed to have children, but cannot be rendered. More...
 
class  NodeListener
 Notified by Node objects. More...
 
class  noncopyable
 Objects from classes inheriting this cannot be copied. More...
 
class  NormalMap3D
 Defines interface to \(\mathbb N_0^3 \to \left\{\vec v \middle| \left\|\vec v \in \mathbb R^3\right\|_2 \leq 1\right\}\) mapping. More...
 
struct  PCVertex
 Defines vertex that consists of the two attributes position and color. More...
 
struct  PNVertex
 Defines vertex that consists of the two attributes position and normal vector. More...
 
class  ProjectionControl
 Controls projection matrices. More...
 
struct  PVertex
 Defines simple-most vertex that only consists of a positional attribute. More...
 
class  QGLContextAdapter
 If you're using Qt, this class template implements the abstract GLContext class as an adapter to the QGLContext class from Qt. More...
 
class  Renderable
 Represents a Geometry object that has been queued into a RenderQueue. The object's model-view transform has been computed in particular. More...
 
class  RenderQueue
 Gathers renderable geometry nodes from scene graph and provides those in a particular order, if required. More...
 
class  RenderStage
 Base abstract class of each rendering stage. Refer to the documentation of the rendering process. More...
 
class  RenderStageListener
 Defines callbacks for RenderStage lifetime events. More...
 
class  RenderStageSequence
 Represents a rendering stages sequence. More...
 
class  RenderState
 Manages the OpenGL render state. More...
 
class  RenderTask
 Invokes the rendering stages of the frame renderer successively. More...
 
class  RotatingColor
 Supplies colors from a predefined, distinctive palette. More...
 
class  Sampler
 Maintains an OpenGL texture sampler object. This class realizes the RAII-idiom. More...
 
class  Shader
 Maintains an OpenGL shader object. Realizes the RAII-idiom. More...
 
class  ShaderCompilationError
 Thrown when shader compilation fails. More...
 
class  ShaderManager
 Ensures that each shader is built just once and not each time someone requests it. More...
 
class  ShaderProgram
 Maintains an OpenGL shader program. Realizes the RAII-idiom. More...
 
class  ShaderUniform
 Implements ShaderUniformBase class for particular ValueType. More...
 
class  ShaderUniformBase
 Type-independent abstract ShaderUniform base class. More...
 
struct  ShaderUniformType
 Maps ShaderUniform value types to actually uploaded data types. This general case maps T to T. More...
 
struct  ShaderUniformType< Color >
 Maps the ShaderUniform value type Color to uploaded type math::Vector4f. More...
 
class  Singleton
 Singleton base class More...
 
class  Spatial
 Represents a spatial scene element. It's location is determined relatively to another spatial that is called its parent. This parent-child relationship induces the scene graph concept. More...
 
class  SpatialMovement
 Handles the displacement of a Spatial object in a drag-&-drop like manner. More...
 
class  Stopwatch
 Implements stopwatch using the robust wallclock time from OMP that most compilers support. More...
 
class  Texture
 Represents an OpenGL texture object. This class realizes the RAII-idiom. More...
 
class  TextureBase
 Texture base class with dimension-independent definitions. More...
 
struct  VertexAttribute
 Declares a vertex attribute. More...
 
class  VertexBuffer
 Specializes VertexBufferBase for particular VertexType. More...
 
class  VertexBufferBase
 Maintains GL_ARRAY_BUFFER object that holds vertices. This class realizes the RAII-idiom. More...
 
struct  VertexColor
 Defines vertex component for colors. Usage is explained here. More...
 
struct  VertexNormal
 Defines vertex component for normal vectors. Usage is explained here. More...
 
struct  VertexPosition
 Defines vertex component for position vectors. Usage is explained here. More...
 
class  Viewport
 Defines a rendering viewport. The viewport is a property of the current OpenGL context. More...
 
class  VolumeGrid
 Represents a particular partitioning of volumetric data. More...
 
class  VolumeSegment
 Represents a single volumetric data partition. More...
 
class  VolumeSegmentNormalsComponent
 Represents the normal map component of an VolumeSegment object. More...
 
class  VolumeSegmentNormalsComponent< void >
 Specializes VolumeSegmentNormalsComponent when no normal maps are desired. More...
 

Typedefs

typedef std::vector< VertexAttributeVertexAttributes
 Defines VertexAttribute vector.
 
typedef BufferedIntensityVolume< uint16_t > IntensityVolumeUInt16
 Defines 16bit intensity volume. More...
 
typedef BufferedIntensityVolume< uint8_t > IntensityVolumeUInt8
 Defines 8bit intensity volume. More...
 
typedef BufferedHUVolume< uint16_t > HUVolumeUInt16
 Defines 16bit unsigned integer HU volume data. More...
 
typedef BufferedNormalMap3D< int8_t > NormalMap3DInt8
 Defines 8bit signed integer BufferedNormalMap3D.
 

Functions

template<>
void bindGLTextureObject< 1 > (unsigned int unit, unsigned int id)
 
template<>
void bindGLTextureObject< 2 > (unsigned int unit, unsigned int id)
 
template<>
void bindGLTextureObject< 3 > (unsigned int unit, unsigned int id)
 

Detailed Description

Contains the core framework components.

Typedef Documentation

◆ HUVolumeUInt16

Defines 16bit unsigned integer HU volume data.

Deprecated:
Use IntensityVolumeUInt16 instead.

Definition at line 155 of file Carna.h.

◆ IntensityVolumeUInt16

Defines 16bit intensity volume.

Since
API Version 3.2.0

Definition at line 134 of file Carna.h.

◆ IntensityVolumeUInt8

Defines 8bit intensity volume.

Since
API Version 3.2.0

Definition at line 148 of file Carna.h.

Function Documentation

◆ bindGLTextureObject< 1 >()

template<>
void Carna::base::bindGLTextureObject< 1 > ( unsigned int  unit,
unsigned int  id 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ bindGLTextureObject< 2 >()

template<>
void Carna::base::bindGLTextureObject< 2 > ( unsigned int  unit,
unsigned int  id 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ bindGLTextureObject< 3 >()

template<>
void Carna::base::bindGLTextureObject< 3 > ( unsigned int  unit,
unsigned int  id 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.