#3775 Annotations. Use depth in GUI, not z

This commit is contained in:
Bjørn Erik Jensen 2018-11-28 13:07:21 +01:00
parent 0f384cf4f7
commit 02eea4bc84
6 changed files with 23 additions and 17 deletions

View File

@ -49,7 +49,7 @@ RimAnnotationCollection::RimAnnotationCollection()
CAF_PDM_InitFieldNoDefault(&m_polylineFromFileAnnotations, "PolylineFromFileAnnotations", "Polylines From File", "", "", "");
m_polylineFromFileAnnotations.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_annotationPlaneZ, "AnnotationPlane", 0.0,"Annotation Plane Z", "", "", "");
CAF_PDM_InitField(&m_annotationPlaneDepth, "AnnotationPlaneDepth", 0.0,"Annotation Plane Depth", "", "", "");
CAF_PDM_InitField(&m_snapAnnotations, "SnapAnnotations", false, "Snap Annotations to Plane", "", "", "");
}
@ -82,7 +82,7 @@ void RimAnnotationCollection::addAnnotation(RimPolylinesAnnotation* annotation)
//--------------------------------------------------------------------------------------------------
double RimAnnotationCollection::annotationPlaneZ() const
{
return m_annotationPlaneZ;
return -m_annotationPlaneDepth();
}
//--------------------------------------------------------------------------------------------------
@ -206,7 +206,7 @@ void RimAnnotationCollection::reloadPolylinesFromFile(const std::vector<RimPolyl
//--------------------------------------------------------------------------------------------------
void RimAnnotationCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
uiOrdering.add(&m_annotationPlaneZ);
uiOrdering.add(&m_annotationPlaneDepth);
uiOrdering.add(&m_snapAnnotations);
}

View File

@ -70,6 +70,6 @@ private:
caf::PdmChildArrayField<RimPolylinesAnnotation*> m_polylineAnnotations;
caf::PdmChildArrayField<RimPolylinesFromFileAnnotation*> m_polylineFromFileAnnotations;
caf::PdmField<double> m_annotationPlaneZ;
caf::PdmField<double> m_annotationPlaneDepth;
caf::PdmField<bool> m_snapAnnotations;
};

View File

@ -34,7 +34,7 @@ RimReachCircleAnnotation::RimReachCircleAnnotation()
{
CAF_PDM_InitObject("CircleAnnotation", ":/WellCollection.png", "", "");
CAF_PDM_InitField(&m_centerPoint, "CenterPoint", Vec3d::ZERO, "Center Point", "", "", "");
CAF_PDM_InitField(&m_centerPointXyd, "CenterPointXyd", Vec3d::ZERO, "Center Point", "", "", "");
CAF_PDM_InitField(&m_radius, "Radius", 0.0, "Radius", "", "", "");
CAF_PDM_InitField(&m_name, "Name", QString("Circle Annotation"), "Name", "", "", "");
}
@ -44,7 +44,9 @@ RimReachCircleAnnotation::RimReachCircleAnnotation()
//--------------------------------------------------------------------------------------------------
cvf::Vec3d RimReachCircleAnnotation::centerPoint() const
{
return m_centerPoint;
auto pos = m_centerPointXyd();
pos.z() = -pos.z();
return pos;
}
//--------------------------------------------------------------------------------------------------
@ -69,7 +71,7 @@ QString RimReachCircleAnnotation::name() const
void RimReachCircleAnnotation::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
uiOrdering.add(&m_name);
uiOrdering.add(&m_centerPoint);
uiOrdering.add(&m_centerPointXyd);
uiOrdering.add(&m_radius);
auto appearanceGroup = uiOrdering.addNewGroup("Line Appearance");

View File

@ -68,7 +68,7 @@ private:
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
private:
caf::PdmField<Vec3d> m_centerPoint;
caf::PdmField<Vec3d> m_centerPointXyd;
caf::PdmField<double> m_radius;
caf::PdmField<QString> m_name;
};

View File

@ -33,8 +33,8 @@ RimTextAnnotation::RimTextAnnotation()
{
CAF_PDM_InitObject("TextAnnotation", ":/WellCollection.png", "", "");
CAF_PDM_InitField(&m_anchorPoint, "AnchorPoint", Vec3d::ZERO, "Anchor Point", "", "", "");
CAF_PDM_InitField(&m_labelPoint, "LabelPoint", Vec3d::ZERO, "Label Point", "", "", "");
CAF_PDM_InitField(&m_anchorPointXyd, "AnchorPointXyd", Vec3d::ZERO, "Anchor Point", "", "", "");
CAF_PDM_InitField(&m_labelPointXyd, "LabelPointXyd", Vec3d::ZERO, "Label Point", "", "", "");
CAF_PDM_InitField(&m_text, "Text", QString("(New text)"), "Text", "", "", "");
}
@ -43,7 +43,9 @@ RimTextAnnotation::RimTextAnnotation()
//--------------------------------------------------------------------------------------------------
cvf::Vec3d RimTextAnnotation::anchorPoint() const
{
return m_anchorPoint;
auto pos = m_anchorPointXyd();
pos.z() = -pos.z();
return pos;
}
//--------------------------------------------------------------------------------------------------
@ -51,7 +53,9 @@ cvf::Vec3d RimTextAnnotation::anchorPoint() const
//--------------------------------------------------------------------------------------------------
cvf::Vec3d RimTextAnnotation::labelPoint() const
{
return m_labelPoint;
auto pos = m_labelPointXyd();
pos.z() = -pos.z();
return pos;
}
//--------------------------------------------------------------------------------------------------
@ -75,8 +79,8 @@ const QString& RimTextAnnotation::text() const
//--------------------------------------------------------------------------------------------------
void RimTextAnnotation::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
uiOrdering.add(&m_anchorPoint);
uiOrdering.add(&m_labelPoint);
uiOrdering.add(&m_anchorPointXyd);
uiOrdering.add(&m_labelPointXyd);
uiOrdering.add(&m_text);
uiOrdering.skipRemainingFields(true);
@ -92,7 +96,7 @@ void RimTextAnnotation::fieldChangedByUi(const caf::PdmFieldHandle* changedField
auto views = gridViewsContainingAnnotations();
if (!views.empty())
{
if (changedField == &m_text || changedField == &m_anchorPoint || changedField == &m_labelPoint)
if (changedField == &m_text || changedField == &m_anchorPointXyd || changedField == &m_labelPointXyd)
{
for (auto& view : views)
{

View File

@ -66,8 +66,8 @@ private:
std::vector<RimGridView*> gridViewsContainingAnnotations() const;
private:
caf::PdmField<Vec3d> m_anchorPoint;
caf::PdmField<Vec3d> m_labelPoint;
caf::PdmField<Vec3d> m_anchorPointXyd;
caf::PdmField<Vec3d> m_labelPointXyd;
caf::PdmField<QString> m_text;
};