Carna  Version 3.0.1
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType > Class Template Reference

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...

#include <BufferedVectorFieldTexture.h>

+ Inheritance diagram for Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >:
+ Collaboration diagram for Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >:

Public Member Functions

virtual bool controlsSameVideoResource (const GeometryFeature &other) const override
 Tells true if other is of same type and references the same field. Tells false otherwise.
 
- Public Member Functions inherited from Carna::base::ManagedTexture3D
virtual ManagedTexture3DInterfaceacquireVideoResource () override
 Acquires the video resources from this GeometryFeature by returning new instance of a class derived from ManagedInterface, that realizes the RAII idiom. Refer to its documentation for details. May return nullptr if this GeometryFeature does not provide any video resources.
 
- Public Member Functions inherited from Carna::base::GeometryFeature
unsigned int videoResourceAcquisitionsCount () const
 Tells current number of video resource acquisitions.
 
void release ()
 Denotes that this object is no longer required and may be deleted as soon as it is valid to delete it. More...
 
void addTo (Geometry &sceneGraphNode, unsigned int role)
 Puts this geometry feature on the sceneGraphNode. More...
 
void removeFrom (Geometry &sceneGraphNode)
 Removes this geometry feature from the sceneGraphNode. More...
 

Static Public Member Functions

static BufferedVectorFieldTexture< BufferedVectorFieldType > & create (const BufferedVectorFieldType &field)
 Instantiates. Invoke release when it isn't needed any longer. More...
 
- Static Public Member Functions inherited from Carna::base::ManagedTexture3D
static ManagedTexture3Dcreate (const math::Vector3ui &size, int internalFormat, int pixelFormat, int bufferType, const void *bufferPtr)
 Instantiates. Invoke release when it isn't needed any longer. More...
 

Public Attributes

const BufferedVectorFieldType & field
 References the math::VectorField to be uploaded to the texture.
 
- Public Attributes inherited from Carna::base::ManagedTexture3D
const math::Vector3ui size
 Tells the resolution of this texture. More...
 
const int internalFormat
 Holds the number of color components in the texture, e.g. GL_RGBA8UI or GL_INTENSITY16. More...
 
const int pixelFormat
 Holds the format of the pixel data, e.g. GL_RED, GL_RGB or GL_RGBA. More...
 
const int bufferType
 Specifies the data type of the pixel data to be uploaded to the texture.
 
const void *const bufferPtr
 Points to the pixel data that will be uploaded to the texture.
 
const base::math::Matrix4f textureCoordinatesCorrection
 Stretches texture coordinates s.t. the centers of the texels, that are located in the texture corners, become located in those corners. More...
 

Protected Member Functions

 BufferedVectorFieldTexture (const BufferedVectorFieldType &field)
 Instantiates. More...
 
- Protected Member Functions inherited from Carna::base::ManagedTexture3D
 ManagedTexture3D (const math::Vector3ui &size, int internalFormat, int pixelFormat, int bufferType, const void *bufferPtr)
 Instantiates. More...
 
 ~ManagedTexture3D ()
 Deletes.
 
- Protected Member Functions inherited from Carna::base::GeometryFeature
 GeometryFeature ()
 Instantiates.
 
virtual ~GeometryFeature ()
 Deletes and logs an error if video resources are leaked.
 

Additional Inherited Members

- Public Types inherited from Carna::base::ManagedTexture3D
typedef ManagedTexture3DInterface ManagedInterface
 Defines the type to be used for interfacing the video resource.
 
- Protected Attributes inherited from Carna::base::ManagedTexture3D
std::unique_ptr< Texture< 3 > > textureObject
 Holds the maintained OpenGL texture object.
 

Detailed Description

template<typename BufferedVectorFieldType>
class Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >

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.

Author
Leonid Kostrykin
Date
26.3.15 - 30.3.15

Definition at line 44 of file BufferedVectorFieldTexture.h.

Constructor & Destructor Documentation

template<typename BufferedVectorFieldType >
Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >::BufferedVectorFieldTexture ( const BufferedVectorFieldType &  field)
protected

Instantiates.

Parameters
fieldreferences the math::VectorField to be uploaded to the texture.

Definition at line 82 of file BufferedVectorFieldTexture.h.

Member Function Documentation

template<typename BufferedVectorFieldType >
BufferedVectorFieldTexture< BufferedVectorFieldType > & Carna::base::BufferedVectorFieldTexture< BufferedVectorFieldType >::create ( const BufferedVectorFieldType &  field)
static

Instantiates. Invoke release when it isn't needed any longer.

Parameters
fieldreferences the math::VectorField to be uploaded to the texture.

Definition at line 96 of file BufferedVectorFieldTexture.h.


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