Implement node positions for animations.
This commit is contained in:
@@ -21,6 +21,7 @@ static inline void computeColor(float intensity, float limit, float* destination
|
||||
}
|
||||
|
||||
FlatLayerVisualisation::FlatLayerVisualisation(const LayerData &layer, Ordering ordering) :
|
||||
LayerVisualisation(layer.numEntries()),
|
||||
ordering(ordering),
|
||||
faceCount(layer.numEntries() * 4),
|
||||
vertexBuffer(new float[faceCount * 3]),
|
||||
@@ -78,7 +79,7 @@ void FlatLayerVisualisation::render()
|
||||
glDisableClientState(GL_COLOR_ARRAY);
|
||||
}
|
||||
|
||||
void FlatLayerVisualisation::setVertexPositions(int vertexNo, float *destination)
|
||||
void FlatLayerVisualisation::setVertexPositions(const int vertexNo, float *destination)
|
||||
{
|
||||
int j = 0;
|
||||
float zOffset;
|
||||
@@ -100,6 +101,12 @@ void FlatLayerVisualisation::setVertexPositions(int vertexNo, float *destination
|
||||
break;
|
||||
}
|
||||
|
||||
nodePositions_[3 * vertexNo] = 0;
|
||||
nodePositions_[3 * vertexNo + 1] = yOffset;
|
||||
nodePositions_[3 * vertexNo + 2] = zOffset;
|
||||
// TODO: actually compute from this rather than copying to destination.
|
||||
// Side note: should move this out of this function anyway.
|
||||
|
||||
// Create the 4 vertices for the pyramid
|
||||
destination[j++] = -0.5f;
|
||||
destination[j++] = 0 + yOffset;
|
||||
|
||||
@@ -26,6 +26,6 @@ namespace fmri
|
||||
std::unique_ptr<float[]> colorBuffer;
|
||||
std::unique_ptr<int[]> indexBuffer;
|
||||
|
||||
void setVertexPositions(int vertexNo, float* destination);
|
||||
void setVertexPositions(const int vertexNo, float *destination);
|
||||
};
|
||||
}
|
||||
|
||||
11
src/LayerVisualisation.cpp
Normal file
11
src/LayerVisualisation.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "LayerVisualisation.hpp"
|
||||
|
||||
const std::vector<float> &fmri::LayerVisualisation::nodePositions() const
|
||||
{
|
||||
return nodePositions_;
|
||||
}
|
||||
|
||||
fmri::LayerVisualisation::LayerVisualisation(size_t numNodes)
|
||||
: nodePositions_(numNodes * 3)
|
||||
{
|
||||
}
|
||||
@@ -1,12 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace fmri
|
||||
{
|
||||
class LayerVisualisation
|
||||
{
|
||||
public:
|
||||
LayerVisualisation() = default;
|
||||
LayerVisualisation(size_t numNodes);
|
||||
virtual ~LayerVisualisation() = default;
|
||||
|
||||
virtual void render() = 0;
|
||||
virtual const std::vector<float>& nodePositions() const;
|
||||
|
||||
protected:
|
||||
std::vector<float> nodePositions_;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user