Newer
Older
cg / hw04 / src / Mesh.h
// Copyright (c) 2021. Pascal Syma <pascal@syma.dev> and Antonio Martinez Casadesus <acasadesus@stud.hs-bremen.de>.
// All rights reserved.

//
// Created by Pascal on 17.05.2021.
//

#ifndef OPENGL_EXAMPLE_MESH_H
#define OPENGL_EXAMPLE_MESH_H

#include <vector>
#include "Vertex.h"
#include "Tri.h"

using namespace std;


class Mesh {
public:
    vector <Vertex> pts;
    vector <Tri> tris;
    bool drawWireframe = false;
    bool drawOutline = false;

    Mesh();
    void loadData(const string& fileName);
    void saveData(const string& fileName);

    void connectivityAlgo();
    void subDivLoop();
    void subDivLoop(int count);
    void subDivEdgeMidpoint();

    Mesh* copy();

};


#endif //OPENGL_EXAMPLE_MESH_H