struct CuttingTool { enum Shape { V = 0; U }; Shape shape; int width; int depht; int length; }; typedef std::pair Vertex; typedef std::pair Cut; typedef std::list Pattern; struct Polygon { CuttingTool tool; Pattern pattern; };