mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#4226 Add polyline measurement mode
This commit is contained in:
@@ -36,7 +36,7 @@ CAF_PDM_SOURCE_INIT(RimMeasurement, "RimMeasurement");
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimMeasurement::RimMeasurement()
|
||||
: m_isInMeasurementMode(false)
|
||||
: m_measurementMode(MEASURE_DISABLED)
|
||||
{
|
||||
CAF_PDM_InitObject("Measurement", ":/TextAnnotation16x16.png", "", "");
|
||||
}
|
||||
@@ -49,13 +49,14 @@ RimMeasurement::~RimMeasurement() {}
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimMeasurement::setMeasurementMode(bool measurementMode)
|
||||
void RimMeasurement::setMeasurementMode(MeasurementMode measurementMode)
|
||||
{
|
||||
m_isInMeasurementMode = measurementMode;
|
||||
m_measurementMode = measurementMode;
|
||||
|
||||
if (m_isInMeasurementMode)
|
||||
if (m_measurementMode != MEASURE_DISABLED)
|
||||
{
|
||||
RicMeasurementPickEventHandler::instance()->registerAsPickEventHandler();
|
||||
RicMeasurementPickEventHandler::instance()->enablePolyLineMode(m_measurementMode == MEASURE_POLYLINE);
|
||||
m_eventFilter = new RiuMeasurementEventFilter(this);
|
||||
m_eventFilter->registerFilter();
|
||||
}
|
||||
@@ -78,9 +79,9 @@ void RimMeasurement::setMeasurementMode(bool measurementMode)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimMeasurement::isInMeasurementMode() const
|
||||
RimMeasurement::MeasurementMode RimMeasurement::measurementMode() const
|
||||
{
|
||||
return m_isInMeasurementMode;
|
||||
return m_measurementMode;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -38,6 +38,13 @@ class RimMeasurement : public caf::PdmObject
|
||||
using Vec3d = cvf::Vec3d;
|
||||
|
||||
public:
|
||||
enum MeasurementMode
|
||||
{
|
||||
MEASURE_DISABLED = 0,
|
||||
MEASURE_REGULAR,
|
||||
MEASURE_POLYLINE
|
||||
};
|
||||
|
||||
class Lengths
|
||||
{
|
||||
public:
|
||||
@@ -60,8 +67,8 @@ public:
|
||||
RimMeasurement();
|
||||
~RimMeasurement() override;
|
||||
|
||||
void setMeasurementMode(bool measurementMode);
|
||||
bool isInMeasurementMode() const;
|
||||
void setMeasurementMode(MeasurementMode measureMode);
|
||||
MeasurementMode measurementMode() const;
|
||||
|
||||
void addPointInDomainCoords(const Vec3d& pointInDomainCoord);
|
||||
std::vector<Vec3d> pointsInDomainCoords() const;
|
||||
@@ -76,7 +83,7 @@ private:
|
||||
void updateView() const;
|
||||
|
||||
private:
|
||||
bool m_isInMeasurementMode;
|
||||
MeasurementMode m_measurementMode;
|
||||
std::vector<Vec3d> m_pointsInDomainCoords;
|
||||
caf::PdmPointer<Rim3dView> m_sourceView;
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ bool RiuMeasurementEventFilter::eventFilter(QObject* obj, QEvent* event)
|
||||
|
||||
if (m_parent)
|
||||
{
|
||||
m_parent->setMeasurementMode(false);
|
||||
m_parent->setMeasurementMode(RimMeasurement::MEASURE_DISABLED);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user