1 // File: IntTools_CurveRangeSample.cxx
2 // Created: Wed Oct 5 17:04:22 2005
3 // Author: Mikhail KLOKOV
7 #include <IntTools_CurveRangeSample.ixx>
9 IntTools_CurveRangeSample::IntTools_CurveRangeSample()
14 IntTools_CurveRangeSample::IntTools_CurveRangeSample(const Standard_Integer theIndex)
19 IntTools_Range IntTools_CurveRangeSample::GetRange(const Standard_Real theFirst,
20 const Standard_Real theLast,
21 const Standard_Integer theNbSample) const
23 Standard_Real diffC = theLast - theFirst;
24 IntTools_Range aResult;
27 aResult.SetFirst(theFirst);
28 aResult.SetLast(theLast);
31 Standard_Real tmp = pow(Standard_Real(theNbSample), Standard_Real(GetDepth()));
32 Standard_Real localdiffC = diffC / Standard_Real(tmp);
33 Standard_Real aFirstC = theFirst + Standard_Real(myIndex) * localdiffC;
34 Standard_Real aLastC = aFirstC + localdiffC;
35 aResult.SetFirst(aFirstC);
36 aResult.SetLast(aLastC);