MySources/flatpattern.hpp

36 lines
1.0 KiB
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 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<FlatPattern>::PointerUpdater<VertexPointer> &pu);
void deleteDanglingVertices();
void scale(const double &desiredBaseTriangleCentralEdgeSize);
double getBaseTriangleHeight() const;
private:
void deleteDanglingEdges();
void removeDuplicateVertices();
double baseTriangleHeight;
};
#endif // FLATPATTERN_HPP