Ich arbeite an einer Flussvisualisierungsaufgabe, bei der ich die Daten in irgendeiner Weise analysieren muss. Die Visualisierung wird von jemand anderem geschrieben und erwartet einen Vektor von GLFloat, der die Daten enthält. Ich würde jedoch viel lieber eine Klassenstruktur wie unten haben. Gibt es eine Möglichkeit, dies zu erreichen, ohne die Daten zu kopieren (wie eine Union)?Zwei Vektoren mit gleichen Daten, aber unterschiedlichen Typen
struct Vertex
{
math::vec3 pos;
float time;
float velocity;
};
class Pathline
{
std::vector<Vertex> points;
};
//these have the same data
std::vector<Pathline> lines;
std::vector<GLfloat> lineData;
Dank
Die Daten scheinen eine sehr unterschiedliche Struktur zu haben. Nein, Sie können keine Union verwenden, wenn Sie auf Portabilität Wert legen. – user2079303
In welchem Format müssen sich die Daten befinden? Wenn es fünf Floats in Folge erwartet, würden Sie höchstwahrscheinlich von den Interna des Vektors profitieren. Aber nicht, wenn es Vektoren in einem Vektor gibt. –
Wie erkennen Sie die Anzahl der Pfadlinien von lineData? Speichern Sie diese Informationen irgendwo? –