#3778 Annotations. Move z plane settings to in-view collection

This commit is contained in:
Bjørn Erik Jensen 2018-11-29 10:13:19 +01:00
parent b5f0459843
commit 9dc1e8d063
12 changed files with 81 additions and 139 deletions

View File

@ -24,41 +24,12 @@
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RigActiveCellInfo.h" #include "Rim3dView.h"
#include "RigCell.h"
#include "RigEclipseCaseData.h"
#include "RigMainGrid.h"
#include "RigSimWellData.h"
#include "RimTextAnnotation.h"
#include "RimReachCircleAnnotation.h"
#include "RimPolylinesAnnotation.h"
#include "RimAnnotationInViewCollection.h"
#include "RimEclipseCase.h"
#include "RimEclipseView.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSimWellInViewCollection.h"
#include "RimSimWellInView.h"
#include "RivTextAnnotationPartMgr.h" #include "RivTextAnnotationPartMgr.h"
#include "RivReachCircleAnnotationPartMgr.h" #include "RivReachCircleAnnotationPartMgr.h"
#include "RivPolylineAnnotationPartMgr.h" #include "RivPolylineAnnotationPartMgr.h"
#include "RivPipeGeometryGenerator.h"
#include "RivPartPriority.h"
#include "RivSimWellPipeSourceInfo.h"
#include "cafEffectGenerator.h"
#include "cvfArrowGenerator.h"
#include "cvfDrawableGeo.h"
#include "cvfDrawableText.h"
#include "cvfGeometryBuilderFaceList.h"
#include "cvfModelBasicList.h"
#include "cvfPart.h"
#include "cvfTransform.h"
#include "cvfqtUtils.h"
#include "cafDisplayCoordTransform.h"
#include "RivSectionFlattner.h"
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -115,7 +86,7 @@ void RivAnnotationsPartMgr::createAnnotationPartManagers()
{ {
for (auto annotation : textAnnotations) for (auto annotation : textAnnotations)
{ {
auto* apm = new RivTextAnnotationPartMgr(annotation); auto* apm = new RivTextAnnotationPartMgr(m_rimView, annotation);
m_textAnnotationPartMgrs.push_back(apm); m_textAnnotationPartMgrs.push_back(apm);
//m_mapFromViewToIndex[wellPath] = wppm; //m_mapFromViewToIndex[wellPath] = wppm;
} }
@ -124,7 +95,7 @@ void RivAnnotationsPartMgr::createAnnotationPartManagers()
{ {
for (auto annotation : reachCircleAnnotations) for (auto annotation : reachCircleAnnotations)
{ {
auto* apm = new RivReachCircleAnnotationPartMgr(annotation); auto* apm = new RivReachCircleAnnotationPartMgr(m_rimView, annotation);
m_reachCircleAnnotationPartMgrs.push_back(apm); m_reachCircleAnnotationPartMgrs.push_back(apm);
// m_mapFromViewToIndex[wellPath] = wppm; // m_mapFromViewToIndex[wellPath] = wppm;
} }
@ -133,7 +104,7 @@ void RivAnnotationsPartMgr::createAnnotationPartManagers()
{ {
for (auto annotation : polylineAnnotations) for (auto annotation : polylineAnnotations)
{ {
auto* apm = new RivPolylineAnnotationPartMgr(annotation); auto* apm = new RivPolylineAnnotationPartMgr(m_rimView, annotation);
m_polylineAnnotationPartMgrs.push_back(apm); m_polylineAnnotationPartMgrs.push_back(apm);
// m_mapFromViewToIndex[wellPath] = wppm; // m_mapFromViewToIndex[wellPath] = wppm;
} }

View File

@ -54,25 +54,12 @@ public:
void appendGeometryPartsToModel(cvf::ModelBasicList* model, void appendGeometryPartsToModel(cvf::ModelBasicList* model,
const caf::DisplayCoordTransform* displayCoordTransform); const caf::DisplayCoordTransform* displayCoordTransform);
//void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
// size_t frameIndex,
// const caf::DisplayCoordTransform * displayXf);
//void appendFlattenedDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
// size_t frameIndex,
// const caf::DisplayCoordTransform * displayXf,
// double xOffset);
void clearGeometryCache(); void clearGeometryCache();
private: private:
void createAnnotationPartManagers(); void createAnnotationPartManagers();
//void buildWellHeadParts(size_t frameIndex,
// const caf::DisplayCoordTransform * displayXf,
// bool doFlatten,
// double xOffset);
private: private:
caf::PdmPointer<Rim3dView> m_rimView; caf::PdmPointer<Rim3dView> m_rimView;
cvf::Collection<RivTextAnnotationPartMgr> m_textAnnotationPartMgrs; cvf::Collection<RivTextAnnotationPartMgr> m_textAnnotationPartMgrs;

View File

@ -18,6 +18,7 @@
#include "RivPolylineAnnotationPartMgr.h" #include "RivPolylineAnnotationPartMgr.h"
#include "Rim3dView.h"
#include "RimAnnotationCollection.h" #include "RimAnnotationCollection.h"
#include "RimPolylinesAnnotation.h" #include "RimPolylinesAnnotation.h"
#include "RimAnnotationInViewCollection.h" #include "RimAnnotationInViewCollection.h"
@ -42,8 +43,8 @@
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RivPolylineAnnotationPartMgr::RivPolylineAnnotationPartMgr(RimPolylinesAnnotation* annotation) RivPolylineAnnotationPartMgr::RivPolylineAnnotationPartMgr(Rim3dView* view, RimPolylinesAnnotation* annotation)
: m_rimAnnotation(annotation) : m_rimView(view), m_rimAnnotation(annotation)
{ {
} }
@ -70,7 +71,7 @@ void RivPolylineAnnotationPartMgr::buildPolylineAnnotationParts(const caf::Displ
auto lineThickness = m_rimAnnotation->appearance()->thickness(); auto lineThickness = m_rimAnnotation->appearance()->thickness();
auto linesInDisplayCoords = pointsInDomain->polyLines(); auto linesInDisplayCoords = pointsInDomain->polyLines();
auto* collection = dynamic_cast<RimAnnotationCollection*>(annotationCollection()); auto* collection = annotationCollection();
for (auto& line : linesInDisplayCoords) for (auto& line : linesInDisplayCoords)
{ {
@ -115,11 +116,11 @@ void RivPolylineAnnotationPartMgr::clearAllGeometry()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimAnnotationCollectionBase* RivPolylineAnnotationPartMgr::annotationCollection() const RimAnnotationInViewCollection* RivPolylineAnnotationPartMgr::annotationCollection() const
{ {
RimAnnotationCollectionBase* coll; std::vector<RimAnnotationInViewCollection*> colls;
m_rimAnnotation->firstAncestorOrThisOfType(coll); m_rimView->descendantsIncludingThisOfType(colls);
return coll; return !colls.empty() ? colls.front() : nullptr;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -37,13 +37,13 @@ namespace caf
class Rim3dView; class Rim3dView;
class RimPolylinesAnnotation; class RimPolylinesAnnotation;
class RimAnnotationCollectionBase; class RimAnnotationInViewCollection;
class RivPolylineAnnotationPartMgr : public cvf::Object class RivPolylineAnnotationPartMgr : public cvf::Object
{ {
public: public:
RivPolylineAnnotationPartMgr( RimPolylinesAnnotation* annotation); RivPolylineAnnotationPartMgr(Rim3dView* view, RimPolylinesAnnotation* annotation);
~RivPolylineAnnotationPartMgr() override; ~RivPolylineAnnotationPartMgr() override;
void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model, void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
@ -52,8 +52,9 @@ private:
void buildPolylineAnnotationParts(const caf::DisplayCoordTransform* displayXf); void buildPolylineAnnotationParts(const caf::DisplayCoordTransform* displayXf);
void clearAllGeometry(); void clearAllGeometry();
RimAnnotationCollectionBase* annotationCollection() const; RimAnnotationInViewCollection* annotationCollection() const;
caf::PdmPointer<Rim3dView> m_rimView;
caf::PdmPointer<RimPolylinesAnnotation> m_rimAnnotation; caf::PdmPointer<RimPolylinesAnnotation> m_rimAnnotation;
cvf::ref<cvf::Part> m_part; cvf::ref<cvf::Part> m_part;
}; };

View File

@ -22,7 +22,8 @@
#include "RivReachCircleAnnotationPartMgr.h" #include "RivReachCircleAnnotationPartMgr.h"
#include "RimAnnotationCollection.h" #include "Rim3dView.h"
#include "RimAnnotationInViewCollection.h"
#include "RimReachCircleAnnotation.h" #include "RimReachCircleAnnotation.h"
#include "RivPolylineGenerator.h" #include "RivPolylineGenerator.h"
@ -41,8 +42,8 @@
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RivReachCircleAnnotationPartMgr::RivReachCircleAnnotationPartMgr(RimReachCircleAnnotation* annotation) RivReachCircleAnnotationPartMgr::RivReachCircleAnnotationPartMgr(Rim3dView* view, RimReachCircleAnnotation* annotation)
: m_rimAnnotation(annotation) : m_rimView(view), m_rimAnnotation(annotation)
{ {
} }
@ -66,7 +67,7 @@ void RivReachCircleAnnotationPartMgr::buildParts(const caf::DisplayCoordTransfor
Vec3d centerPositionInDomain = m_rimAnnotation->centerPoint(); Vec3d centerPositionInDomain = m_rimAnnotation->centerPoint();
{ {
auto* collection = dynamic_cast<RimAnnotationCollection*>(annotationCollection()); auto* collection = annotationCollection();
if (collection && collection->snapAnnotations()) if (collection && collection->snapAnnotations())
{ {
centerPositionInDomain.z() = collection->annotationPlaneZ(); centerPositionInDomain.z() = collection->annotationPlaneZ();
@ -172,9 +173,9 @@ bool RivReachCircleAnnotationPartMgr::validateAnnotation(const RimReachCircleAnn
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimAnnotationCollectionBase* RivReachCircleAnnotationPartMgr::annotationCollection() const RimAnnotationInViewCollection* RivReachCircleAnnotationPartMgr::annotationCollection() const
{ {
RimAnnotationCollectionBase* coll; std::vector<RimAnnotationInViewCollection*> colls;
m_rimAnnotation->firstAncestorOrThisOfType(coll); m_rimView->descendantsIncludingThisOfType(colls);
return coll; return !colls.empty() ? colls.front() : nullptr;
} }

View File

@ -39,14 +39,14 @@ namespace caf
class Rim3dView; class Rim3dView;
class RimReachCircleAnnotation; class RimReachCircleAnnotation;
class RimAnnotationCollectionBase; class RimAnnotationInViewCollection;
class RivReachCircleAnnotationPartMgr : public cvf::Object class RivReachCircleAnnotationPartMgr : public cvf::Object
{ {
using Vec3d = cvf::Vec3d; using Vec3d = cvf::Vec3d;
public: public:
RivReachCircleAnnotationPartMgr( RimReachCircleAnnotation* annotation); RivReachCircleAnnotationPartMgr(Rim3dView* view, RimReachCircleAnnotation* annotation);
~RivReachCircleAnnotationPartMgr() override; ~RivReachCircleAnnotationPartMgr() override;
void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayXf); void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model, const caf::DisplayCoordTransform* displayXf);
@ -57,8 +57,9 @@ private:
void clearAllGeometry(); void clearAllGeometry();
bool validateAnnotation(const RimReachCircleAnnotation* annotation) const; bool validateAnnotation(const RimReachCircleAnnotation* annotation) const;
RimAnnotationCollectionBase* annotationCollection() const; RimAnnotationInViewCollection* annotationCollection() const;
caf::PdmPointer<Rim3dView> m_rimView;
caf::PdmPointer<RimReachCircleAnnotation> m_rimAnnotation; caf::PdmPointer<RimReachCircleAnnotation> m_rimAnnotation;
cvf::ref<cvf::Part> m_circlePart; cvf::ref<cvf::Part> m_circlePart;
cvf::ref<cvf::Part> m_centerPointPart; cvf::ref<cvf::Part> m_centerPointPart;

View File

@ -26,7 +26,8 @@
#include "RiaColorTools.h" #include "RiaColorTools.h"
#include "RiaPreferences.h" #include "RiaPreferences.h"
#include "RimAnnotationCollection.h" #include "Rim3dView.h"
#include "RimAnnotationInViewCollection.h"
#include "RimTextAnnotation.h" #include "RimTextAnnotation.h"
#include "RivPolylineGenerator.h" #include "RivPolylineGenerator.h"
@ -46,8 +47,8 @@
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RivTextAnnotationPartMgr::RivTextAnnotationPartMgr(RimTextAnnotation* annotation) RivTextAnnotationPartMgr::RivTextAnnotationPartMgr(Rim3dView* view, RimTextAnnotation* annotation)
: m_rimAnnotation(annotation) : m_rimView(view), m_rimAnnotation(annotation)
{ {
} }
@ -74,7 +75,7 @@ void RivTextAnnotationPartMgr::buildParts(const caf::DisplayCoordTransform * dis
cvf::Vec3d labelPositionInDomain = m_rimAnnotation->labelPoint(); cvf::Vec3d labelPositionInDomain = m_rimAnnotation->labelPoint();
{ {
auto* collection = dynamic_cast<RimAnnotationCollection*>(annotationCollection()); auto* collection = annotationCollection();
if (collection && collection->snapAnnotations()) if (collection && collection->snapAnnotations())
{ {
anchorPositionInDomain.z() = collection->annotationPlaneZ(); anchorPositionInDomain.z() = collection->annotationPlaneZ();
@ -175,9 +176,9 @@ bool RivTextAnnotationPartMgr::validateAnnotation(const RimTextAnnotation* annot
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RimAnnotationCollectionBase* RivTextAnnotationPartMgr::annotationCollection() const RimAnnotationInViewCollection* RivTextAnnotationPartMgr::annotationCollection() const
{ {
RimAnnotationCollectionBase* coll; std::vector<RimAnnotationInViewCollection*> colls;
m_rimAnnotation->firstAncestorOrThisOfType(coll); m_rimView->descendantsIncludingThisOfType(colls);
return coll; return !colls.empty() ? colls.front() : nullptr;
} }

View File

@ -36,7 +36,7 @@ namespace caf
} }
class Rim3dView; class Rim3dView;
class RimAnnotationCollectionBase; class RimAnnotationInViewCollection;
class RimTextAnnotation; class RimTextAnnotation;
class RimSimWellInView; class RimSimWellInView;
class RimSimWellInViewCollection; class RimSimWellInViewCollection;
@ -44,7 +44,7 @@ class RimSimWellInViewCollection;
class RivTextAnnotationPartMgr : public cvf::Object class RivTextAnnotationPartMgr : public cvf::Object
{ {
public: public:
RivTextAnnotationPartMgr( RimTextAnnotation* annotation); RivTextAnnotationPartMgr(Rim3dView* view, RimTextAnnotation* annotation);
~RivTextAnnotationPartMgr() override; ~RivTextAnnotationPartMgr() override;
void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model, void appendDynamicGeometryPartsToModel(cvf::ModelBasicList* model,
@ -58,8 +58,9 @@ private:
void clearAllGeometry(); void clearAllGeometry();
bool validateAnnotation(const RimTextAnnotation* annotation) const; bool validateAnnotation(const RimTextAnnotation* annotation) const;
RimAnnotationCollectionBase* annotationCollection() const; RimAnnotationInViewCollection* annotationCollection() const;
caf::PdmPointer<Rim3dView> m_rimView;
caf::PdmPointer<RimTextAnnotation> m_rimAnnotation; caf::PdmPointer<RimTextAnnotation> m_rimAnnotation;
cvf::ref<cvf::Part> m_linePart; cvf::ref<cvf::Part> m_linePart;
cvf::ref< cvf::Part > m_labelPart; cvf::ref< cvf::Part > m_labelPart;

View File

@ -50,9 +50,6 @@ RimAnnotationCollection::RimAnnotationCollection()
m_userDefinedPolylineAnnotations.uiCapability()->setUiHidden(true); m_userDefinedPolylineAnnotations.uiCapability()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_polylineFromFileAnnotations, "PolylineFromFileAnnotations", "Polylines From File", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_polylineFromFileAnnotations, "PolylineFromFileAnnotations", "Polylines From File", "", "", "");
m_polylineFromFileAnnotations.uiCapability()->setUiHidden(true); m_polylineFromFileAnnotations.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_annotationPlaneDepth, "AnnotationPlaneDepth", 0.0,"Annotation Plane Depth", "", "", "");
CAF_PDM_InitField(&m_snapAnnotations, "SnapAnnotations", false, "Snap Annotations to Plane", "", "", "");
} }
@ -88,22 +85,6 @@ void RimAnnotationCollection::addAnnotation(RimPolylinesFromFileAnnotation* anno
m_polylineFromFileAnnotations.push_back(annotation); m_polylineFromFileAnnotations.push_back(annotation);
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimAnnotationCollection::annotationPlaneZ() const
{
return -m_annotationPlaneDepth();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimAnnotationCollection::snapAnnotations() const
{
return m_snapAnnotations;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -218,25 +199,6 @@ void RimAnnotationCollection::reloadPolylinesFromFile(const std::vector<RimPolyl
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimAnnotationCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
uiOrdering.add(&m_annotationPlaneDepth);
uiOrdering.add(&m_snapAnnotations);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimAnnotationCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue)
{
scheduleRedrawOfRelevantViews();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -47,9 +47,6 @@ public:
void loadDataAndUpdate(); void loadDataAndUpdate();
double annotationPlaneZ() const;
bool snapAnnotations() const;
void addAnnotation(RimReachCircleAnnotation* annotation); void addAnnotation(RimReachCircleAnnotation* annotation);
void addAnnotation(RimUserDefinedPolylinesAnnotation* annotation); void addAnnotation(RimUserDefinedPolylinesAnnotation* annotation);
void addAnnotation(RimPolylinesFromFileAnnotation* annotation); void addAnnotation(RimPolylinesFromFileAnnotation* annotation);
@ -62,17 +59,10 @@ public:
size_t lineBasedAnnotationsCount() const; size_t lineBasedAnnotationsCount() const;
protected:
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
private: private:
void reloadPolylinesFromFile(const std::vector<RimPolylinesFromFileAnnotation *>& polyLinesObjsToReload); void reloadPolylinesFromFile(const std::vector<RimPolylinesFromFileAnnotation *>& polyLinesObjsToReload);
caf::PdmChildArrayField<RimReachCircleAnnotation*> m_reachCircleAnnotations; caf::PdmChildArrayField<RimReachCircleAnnotation*> m_reachCircleAnnotations;
caf::PdmChildArrayField<RimUserDefinedPolylinesAnnotation*> m_userDefinedPolylineAnnotations; caf::PdmChildArrayField<RimUserDefinedPolylinesAnnotation*> m_userDefinedPolylineAnnotations;
caf::PdmChildArrayField<RimPolylinesFromFileAnnotation*> m_polylineFromFileAnnotations; caf::PdmChildArrayField<RimPolylinesFromFileAnnotation*> m_polylineFromFileAnnotations;
caf::PdmField<double> m_annotationPlaneDepth;
caf::PdmField<bool> m_snapAnnotations;
}; };

View File

@ -36,6 +36,9 @@ RimAnnotationInViewCollection::RimAnnotationInViewCollection()
CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", ""); CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", "");
m_isActive.uiCapability()->setUiHidden(true); m_isActive.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_annotationPlaneDepth, "AnnotationPlaneDepth", 0.0, "Annotation Plane Depth", "", "", "");
CAF_PDM_InitField(&m_snapAnnotations, "SnapAnnotations", false, "Snap Annotations to Plane", "", "", "");
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -53,6 +56,31 @@ bool RimAnnotationInViewCollection::isActive() const
return m_isActive(); return m_isActive();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RimAnnotationInViewCollection::annotationPlaneZ() const
{
return -m_annotationPlaneDepth();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimAnnotationInViewCollection::snapAnnotations() const
{
return m_snapAnnotations;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimAnnotationInViewCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
uiOrdering.add(&m_annotationPlaneDepth);
uiOrdering.add(&m_snapAnnotations);
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -61,15 +89,8 @@ void RimAnnotationInViewCollection::fieldChangedByUi(const caf::PdmFieldHandle*
if (&m_isActive == changedField) if (&m_isActive == changedField)
{ {
this->updateUiIconFromToggleField(); this->updateUiIconFromToggleField();
RimGridView* view;
firstAncestorOrThisOfType(view);
if (view)
{
//view->hasUserRequestedAnimation = true;
view->scheduleCreateDisplayModelAndRedraw();
}
} }
scheduleRedrawOfRelevantViews();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -42,11 +42,16 @@ public:
~RimAnnotationInViewCollection() override; ~RimAnnotationInViewCollection() override;
bool isActive() const; bool isActive() const;
double annotationPlaneZ() const;
bool snapAnnotations() const;
protected: protected:
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
caf::PdmFieldHandle* objectToggleField() override; caf::PdmFieldHandle* objectToggleField() override;
private: private:
caf::PdmField<bool> m_isActive; caf::PdmField<bool> m_isActive;
caf::PdmField<double> m_annotationPlaneDepth;
caf::PdmField<bool> m_snapAnnotations;
}; };