I am trying to implement a method of comparing two edges. My approach is to check parameters of underlying geometric curves (gp_Lin, gp_Circ etc.) to see if the edges lie on the same curve and then check first and last parameters of the two curves to see if they overlap. The problem I am having is: even though a pair of edges are identical (in 3D space), once I acquire Geom_Curve, by calling BRep_Tool::Curve(), first and last parameters of the curves are different.
For example, having two lines, connecting two points (0,2,2) and (0,4,2), sometimes first and last parameters of the underlying curves are as follow: 2.0 - 4.0 and 0.0 - 2.0 respectively. I would like to ask you guys to help me understand what I am missing.