# How exactly is the "SameParam" property defined for SameRange-edges ?

Hi, in the OCC docs it simply says (ShapeHealing documentation for the SameParam operator)

"This operator applies the computation SameParameter which ensures that various

representations of each edge (its 3d curve, the pcurve on each of the faces on which it lies)

give the same 3D point for the same parameter, within a given tolerance."

So let's say our curve3d is C3d(U) and our pcurve is Cp(U) and they both have the same parameter range [U1, U2]

Now I had a brief look into the ShapeAnalysis_Edge::ComputeDeviation routine, which does the following:

1. Calculate a set of U values in [U1, U2]

2. For each U value, calculate C3d(U) and get the "Extrema_LocateExtPC distance" to Cp(U)

3. For each U value, calculate Cp(U) and get the "Extrema_LocateExtPC distance" to C3d(U)

4. Return the maximum of those distances

I'm uncertain what distance Extrema_LocateExtPC returns. Is it the minimum distance? Then this would mean that SameParam is defined as follows

An edge with tolerance T has the SameParam property, if Max_{U}(Min_{V}(|C3d(U)-Cp(V)|), Min_{V}(|C3d(V)-Cp(U)|))

On the other hand, Roman Lygin wrote on his blog (http://opencascade.blogspot.com/2009/02/topology-and-geometry-in-open-cascade_12.html) that

"- "same parameter" (BRep_Tool::SameParameter()), which is true when C(t) = S1(P1x(t), P1y(t)), i.e. any point along the edge corresponds to the same parameter on any of its curves."

This would imply the following definition

An edge with tolerance T has the SameParam property, if Max_{U}(|C3d(U)-Cp(U)|)

So what is the actual definition? Or does Extrema_LocateExtPC simply return a trivial distance between points? Then, of course, both definitions would be the same.