diff --git a/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.cpp b/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.cpp index ef0e6e7241..771890b2bf 100644 --- a/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.cpp +++ b/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.cpp @@ -363,3 +363,19 @@ bool RimSurface::isMeshLinesEnabledDefault() const { return false; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +cvf::BoundingBox RimSurface::boundingBoxInDomainCoords() const +{ + cvf::BoundingBox boundingBox; + + if ( m_surfaceData.notNull() ) + { + for ( const auto& vertex : m_surfaceData->vertices() ) + boundingBox.add( vertex ); + } + + return boundingBox; +} diff --git a/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.h b/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.h index a06b64919c..2ea934a88a 100644 --- a/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.h +++ b/ApplicationLibCode/ProjectDataModel/Surfaces/RimSurface.h @@ -17,10 +17,11 @@ ///////////////////////////////////////////////////////////////////////////////// #pragma once -#include "cafPdmField.h" -#include "cafPdmObject.h" +#include "Rim3dPropertiesInterface.h" +#include "cafPdmField.h" #include "cafPdmFieldCvfColor.h" +#include "cafPdmObject.h" #include "cafPdmProxyValueField.h" #include "cvfObject.h" @@ -31,7 +32,7 @@ class RimRegularLegendConfig; class RigSurface; -class RimSurface : public caf::PdmObject +class RimSurface : public caf::PdmObject, public Rim3dPropertiesInterface { CAF_PDM_HEADER_INIT; @@ -92,6 +93,8 @@ protected: virtual bool updateSurfaceData() = 0; virtual void clearCachedNativeData() = 0; + cvf::BoundingBox boundingBoxInDomainCoords() const override; + protected: caf::PdmField m_userDescription;