- if(!HasLocation())
- aProj->Project(aPnt, aPoint2d);
- else
- {
- gp_Pnt aP(aPnt.X(), aPnt.Y(), aPnt.Z());
- aProj->Project(aP.Transformed(Location().Transformation()), aPoint2d);
- }
- myprojpt = aPoint2d;
-}
-
-void SketcherPrs_SensitivePoint::Areas(SelectBasics_ListOfBox2d& boxes)
-{
- Bnd_Box2d abox;
- abox.Set(myprojpt);
- boxes.Append(abox);
-}
-
-Standard_Boolean SketcherPrs_SensitivePoint::Matches(const SelectBasics_PickArgs& thePickArgs,
- Standard_Real& theMatchDMin,
- Standard_Real& theMatchDepth)
-{
- // check coordinate matching
- Standard_Real aDist = gp_Pnt2d (thePickArgs.X(), thePickArgs.Y()).Distance (myprojpt);
- if (aDist > thePickArgs.Tolerance() * SensitivityFactor())
- {
- return Standard_False;
- }
-
- Standard_Real aDepth = ComputeDepth (thePickArgs.PickLine());
- if (thePickArgs.IsClipped (aDepth))