-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <SalomeApp_Study.h>
+#include <Basics_OCCTVersion.hxx>
+
#include <utilities.h>
#include <Precision.hxx>
#include <AIS_Shape.hxx>
#include <TCollection_AsciiString.hxx>
-#include <StdSelect_DisplayMode.hxx>
+//#include <StdSelect_DisplayMode.hxx>
#include <Graphic3d_MaterialAspect.hxx>
#include <utility>
// boost includes
+#include <boost/version.hpp>
+#if BOOST_VERSION < 106700
#include <boost/utility.hpp>
+#else
+#include <boost/next_prior.hpp>
+#endif
// Constructors
-enum{
+enum {
CONTOURS,
CORNERS,
LINES
// about what will be considered INSIDE the zone we want to find the frontier of
// This makes the algorithm more robust against a bit inhomogeneous parts in the zone
// that we want to delimitate.
- // The drawback is if we want to delimitate a zone wich color is very similar to the zone
+ // The drawback is if we want to delimitate a zone which color is very similar to the zone
// we consider as the OUTSIDE, the result will be bad.
// The current use cases are more of the first form :
// - Strongly contrasted INSIDE and OUTSIDE zones
{
// TODO supprimer les lignes qui ne servent à rien le cas échéant
- SUIT_ViewWindow* theViewWindow = getDesktop()->activeWindow();
- SOCC_Viewer* soccViewer = (SOCC_Viewer*)(theViewWindow->getViewManager()->getViewModel());
+ //SUIT_ViewWindow* theViewWindow = getDesktop()->activeWindow();
+ //SOCC_Viewer* soccViewer = (SOCC_Viewer*)(theViewWindow->getViewManager()->getViewModel());
if (!myEditCurrentArgument->isEnabled())
return;
myDetector->SetPath( theImgFileName.toStdString() );
height = myDetector->GetImgHeight();
width = myDetector->GetImgWidth();
- pictureLeft = -0.5 * width; // X coordinate of the top left corner of the background image in the view
+ pictureLeft = -0.5 * width; // X coordinate of the top left corner of the background image in the view
pictureTop = 0.5 * height; // Y coordinate of both top corners
}
//=================================================================================
void EntityGUI_FeatureDetectorDlg::ConstructorsClicked(int id)
{
- MESSAGE("Constructor id ="<<id)
+ MESSAGE("Constructor id ="<<id);
myConstructorId = id;
switch (id)
{
aCornersParameters->qualityLevel = (dynamic_cast<QDoubleSpinBox*>(myWidgets[QUALITY_LEVEL]))->value();
aCornersParameters->minDistance = (dynamic_cast<QDoubleSpinBox*>(myWidgets[MIN_DISTANCE]))->value();
switch ( (dynamic_cast<QComboBox*>(myWidgets[TYPE_CRITERIA]))->currentIndex() ) {
- case 0: aCornersParameters->typeCriteria = CV_TERMCRIT_ITER;
- case 1: aCornersParameters->typeCriteria = CV_TERMCRIT_EPS;
- case 2: aCornersParameters->typeCriteria = CV_TERMCRIT_ITER | CV_TERMCRIT_EPS;
+ case 0: aCornersParameters->typeCriteria = CV_TERMCRIT_ITER; break;
+ case 1: aCornersParameters->typeCriteria = CV_TERMCRIT_EPS; break;
+ case 2: aCornersParameters->typeCriteria = CV_TERMCRIT_ITER | CV_TERMCRIT_EPS; break;
+ default: break;
}
aCornersParameters->maxIter = (dynamic_cast<QSpinBox*>(myWidgets[MAX_ITER]))->value();
aCornersParameters->epsilon = (dynamic_cast<QDoubleSpinBox*>(myWidgets[EPSILON]))->value();
void EntityGUI_FeatureDetectorDlg::setStartPnt(const gp_Pnt& theStartPnt)
{
myStartPnt = theStartPnt;
- MESSAGE("myStartPnt = ("<<theStartPnt.X()<<", "<<theStartPnt.Y()<<")")
+ MESSAGE("myStartPnt = ("<<theStartPnt.X()<<", "<<theStartPnt.Y()<<")");
}
//=================================================================================
void EntityGUI_FeatureDetectorDlg::setEndPnt(const gp_Pnt& theEndPnt)
{
myEndPnt = theEndPnt;
- MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")")
+ MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")");
if (setSelectionRect() && myDetector->GetImgHeight() > 0)
showImageSample();
}
//=================================================================================
GEOM::GEOM_IOperations_ptr EntityGUI_FeatureDetectorDlg::createOperation()
{
- return myGeomGUI->GetGeomGen()->GetIShapesOperations( getStudyId() );
+ return myGeomGUI->GetGeomGen()->GetIShapesOperations();
}
//=================================================================================
{
bool res = false;
- GEOM::GEOM_IBasicOperations_var aBasicOperations = myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() );
+ GEOM::GEOM_IBasicOperations_var aBasicOperations = myGeomGUI->GetGeomGen()->GetIBasicOperations();
GEOM::GEOM_IShapesOperations_var aShapesOperations = GEOM::GEOM_IShapesOperations::_narrow( getOperation() );
ShapeRec_Parameters* parameters = parametersChanged();
}
else if (myConstructorId == CONTOURS)
{
- GEOM::GEOM_ICurvesOperations_var aCurveOperations = myGeomGUI->GetGeomGen()->GetICurvesOperations( getStudyId() );
+ GEOM::GEOM_ICurvesOperations_var aCurveOperations = myGeomGUI->GetGeomGen()->GetICurvesOperations();
myDetector->ComputeContours( useROI, parameters );
std::vector< std::vector<cv::Point> > contours = myDetector->GetContours();
bool insert;
- MESSAGE("hierarchy.size() =" << hierarchy.size())
+ MESSAGE("hierarchy.size() =" << hierarchy.size());
if ( hierarchy.size() < 1 ) {
- getOperation()->SetErrorCode( "Impossible detected contours" );
- return false;
+ getOperation()->SetErrorCode( "Impossible detected contours" );
+ return false;
}
for( ; idx >= 0; idx = hierarchy[idx][0])