std::vector<std::pair<Triangle, int>> PenultimateTriangle::do_generateTriangleEdgePairs(double frameWidth)
{
    if (edges.size()!=3)
    {
        std::cout << "PenultimateTriangle::Face must have exactly 3 edges." << "\n";
        return std::vector<std::pair<Triangle, int>>();
    }
    
    //std::vector<Point> verticess=FaceGenerator::pointsFromEdgePairVector(pointedges);
    generateInnerPoints(frameWidth);
    std::vector<Triangle> triangles=connectInnerPoints();
    
    std::vector<std::pair<Triangle, int>> pairs;
    for (int i=0;i<triangles.size();i++)
    {
        pairs.push_back( std::pair<Triangle, int>(triangles.at(i),edges.at(i)) );
    }
    
    return pairs;
}
std::vector<Triangle> PenultimateTriangle::generateTriangles(double frameWidth)
{
    generateInnerPoints(frameWidth);
    return connectInnerPoints();
}
std::vector<Triangle> FramedFace::generateTriangles(double frameWidth,const VertexVector& vertices)
{
    generateInnerPoints(frameWidth,vertices);
    return connectInnerPoints(vertices);
}