LibCarna Version 3.4.0
Loading...
Searching...
No Matches
BufferedVectorFieldTexture.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 - 2016 Leonid Kostrykin
3 *
4 * Chair of Medical Engineering (mediTEC)
5 * RWTH Aachen University
6 * Pauwelsstr. 20
7 * 52074 Aachen
8 * Germany
9 *
10 *
11 * Copyright (C) 2021 - 2025 Leonid Kostrykin
12 *
13 */
14
15#ifndef BUFFEREDVECTORFIELDTEXTURE_H_6014714286
16#define BUFFEREDVECTORFIELDTEXTURE_H_6014714286
17
20#include <memory>
21
27namespace LibCarna
28{
29
30namespace base
31{
32
33
34
35// ----------------------------------------------------------------------------------
36// BufferedVectorFieldTexture
37// ----------------------------------------------------------------------------------
38
46template< typename BufferedVectorFieldType >
48{
49
50protected:
51
59
60public:
61
66
74
79 virtual bool controlsSameVideoResource( const GeometryFeature& other ) const override;
80
81}; // BufferedVectorFieldTexture
82
83
84template< typename BufferedVectorFieldType >
95
96
97template< typename BufferedVectorFieldType >
103
104
105template< typename BufferedVectorFieldType >
107{
110 = dynamic_cast< const CompatibleBufferedVectorFieldTexture* >( &other );
111 if( other2 == nullptr )
112 {
113 return false;
114 }
115 else
116 {
117 return &field == &other2->field;
118 }
119}
120
121
122
123} // namespace LibCarna :: base
124
125} // namespace LibCarna
126
127#endif // BUFFEREDVECTORFIELDTEXTURE_H_6014714286
Defines LibCarna::base::BufferedVectorFieldFormat.
Defines LibCarna::base::ManagedTexture3D.
Represents an association.
Specializes the ManagedTexture3D class s.t. the texture's data is initialized from a math::VectorFiel...
const BufferedVectorFieldType & field
References the math::VectorField to be uploaded to the texture.
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.
static BufferedVectorFieldTexture< BufferedVectorFieldType > & create(const BufferedVectorFieldType &field)
Instantiates. Invoke release when it isn't needed any longer.
Represents "components" that are aggregated by Geometry objects. Closer description is given here.
Represents 3D OpenGL texture object whose lifetime is managed by instances of this class.
Maps math::VectorField implementations to Texture formats.