34 lines
941 B
C++
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
|