-// Copyright (C) 2014-2020 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <SketchPlugin_Constraint.h>
#include <SketchPlugin_ConstraintCoincidence.h>
+#include <AIS_InteractiveContext.hxx>
#include <Graphic3d_AspectMarker3d.hxx>
#include <Graphic3d_ArrayOfPoints.hxx>
#include <Prs3d_PointAspect.hxx>
-#include <Prs3d_Root.hxx>
#include <SelectMgr_EntityOwner.hxx>
#include <SelectMgr_Selection.hxx>
#include <Select3D_SensitivePoint.hxx>
SketcherPrs_Coincident::SketcherPrs_Coincident(ModelAPI_Feature* theConstraint,
SketchPlugin_Sketch* theSketch)
: AIS_InteractiveObject(), myConstraint(theConstraint), mySketch(theSketch),
- myPoint(gp_Pnt(0.0, 0.0, 0.0)), myIsCustomColor(false)
+ myPoint(gp_Pnt(0.0, 0.0, 0.0))
{
+ SetColor(Quantity_NOC_BLACK);
}
bool SketcherPrs_Coincident::IsReadyToDisplay(ModelAPI_Feature* theConstraint,
void SketcherPrs_Coincident::Compute(
- const Handle(PrsMgr_PresentationManager3d)& thePresentationManager,
+ const Handle(PrsMgr_PresentationManager3d)& /*thePresentationManager*/,
const Handle(Prs3d_Presentation)& thePresentation,
- const Standard_Integer theMode)
+ const Standard_Integer /*theMode*/)
{
gp_Pnt aPoint;
bool aReadyToDisplay = readyToDisplay(myConstraint, mySketch->coordinatePlane(), aPoint);
}
}
}
- Quantity_Color aExternalColor = aIsEdge ? Quantity_NOC_BLACK : Quantity_NOC_YELLOW;
- Quantity_Color aInternalColor = aIsEdge ? Quantity_NOC_YELLOW : Quantity_NOC_BLACK;
+ Quantity_Color aMainColor;
+ Color(aMainColor);
+ Quantity_Color aExternalColor = aIsEdge ? aMainColor : Quantity_NOC_YELLOW;
+ Quantity_Color aInternalColor = aIsEdge ? Quantity_NOC_YELLOW : aMainColor;
- int aRatio = SketcherPrs_Tools::pixelRatio();
+ const double aRatio = SketcherPrs_Tools::pixelRatio();
// Create the presentation as a combination of standard point markers
- bool aCustomColor = myIsCustomColor;
// The external yellow contour
Handle(Graphic3d_AspectMarker3d) aPtA = new Graphic3d_AspectMarker3d();
aPtA->SetType(Aspect_TOM_RING3);
aPtA->SetScale(2. * aRatio);
- aPtA->SetColor(!aCustomColor ? aExternalColor : myCustomColor);
+ aPtA->SetColor(aExternalColor);
- Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup(thePresentation);
+ Handle(Graphic3d_Group) aGroup = thePresentation->CurrentGroup();
aGroup->SetPrimitivesAspect(aPtA);
Handle(Graphic3d_ArrayOfPoints) aPntArray = new Graphic3d_ArrayOfPoints(1);
aPntArray->AddVertex (myPoint.X(), myPoint.Y(), myPoint.Z());
aPtA = new Graphic3d_AspectMarker3d();
aPtA->SetType(aIsEdge ? Aspect_TOM_STAR : Aspect_TOM_RING1);
aPtA->SetScale(1. * aRatio);
- aPtA->SetColor(!aCustomColor ? aInternalColor : myCustomColor);
+ aPtA->SetColor(aInternalColor);
aGroup->SetPrimitivesAspect(aPtA);
aGroup->AddPrimitiveArray (aPntArray);
aPtA = new Graphic3d_AspectMarker3d();
aPtA->SetType(Aspect_TOM_POINT);
aPtA->SetScale(5. * aRatio);
- aPtA->SetColor(!aCustomColor ? aInternalColor : myCustomColor);
+ aPtA->SetColor(aInternalColor);
aGroup->SetPrimitivesAspect(aPtA);
aGroup->AddPrimitiveArray (aPntArray);
}
-void SketcherPrs_Coincident::ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,
- const Standard_Integer aMode)
+void SketcherPrs_Coincident::ComputeSelection(const Handle(SelectMgr_Selection)& /*theSelection*/,
+ const Standard_Integer /*theMode*/)
{
// There is no selection of coincident - a point is selected instead of coincidence
}
-
-void SketcherPrs_Coincident::SetColor(const Quantity_NameOfColor aCol)
-{
- SetColor(Quantity_Color(aCol));
-}
-
-void SketcherPrs_Coincident::SetColor(const Quantity_Color &aCol)
-{
- hasOwnColor=Standard_True;
-}
-
-void SketcherPrs_Coincident::SetCustomColor(const std::vector<int>& theColor)
-{
- myIsCustomColor = !theColor.empty();
- if (myIsCustomColor)
- myCustomColor = Quantity_Color(theColor[0] / 255., theColor[1] / 255.,
- theColor[2] / 255., Quantity_TOC_RGB);
- else
- myCustomColor = Quantity_Color();
-}