#ifndef FLATPATTERN_HPP #define FLATPATTERN_HPP #include "trianglepatterngeometry.hpp" class FlatPattern : public FlatPatternGeometry { public: FlatPattern(); FlatPattern(const std::string &filename, bool addNormalsIfAbsent = true); FlatPattern(const std::vector &numberOfNodesPerSlot, const std::vector &edges); bool createHoneycombAtom(); void copy(FlatPattern &pattern); void tilePattern(VCGEdgeMesh &pattern, VCGTriMesh &tileInto); void tilePattern(VCGEdgeMesh &pattern, VCGPolyMesh &tileInto, const bool &shouldDeleteDanglingEdges); void createFan(const size_t &fanSize = 6); void deleteDanglingVertices( vcg::tri::Allocator::PointerUpdater &pu); void deleteDanglingVertices(); void scale(const double &desiredBaseTriangleCentralEdgeSize); double getBaseTriangleHeight() const; private: void deleteDanglingEdges(); void removeDuplicateVertices(); double baseTriangleHeight; }; #endif // FLATPATTERN_HPP