This does not affect the performance in any manner, but the following functions appear to be dead code:
Point operator +( const Point &a, const Point &b )
Point operator -( const Point &a, const Point &b )
Point operator *( double s, const Point &a )
Point operator !=( const Point &a, const Point &b )
Point operator Cross( const Point &a, const Point &b )
Point operator Cross( const Point &a, double s )
Point operator Cross( double s, const Point &a )
Sweep::HoleAngle( Node &node )
SweepContext::RemoveFromMap( Triangle *triangle )
SweepContext::RemoveNode( Node *node )
Triangle::Clear()
Triangle::ClearNeighbor( Triangle *triangle )
Triangle::Contains( const Edge &e )
Triangle::Legalize( Point &point )
Triangle::MarkConstrainedEdge( Edge &edge )that could be removed from the source code.
I also noticed that this project appears to have been derived from
Poly2Tri and possibly
PolygonTriangulator. This is a much nicer and cleaner implementation of the Domiter-Zalik sweep-line algorithm, but it does not implement Shewchuk's
exact arithmetic for the
Sweep::Orient2d and
Sweep::InCircle functions for robustness. (
Poly2Tri inexplicably does not implement Shewchuk's exact arithmetic for
InCircle or set up the Intel CPU properly for exact arithmetic, while
PolygonTriangulator effectively disables exact arithmetic by failing to initialize the exact arithmetic module).
It should not be difficult to implement exact arithmetic for
Orient2d and
InCircle, but I am not sure whether
::InScanArea would also have to rewritten.