The similarity and voronoi graphs both use an inherited implementation class to hide the implementation details from the compiler. The way this was implemented, it can't support having constant methods in the public API of the class that inherits from the implementation class.
This is not ideal, as external methods can't accept const types with that implementation class. They have to take them by value or by reference.
void Render(SimilarityGraph& simGraph)
{
// This would be better if simGraph was constant because otherwise, it's able to modify the graph, and passing by value is expensive
}
Acceptance Criteria:
The similarity and voronoi graphs both use an inherited implementation class to hide the implementation details from the compiler. The way this was implemented, it can't support having constant methods in the public API of the class that inherits from the implementation class.
This is not ideal, as external methods can't accept const types with that implementation class. They have to take them by value or by reference.
Acceptance Criteria: