-
- // get the point with the same param on altitude profile
- double zRef = 0; //aPntProj.Z();
- TopoDS_Shape aShapeUZ = aGuideUZ->GetShape();
- if (!aShapeUZ.IsNull())
- {
- TopExp_Explorer anExpUZ(aShapeUZ, TopAbs_EDGE);
- TopoDS_Edge anEdgeUZ;
- int anI = 0;
- for (; anExpUZ.More(); anExpUZ.Next(), anI++)
- {
- if (anI == anIndex)
- {
- anEdgeUZ = TopoDS::Edge(anExpUZ.Current());
- break;
- }
- }
- if (!anEdgeUZ.IsNull())
- {
- double anEdgePars[2];
- Handle(Geom_Curve) aCurve = BRep_Tool::Curve(anEdgeUZ, anEdgePars[0], anEdgePars[1]);
- gp_Pnt aVal;
- aCurve->D0(aParam, aVal);
- DEBTRACE("altitude point: " << aVal.X() << " "<< aVal.Y() << " "<< aVal.Z());
- zRef = aVal.Y();
- }
- else zRef = 20;
- }
- else zRef = 20;
-
- // distance on section to get altitude