There is a Java enum PointType containing types you can annotate a point with.
/** Before a type is determined */ UNKNOWN, /** If the point has a sharp angle for now 30 degrees is set as the limit */ HARD_CORNER, /** If it is not a hard point */ SOFT_POINT, /** 3 or more lines meets, U is for unknown */ U_JUNCTION, /** 3 lines meet 2 are collinear and the last is somewhat orthogonal */ T_JUNCTION, /** 3 lines meet less than 180 degrees between all of them */ ARROW_JUNCTION, /** 3 lines meet, not a T junction */ Y_JUNCTION, /** point is an end point, * maybe later there should be a distinction between end points and have * nothing else close by and end points that have close neighbors */ END_POINT,