visualizations

Programmatic visualizations
git clone git://git.laack.co/visualizations.git
Log | Files | Refs | README

graph.hpp (812B)


      1 #pragma once
      2 
      3 #include <cstddef>
      4 #include <cstdint>
      5 #include <string>
      6 #include <unordered_map>
      7 #include <vector>
      8 #include "edge.hpp"
      9 #include "vertex.hpp"
     10 
     11 class Graph {
     12     private:
     13         std::unordered_map<std::size_t, std::vector<Edge>> edges {};
     14         std::vector<Vertex> vertices {};
     15     public:
     16         // based on the edgeCount and vertCount, random edges and vertices will be created.
     17         Graph(std::size_t edgeCount, std::size_t vertCount, uint32_t xMax, uint32_t yMax);
     18         std::string toString() noexcept;
     19         void render() noexcept;
     20         void traverseVertexIdx(std::size_t idx);
     21         std::vector<Edge> getEdgesOfVertexIdx(std::size_t idx);
     22         void setEdgeTraversed(Edge e);
     23         Vertex getVertex(std::size_t idx);
     24         std::size_t getVertexCount() const noexcept;
     25 };