MySources/flatpattern.hpp

34 lines
941 B
C++

#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<size_t> &numberOfNodesPerSlot,
const std::vector<vcg::Point2i> &edges);
bool createHoneycombAtom();
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<FlatPattern>::PointerUpdater<VertexPointer> &pu);
void deleteDanglingVertices();
private:
void deleteDanglingEdges();
void removeDuplicateVertices();
void scale();
const double desiredBaseTriangleCentralEdgeSize{0.03};
};
#endif // FLATPATTERN_HPP