Design the underfloor heating of a house by laying out the pipes in a spiral in each room.
Each room is specified by a clockwise open polygon of 2D points ( Every corner is specified by one point, every door is specified by a pair of points. ) and a vector of indices in the polygon of the first point of a pair specifying a door
For example, a square room with one door is specified as:
std::vector<cxy> wallPoints = {{0, 0}, {10, 0}, {30, 0}, {100, 0}, {100, 100}, {0, 100}};
std::vector<int> doorPoints = {1};
which when rendered gives
Shows return pipe in blue.
File Open processed floor plan input file
Run Run the pipes through the room, or run the unit tests