12 #ifndef BUFFEREDVECTORFIELDTEXTURE_H_6014714286
13 #define BUFFEREDVECTORFIELDTEXTURE_H_6014714286
43 template<
typename BufferedVectorFieldType >
62 const BufferedVectorFieldType&
field;
81 template<
typename BufferedVectorFieldType >
88 , &field.buffer().front() )
94 template<
typename BufferedVectorFieldType >
96 (
const BufferedVectorFieldType& field )
102 template<
typename BufferedVectorFieldType >
106 const CompatibleBufferedVectorFieldTexture*
const other2
107 =
dynamic_cast< const CompatibleBufferedVectorFieldTexture*
>( &other );
108 if( other2 ==
nullptr )
114 return &field == &other2->
field;
124 #endif // BUFFEREDVECTORFIELDTEXTURE_H_6014714286
Specializes the ManagedTexture3D class s.t. the texture's data is initialized from a math::VectorFiel...
static BufferedVectorFieldTexture< BufferedVectorFieldType > & create(const BufferedVectorFieldType &field)
Instantiates. Invoke release when it isn't needed any longer.
Represents 3D OpenGL texture object whose lifetime is managed by instances of this class...
Represents "components" that are aggregated by Geometry objects. Closer description is given here...
const BufferedVectorFieldType & field
References the math::VectorField to be uploaded to the texture.
Defines Carna::base::ManagedTexture3D.
virtual bool controlsSameVideoResource(const GeometryFeature &other) const override
Tells true if other is of same type and references the same field. Tells false otherwise.
BufferedVectorFieldTexture(const BufferedVectorFieldType &field)
Instantiates.