mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Polygonfilter updates2 (#7286)
* Make sure all contourmap copies are getting the correct case set for cell filters when creating/copying maps. * Rewrite polyline part manager to be more generic, not just linked to annotations. * Add new partmgr for cell filters to draw polygon filter outlines in both eclipse and geomech views * Show lines/spheres for polygon filter outline * Add color edit for line and spheres * Add support for z plane lock in poygon filter outline * Add new flags for enabling filter and/or polyline display * Add K range filter to polygon filter * Enable picking automatically when creating a new polygon filter
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
#include "RigPolyLinesData.h"
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2018- Equinor ASA
|
||||
// Copyright (C) 2021 Equinor ASA
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +21,16 @@
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RigPolyLinesData::RigPolyLinesData()
|
||||
: m_showLines( true )
|
||||
, m_showSpheres( true )
|
||||
, m_lineThickness( 4 )
|
||||
, m_sphereRadiusFactor( 0.1 )
|
||||
, m_lockToZPlane( false )
|
||||
, m_lockedZValue( 0.0 )
|
||||
, m_closePolyline( true )
|
||||
{
|
||||
m_sphereColor.set( 200, 200, 200 );
|
||||
m_lineColor.set( 200, 200, 200 );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -31,3 +39,144 @@ RigPolyLinesData::RigPolyLinesData()
|
||||
RigPolyLinesData::~RigPolyLinesData()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const std::vector<std::vector<cvf::Vec3d>>& RigPolyLinesData::polyLines() const
|
||||
{
|
||||
return m_polylines;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setPolyLines( const std::vector<std::vector<cvf::Vec3d>>& polyLines )
|
||||
{
|
||||
m_polylines = polyLines;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setPolyLine( const std::vector<cvf::Vec3d>& polyline )
|
||||
{
|
||||
m_polylines = { polyline };
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::addPolyLine( const std::vector<cvf::Vec3d>& polyline )
|
||||
{
|
||||
m_polylines.push_back( polyline );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setVisibility( bool showLines, bool showSpheres )
|
||||
{
|
||||
m_showLines = showLines;
|
||||
m_showSpheres = showSpheres;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setLineAppearance( int lineThickness, cvf::Color3f color, bool closePolyline )
|
||||
{
|
||||
m_lineThickness = lineThickness;
|
||||
m_lineColor = color;
|
||||
m_closePolyline = closePolyline;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setSphereAppearance( double radiusFactor, cvf::Color3f color )
|
||||
{
|
||||
m_sphereRadiusFactor = radiusFactor;
|
||||
m_sphereColor = color;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigPolyLinesData::showLines() const
|
||||
{
|
||||
return m_showLines;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigPolyLinesData::showSpheres() const
|
||||
{
|
||||
return m_showSpheres;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int RigPolyLinesData::lineThickness() const
|
||||
{
|
||||
return m_lineThickness;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Color3f RigPolyLinesData::lineColor() const
|
||||
{
|
||||
return m_lineColor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigPolyLinesData::closePolyline() const
|
||||
{
|
||||
return m_closePolyline;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
cvf::Color3f RigPolyLinesData::sphereColor() const
|
||||
{
|
||||
return m_sphereColor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigPolyLinesData::sphereRadiusFactor() const
|
||||
{
|
||||
return m_sphereRadiusFactor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
double RigPolyLinesData::lockedZValue() const
|
||||
{
|
||||
return m_lockedZValue;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RigPolyLinesData::lockToZPlane() const
|
||||
{
|
||||
return m_lockToZPlane;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigPolyLinesData::setZPlaneLock( bool lockToZ, double lockZValue )
|
||||
{
|
||||
m_lockToZPlane = lockToZ;
|
||||
m_lockedZValue = lockZValue;
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cvfColor3.h"
|
||||
#include "cvfObject.h"
|
||||
#include "cvfVector3.h"
|
||||
|
||||
@@ -33,10 +34,40 @@ public:
|
||||
RigPolyLinesData();
|
||||
~RigPolyLinesData() override;
|
||||
|
||||
const std::vector<std::vector<cvf::Vec3d>>& polyLines() const { return m_polylines; }
|
||||
void setPolyLines( const std::vector<std::vector<cvf::Vec3d>>& polyLines ) { m_polylines = polyLines; }
|
||||
void setPolyLine( const std::vector<cvf::Vec3d>& polyline ) { m_polylines = { polyline }; }
|
||||
const std::vector<std::vector<cvf::Vec3d>>& polyLines() const;
|
||||
|
||||
void setPolyLines( const std::vector<std::vector<cvf::Vec3d>>& polyLines );
|
||||
void setPolyLine( const std::vector<cvf::Vec3d>& polyline );
|
||||
void addPolyLine( const std::vector<cvf::Vec3d>& polyline );
|
||||
|
||||
void setVisibility( bool showLines, bool showSpheres );
|
||||
void setLineAppearance( int lineThickness, cvf::Color3f color, bool closePolyline );
|
||||
void setSphereAppearance( double radiusFactor, cvf::Color3f color );
|
||||
void setZPlaneLock( bool lockToZ, double lockZValue );
|
||||
|
||||
bool showLines() const;
|
||||
bool showSpheres() const;
|
||||
int lineThickness() const;
|
||||
bool closePolyline() const;
|
||||
cvf::Color3f lineColor() const;
|
||||
cvf::Color3f sphereColor() const;
|
||||
double sphereRadiusFactor() const;
|
||||
double lockedZValue() const;
|
||||
bool lockToZPlane() const;
|
||||
|
||||
private:
|
||||
std::vector<std::vector<cvf::Vec3d>> m_polylines;
|
||||
|
||||
bool m_showLines;
|
||||
int m_lineThickness;
|
||||
bool m_closePolyline;
|
||||
|
||||
bool m_showSpheres;
|
||||
double m_sphereRadiusFactor;
|
||||
|
||||
bool m_lockToZPlane;
|
||||
double m_lockedZValue;
|
||||
|
||||
cvf::Color3f m_lineColor;
|
||||
cvf::Color3f m_sphereColor;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user