void AddTriangle(const std::vector<std::string> & inputParts, std::vector<std::shared_ptr<CShape>> & figures, std::vector<std::shared_ptr<sf::Shape>> & shapes) { CPoint p1 = CPoint(std::stod(inputParts[1]), std::stod(inputParts[2])); CPoint p2 = CPoint(std::stod(inputParts[3]), std::stod(inputParts[4])); CPoint p3 = CPoint(std::stod(inputParts[5]), std::stod(inputParts[6])); std::string outlineColor = inputParts[7]; std::string fillColor = inputParts[8]; CTriangle triangle = CTriangle(p1, p2, p3, outlineColor, fillColor); sf::ConvexShape drawingTriangle; drawingTriangle.setFillColor(ConvertHexToRgb(fillColor)); drawingTriangle.setOutlineColor(ConvertHexToRgb(outlineColor)); drawingTriangle.setPointCount(3); drawingTriangle.setPoint(0, sf::Vector2f((float)p1.GetPosition().first, (float)p1.GetPosition().second)); drawingTriangle.setPoint(1, sf::Vector2f((float)p2.GetPosition().first, (float)p2.GetPosition().second)); drawingTriangle.setPoint(2, sf::Vector2f((float)p3.GetPosition().first, (float)p3.GetPosition().second)); drawingTriangle.setOutlineThickness(3.f); figures.push_back(std::make_shared<CTriangle>(triangle)); shapes.push_back(std::make_shared<sf::ConvexShape>(drawingTriangle)); }
void CModelSurface::AddTriangle( int v0,int v1,int v2 ){ _triangles.push_back( CTriangle( v0,v1,v2 ) ); _dirty|=DIRTY_BOUNDS|DIRTY_BUFFERS; }