#pragma once #ifndef OUTPUTSURFMESH_H #define OUTPUTSURFMESH_H #include #include #include class OutputSurfMesh { public: float scale; int num_nodes; int num_triangles; // Node coordinates: [x/y/z][index] std::vector> xyznode; // Triangles: [n0/n1/n2][triangle_index] std::vector> triangles; // [i][nx, ny, nz] std::vector> normals; OutputSurfMesh() : scale(1.0f), num_nodes(0), num_triangles(0) {} void readFromFile(const std::string& filename); void printSummary() const; const std::vector& getNode(int idx) const; std::vector getTriangle(int idx) const; std::vector getNormal(int idx) const; void computeTriangleNormals(); }; #endif