#2391 intersections. New copy to all views command feature

This commit is contained in:
Bjørn Erik Jensen
2018-02-05 13:24:17 +01:00
parent c6f8c957de
commit 8c4cad894f
8 changed files with 324 additions and 0 deletions
@@ -31,6 +31,7 @@
#include "Rim2dIntersectionView.h"
#include "Rim2dIntersectionViewCollection.h"
#include "RimIntersection.h"
#include "RimGridView.h"
CAF_PDM_XML_ABSTRACT_SOURCE_INIT(RimCase, "RimCase");
@@ -84,6 +85,21 @@ std::vector<Rim3dView*> RimCase::views() const
return allViews;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimGridView*> RimCase::gridViews() const
{
std::vector<RimGridView*> grViews;
for (Rim3dView* const view : views())
{
RimGridView* grView = dynamic_cast<RimGridView*>(view);
if (grView) grViews.push_back(grView);
}
return grViews;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -31,6 +31,7 @@
#include <vector>
class Rim3dView;
class RimGridView;
class RimFormationNames;
class RimTimeStepFilter;
class Rim2dIntersectionView;
@@ -54,6 +55,7 @@ public:
caf::PdmPtrField<RimFormationNames*> activeFormationNames;
std::vector<Rim3dView*> views() const;
std::vector<RimGridView*> gridViews() const;
virtual void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath) = 0;
@@ -453,6 +453,8 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
menuBuilder << "RicAppendIntersectionFeature";
menuBuilder << "RicAppendIntersectionBoxFeature";
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if (dynamic_cast<RimIntersection*>(uiItem))
{
@@ -462,6 +464,8 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicAppendIntersectionBoxFeature";
menuBuilder.addSeparator();
menuBuilder << "RicNewIntersectionViewFeature";
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if (dynamic_cast<RimIntersectionBox*>(uiItem))
{
@@ -469,6 +473,8 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
menuBuilder << "RicAppendIntersectionFeature";
menuBuilder << "RicAppendIntersectionBoxFeature";
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if (dynamic_cast<RimSimWellInView*>(uiItem))
{
@@ -662,6 +668,8 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicNewSimWellFractureFeature";
#endif // USE_PROTOTYPE_FEATURE_FRACTURES
}
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
{
@@ -151,6 +151,22 @@ void RimIntersectionCollection::appendPartsToModel(cvf::ModelBasicList* model, c
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimIntersection*> RimIntersectionCollection::intersections() const
{
return m_intersections.childObjects();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimIntersectionBox*> RimIntersectionCollection::intersectionBoxes() const
{
return m_intersectionBoxes.childObjects();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -71,6 +71,9 @@ public:
const RivTernaryScalarMapper* ternaryColorMapper);
void appendPartsToModel(cvf::ModelBasicList* model, cvf::Transform* scaleTransform);
std::vector<RimIntersection*> intersections() const;
std::vector<RimIntersectionBox*> intersectionBoxes() const;
protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual caf::PdmFieldHandle* objectToggleField();