Remove old polygon annotations. (#11404)

* Remove old polygon annotations from GUI. 
* Upgrade old annotation objects to new polygon objects on load.
This commit is contained in:
jonjenssen
2024-05-01 10:50:19 +02:00
committed by GitHub
parent 4617bcc673
commit 2e4ca390c7
24 changed files with 119 additions and 1084 deletions

View File

@@ -26,14 +26,12 @@
#include "RimCase.h"
#include "RimGridView.h"
#include "RimPolylinesFromFileAnnotation.h"
#include "RimPolylinesFromFileAnnotationInView.h"
#include "RimProject.h"
#include "RimReachCircleAnnotation.h"
#include "RimReachCircleAnnotationInView.h"
#include "RimTextAnnotation.h"
#include "RimTextAnnotationInView.h"
#include "RimUserDefinedPolylinesAnnotation.h"
#include "RimUserDefinedPolylinesAnnotationInView.h"
#include <cvfBoundingBox.h>
@@ -56,18 +54,6 @@ caf::PdmObject* sourcePdmAnnotation( const caf::PdmObject* annotationInView )
return c->sourceAnnotation();
}
auto up = dynamic_cast<const RimUserDefinedPolylinesAnnotationInView*>( annotationInView );
if ( up )
{
return up->sourceAnnotation();
}
auto pf = dynamic_cast<const RimPolylinesFromFileAnnotationInView*>( annotationInView );
if ( pf )
{
return pf->sourceAnnotation();
}
return nullptr;
}
@@ -88,29 +74,16 @@ RimAnnotationInViewCollection::RimAnnotationInViewCollection()
CAF_PDM_InitFieldNoDefault( &m_globalTextAnnotations, "TextAnnotationsInView", "Global Text Annotations" );
CAF_PDM_InitFieldNoDefault( &m_globalReachCircleAnnotations, "ReachCircleAnnotationsInView", "Global Reach Circle Annotations" );
CAF_PDM_InitFieldNoDefault( &m_globalUserDefinedPolylineAnnotations,
"UserDefinedPolylinesAnnotationsInView",
"Global User Defined Polylines Annotations" );
CAF_PDM_InitFieldNoDefault( &m_globalPolylineFromFileAnnotations,
"PolylinesFromFileAnnotationsInView",
"Global Polylines From File Annotations" );
CAF_PDM_InitFieldNoDefault( &m_annotationFontSize, "AnnotationFontSize", "Default Font Size" );
m_globalTextAnnotations = new RimAnnotationGroupCollection();
m_globalReachCircleAnnotations = new RimAnnotationGroupCollection();
m_globalUserDefinedPolylineAnnotations = new RimAnnotationGroupCollection();
m_globalPolylineFromFileAnnotations = new RimAnnotationGroupCollection();
m_globalTextAnnotations = new RimAnnotationGroupCollection();
m_globalReachCircleAnnotations = new RimAnnotationGroupCollection();
m_globalTextAnnotations->uiCapability()->setUiName( "Global Text Annotations" );
m_globalReachCircleAnnotations->uiCapability()->setUiName( "Global Reach Circle Annotations" );
m_globalUserDefinedPolylineAnnotations->uiCapability()->setUiName( "Global User Defined Polylines Annotations" );
m_globalPolylineFromFileAnnotations->uiCapability()->setUiName( "Global Polylines From File Annotations" );
m_globalTextAnnotations->uiCapability()->setUiIconFromResourceString( ":/TextAnnotation16x16.png" );
m_globalReachCircleAnnotations->uiCapability()->setUiIconFromResourceString( ":/ReachCircle16x16.png" );
m_globalUserDefinedPolylineAnnotations->uiCapability()->setUiIconFromResourceString( ":/PolylinesFromFile16x16.png" );
m_globalPolylineFromFileAnnotations->uiCapability()->setUiIconFromResourceString( ":/PolylinesFromFile16x16.png" );
}
//--------------------------------------------------------------------------------------------------
@@ -162,32 +135,6 @@ std::vector<RimReachCircleAnnotationInView*> RimAnnotationInViewCollection::glob
return annotations;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimUserDefinedPolylinesAnnotationInView*> RimAnnotationInViewCollection::globalUserDefinedPolylineAnnotations() const
{
std::vector<RimUserDefinedPolylinesAnnotationInView*> annotations;
for ( auto& a : m_globalUserDefinedPolylineAnnotations->annotations() )
{
annotations.push_back( dynamic_cast<RimUserDefinedPolylinesAnnotationInView*>( a ) );
}
return annotations;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimPolylinesFromFileAnnotationInView*> RimAnnotationInViewCollection::globalPolylineFromFileAnnotations() const
{
std::vector<RimPolylinesFromFileAnnotationInView*> annotations;
for ( auto& a : m_globalPolylineFromFileAnnotations->annotations() )
{
annotations.push_back( dynamic_cast<RimPolylinesFromFileAnnotationInView*>( a ) );
}
return annotations;
}
//--------------------------------------------------------------------------------------------------
/// Called when the global annotation collection has changed
//--------------------------------------------------------------------------------------------------
@@ -305,10 +252,6 @@ std::vector<caf::PdmObject*> RimAnnotationInViewCollection::allGlobalPdmAnnotati
std::vector<caf::PdmObject*> all;
all.insert( all.end(), m_globalTextAnnotations->m_annotations.begin(), m_globalTextAnnotations->m_annotations.end() );
all.insert( all.end(), m_globalReachCircleAnnotations->m_annotations.begin(), m_globalReachCircleAnnotations->m_annotations.end() );
all.insert( all.end(),
m_globalUserDefinedPolylineAnnotations->m_annotations.begin(),
m_globalUserDefinedPolylineAnnotations->m_annotations.end() );
all.insert( all.end(), m_globalPolylineFromFileAnnotations->m_annotations.begin(), m_globalPolylineFromFileAnnotations->m_annotations.end() );
return all;
}
@@ -330,20 +273,6 @@ void RimAnnotationInViewCollection::addGlobalAnnotation( caf::PdmObject* annotat
m_globalReachCircleAnnotations->addAnnotation( new RimReachCircleAnnotationInView( c ) );
return;
}
auto up = dynamic_cast<RimUserDefinedPolylinesAnnotation*>( annotation );
if ( up )
{
m_globalUserDefinedPolylineAnnotations->addAnnotation( new RimUserDefinedPolylinesAnnotationInView( up ) );
return;
}
auto pf = dynamic_cast<RimPolylinesFromFileAnnotation*>( annotation );
if ( pf )
{
m_globalPolylineFromFileAnnotations->addAnnotation( new RimPolylinesFromFileAnnotationInView( pf ) );
return;
}
}
//--------------------------------------------------------------------------------------------------
@@ -368,24 +297,6 @@ void RimAnnotationInViewCollection::deleteGlobalAnnotation( const caf::PdmObject
return;
}
}
for ( size_t i = 0; i < m_globalUserDefinedPolylineAnnotations->m_annotations.size(); i++ )
{
if ( m_globalUserDefinedPolylineAnnotations->m_annotations[i] == annotation )
{
m_globalUserDefinedPolylineAnnotations->m_annotations.erase( i );
return;
}
}
for ( size_t i = 0; i < m_globalPolylineFromFileAnnotations->m_annotations.size(); i++ )
{
if ( m_globalPolylineFromFileAnnotations->m_annotations[i] == annotation )
{
m_globalPolylineFromFileAnnotations->m_annotations.erase( i );
return;
}
}
}
//--------------------------------------------------------------------------------------------------