9 #ifndef GlobeEngine_VolumeComposition_h
10 #define GlobeEngine_VolumeComposition_h
12 #include "OpenGL_Includes.h"
16 #include <vmmlib/vmmlib.hpp>
31 bool cmpf(
float A,
float B,
float epsilon = 0.005f);
37 std::vector<std::vector<std::shared_ptr<ge::Texture3Df>>>
getTextures();
53 float* _data, vmml::Vector2f _minmax =
nullptr);
56 void drawFrame(std::shared_ptr<ge::Camera> _cam);
61 std::shared_ptr<ge::Cube> boundingBox;
62 std::vector<std::vector<std::shared_ptr<ge::Texture3Df>>> volumeTextures;
65 float sliceNumber = 0.0;
66 float stepSize = 0.01;
70 float lmipThreshold = 0.0;
72 std::vector<std::vector<std::vector<long>>> histograms;
73 std::vector<std::vector<float>> minimumHistValue;
74 std::vector<std::vector<float>> maximumHistValue;
void generateHistogram(vmml::Vector2f _minmax, int _sumDim, const float *_data)
Definition: VolumeComposition.cpp:46
void setBoundingBox(std::shared_ptr< ge::Cube > _boundingBox)
Definition: VolumeComposition.cpp:36
std::vector< std::vector< std::shared_ptr< ge::Texture3Df > > > getTextures()
Definition: VolumeComposition.cpp:214
void addTimestepVolume(vmml::Vector3s _dim, float *_data, vmml::Vector2f _minmax=nullptr)
Definition: VolumeComposition.cpp:88
Definition: ArrowField.h:16
std::vector< std::vector< float > > getMinimumHistValue()
Definition: VolumeComposition.cpp:237
void setTransferFunction(std::shared_ptr< ge::Texture1Drgba > _transferFunctionTexture)
Definition: VolumeComposition.cpp:16
VolumeComposition()
Definition: VolumeComposition.cpp:6
~VolumeComposition()
Definition: VolumeComposition.cpp:11
void setLMIPThreshold(float _lmipThreshold)
Definition: VolumeComposition.cpp:245
void setSliceNumber(int _sliceNumber)
std::vector< std::vector< float > > getMaximumHistValue()
Definition: VolumeComposition.cpp:241
void enableUIFbo()
Definition: VolumeComposition.cpp:219
void updateTextureHandle(int _variable, int _timeStep)
Definition: VolumeComposition.cpp:205
std::vector< std::vector< std::vector< long > > > getHistogramData()
Definition: VolumeComposition.cpp:233
void drawFrame(std::shared_ptr< ge::Camera > _cam)
Definition: VolumeComposition.cpp:21
Definition: Composition.h:23
bool isUIFboactive()
Definition: VolumeComposition.cpp:225
void loadVolumeDataFromFileList(std::vector< std::vector< std::string >> _fileList, vmml::Vector3s _dim)
Definition: VolumeComposition.cpp:102
Definition: VolumeComposition.h:20
void disableUIFbo()
Definition: VolumeComposition.cpp:222
bool cmpf(float A, float B, float epsilon=0.005f)
Definition: VolumeComposition.cpp:229
void setStepSize(float _stepSize)
Definition: VolumeComposition.cpp:41