mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-15 10:08:35 +05:00
fixed a bug in snapshot tool of the Feature Detection dlg
This commit is contained in:
parent
46e8116912
commit
00cdc260ae
@ -24,6 +24,7 @@
|
|||||||
// File : EntityGUI_SketcherDlg.cxx
|
// File : EntityGUI_SketcherDlg.cxx
|
||||||
// Author : Renaud NEDELEC, Open CASCADE S.A.S.
|
// Author : Renaud NEDELEC, Open CASCADE S.A.S.
|
||||||
|
|
||||||
|
// SALOME includes
|
||||||
#include "EntityGUI_FeatureDetectorDlg.h"
|
#include "EntityGUI_FeatureDetectorDlg.h"
|
||||||
#include <ShapeRec_FeatureDetector.hxx>
|
#include <ShapeRec_FeatureDetector.hxx>
|
||||||
|
|
||||||
@ -51,7 +52,9 @@
|
|||||||
#include <SalomeApp_Study.h>
|
#include <SalomeApp_Study.h>
|
||||||
|
|
||||||
#include <utilities.h>
|
#include <utilities.h>
|
||||||
|
#include <Precision.hxx>
|
||||||
|
|
||||||
|
// OCCT includes
|
||||||
#include <gp_Pnt.hxx>
|
#include <gp_Pnt.hxx>
|
||||||
#include <TopoDS_Shape.hxx>
|
#include <TopoDS_Shape.hxx>
|
||||||
#include <TopoDS_Wire.hxx>
|
#include <TopoDS_Wire.hxx>
|
||||||
@ -67,11 +70,11 @@
|
|||||||
|
|
||||||
#include <Graphic3d_MaterialAspect.hxx>
|
#include <Graphic3d_MaterialAspect.hxx>
|
||||||
|
|
||||||
#include <Precision.hxx>
|
// C++ includes
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
// boost includes
|
||||||
#include <boost/utility.hpp>
|
#include <boost/utility.hpp>
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
@ -440,7 +443,7 @@ void EntityGUI_FeatureDetectorDlg::setEndPnt(const gp_Pnt& theEndPnt)
|
|||||||
{
|
{
|
||||||
myEndPnt = theEndPnt;
|
myEndPnt = theEndPnt;
|
||||||
MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")")
|
MESSAGE("myEndPnt = ("<<theEndPnt.X()<<", "<<theEndPnt.Y()<<")")
|
||||||
if (setSelectionRect())
|
if (setSelectionRect() && aDetector->GetImgHeight() > 0)
|
||||||
showImageSample();
|
showImageSample();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,8 +454,14 @@ void EntityGUI_FeatureDetectorDlg::setEndPnt(const gp_Pnt& theEndPnt)
|
|||||||
bool EntityGUI_FeatureDetectorDlg::setSelectionRect()
|
bool EntityGUI_FeatureDetectorDlg::setSelectionRect()
|
||||||
{
|
{
|
||||||
// Set detection rectangle in the background image coordinates system
|
// Set detection rectangle in the background image coordinates system
|
||||||
QPoint topLeft = QPoint(myStartPnt.X() - pictureLeft, pictureTop - myStartPnt.Y());
|
double left = std::min( myStartPnt.X(), myEndPnt.X() );
|
||||||
QPoint bottomRight = QPoint(myEndPnt.X() - pictureLeft, pictureTop - myEndPnt.Y());
|
double top = std::max( myStartPnt.Y(), myEndPnt.Y() );
|
||||||
|
double right = std::max( myStartPnt.X(), myEndPnt.X() );
|
||||||
|
double bottom = std::min( myStartPnt.Y(), myEndPnt.Y() );
|
||||||
|
|
||||||
|
QPoint topLeft = QPoint(left - pictureLeft, pictureTop - top );
|
||||||
|
QPoint bottomRight = QPoint(right - pictureLeft, pictureTop - bottom);
|
||||||
|
|
||||||
myRect = QRect(topLeft, bottomRight);
|
myRect = QRect(topLeft, bottomRight);
|
||||||
|
|
||||||
return (!myRect.isEmpty() && myRect.width() > 1);
|
return (!myRect.isEmpty() && myRect.width() > 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user