mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3778 Annotations. Move z plane settings to in-view collection
This commit is contained in:
parent
b5f0459843
commit
9dc1e8d063
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -52,29 +52,16 @@ public:
|
|||||||
~RivAnnotationsPartMgr() override;
|
~RivAnnotationsPartMgr() override;
|
||||||
|
|
||||||
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;
|
||||||
cvf::Collection<RivReachCircleAnnotationPartMgr> m_reachCircleAnnotationPartMgrs;
|
cvf::Collection<RivReachCircleAnnotationPartMgr> m_reachCircleAnnotationPartMgrs;
|
||||||
cvf::Collection<RivPolylineAnnotationPartMgr> m_polylineAnnotationPartMgrs;
|
cvf::Collection<RivPolylineAnnotationPartMgr> m_polylineAnnotationPartMgrs;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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();
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -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;
|
|
||||||
};
|
};
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -41,12 +41,17 @@ public:
|
|||||||
RimAnnotationInViewCollection();
|
RimAnnotationInViewCollection();
|
||||||
~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;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user