#ifndef PATTERNEXPORTER_HPP #define PATTERNEXPORTER_HPP #include #include #include #include enum PatternLabel { Valid = 0, MultipleCC, DanglingEdge, IntersectingEdges, ArticulationPoints }; struct Pattern { std::vector edges; std::vector labels; }; /* * A set of planar patterns using the same nodes * */ struct PatternSet { std::vector nodes; std::vector patterns; }; class PatternIO { public: PatternIO(); static void save(const std::string &filepath, const Pattern &pattern); static void save(const std::string &filepath, const PatternSet &patterns); static void load(const std::string &filepath, PatternSet &patternSet, const std::vector &targetLabels = {}); }; #endif // PATTERNEXPORTER_HPP