X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_Coincident.cpp;h=8b533fdba3e19c95d8d53d6d34f23a697806c2f1;hb=8ebc9a7d5f87057b61b174e7568e01e44571549d;hp=86f1a1f3e53fee0ca76d99dfa9c9b1ab4ed8b056;hpb=368eb86f8835d384a102ad84410a6c825c597a8c;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_Coincident.cpp b/src/SketcherPrs/SketcherPrs_Coincident.cpp index 86f1a1f3e..8b533fdba 100644 --- a/src/SketcherPrs/SketcherPrs_Coincident.cpp +++ b/src/SketcherPrs/SketcherPrs_Coincident.cpp @@ -16,11 +16,8 @@ #include #include -#include -#include #include -#include #include #include #include @@ -33,7 +30,7 @@ IMPLEMENT_STANDARD_HANDLE(SketcherPrs_Coincident, AIS_InteractiveObject); IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_Coincident, AIS_InteractiveObject); -SketcherPrs_Coincident::SketcherPrs_Coincident(SketchPlugin_Constraint* theConstraint, +SketcherPrs_Coincident::SketcherPrs_Coincident(ModelAPI_Feature* theConstraint, const std::shared_ptr& thePlane) : AIS_InteractiveObject(), myConstraint(theConstraint), myPlane(thePlane) { @@ -48,6 +45,8 @@ void SketcherPrs_Coincident::Compute(const Handle(PrsMgr_PresentationManager3d)& { std::shared_ptr aPnt = SketcherPrs_Tools::getPoint(myConstraint, SketchPlugin_Constraint::ENTITY_A()); + if (aPnt.get() == NULL) + aPnt = SketcherPrs_Tools::getPoint(myConstraint, SketchPlugin_Constraint::ENTITY_B()); if (aPnt.get() == NULL) return; @@ -57,24 +56,38 @@ void SketcherPrs_Coincident::Compute(const Handle(PrsMgr_PresentationManager3d)& static Handle(Graphic3d_AspectMarker3d) aPtA; if (aPtA.IsNull()) { aPtA = new Graphic3d_AspectMarker3d (); - aPtA->SetType(Aspect_TOM_RING1); - aPtA->SetScale(2.); - aPtA->SetColor(myOwnColor); } + aPtA->SetType(Aspect_TOM_RING3); + aPtA->SetScale(2.); + aPtA->SetColor(Quantity_NOC_YELLOW); + Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup(thePresentation); aGroup->SetPrimitivesAspect(aPtA); Handle(Graphic3d_ArrayOfPoints) aPntArray = new Graphic3d_ArrayOfPoints(1); aPntArray->AddVertex (aPoint->x(), aPoint->y(), aPoint->z()); aGroup->AddPrimitiveArray (aPntArray); + + aPtA->SetType(Aspect_TOM_RING1); + aPtA->SetScale(1.); + aPtA->SetColor(Quantity_NOC_BLACK); + aGroup->SetPrimitivesAspect(aPtA); + aGroup->AddPrimitiveArray (aPntArray); + + aPtA->SetType(Aspect_TOM_POINT); + aPtA->SetScale(5.); + aGroup->SetPrimitivesAspect(aPtA); + aGroup->AddPrimitiveArray (aPntArray); } void SketcherPrs_Coincident::ComputeSelection(const Handle(SelectMgr_Selection)& aSelection, const Standard_Integer aMode) { - Handle(SelectMgr_EntityOwner) aOwn = new SelectMgr_EntityOwner(this, 10); - Handle(Select3D_SensitivePoint) aSp = new Select3D_SensitivePoint(aOwn, myPoint); - aSelection->Add(aSp); +// if ((aMode == 0) || (aMode == SketcherPrs_Tools::Sel_Constraint)) { +// Handle(SelectMgr_EntityOwner) aOwn = new SelectMgr_EntityOwner(this, 10); +// Handle(Select3D_SensitivePoint) aSp = new Select3D_SensitivePoint(aOwn, myPoint); +// aSelection->Add(aSp); +// } } void SketcherPrs_Coincident::SetColor(const Quantity_NameOfColor aCol)