#1442 Moved geometry functions to RigFishbonesGeometry

This commit is contained in:
Magne Sjaastad
2017-05-08 07:54:02 +02:00
parent a85883228c
commit b0c5ceeab6
7 changed files with 288 additions and 146 deletions

View File

@@ -19,6 +19,7 @@
#include "RimFishbonesMultipleSubs.h"
#include "RimProject.h"
#include "RigFishbonesGeometry.h"
#include "cafPdmUiListEditor.h"
@@ -89,6 +90,8 @@ RimFishbonesMultipleSubs::RimFishbonesMultipleSubs()
CAF_PDM_InitFieldNoDefault(&m_installationRotationAngles, "InstallationRotationAngles", "Installation Rotation Angles [deg]", "", "", "");
m_installationRotationAngles.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_fixedInstallationRotationAngle, "FixedInstallationRotationAngle", 0.0, " Fixed Angle [deg]", "", "", "");
m_rigFishbonesGeometry = std::unique_ptr<RigFisbonesGeometry>(new RigFisbonesGeometry(this));
}
//--------------------------------------------------------------------------------------------------
@@ -183,6 +186,22 @@ std::vector<double> RimFishbonesMultipleSubs::lateralLengths() const
return lengths;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<cvf::Vec3d> RimFishbonesMultipleSubs::coordsForLateral(size_t subIndex, size_t lateralIndex) const
{
std::vector<RigCoordAndMD> coordsAndMD = m_rigFishbonesGeometry->coordsForLateral(subIndex, lateralIndex);
std::vector<cvf::Vec3d> domainCoords;
for (auto c :coordsAndMD)
{
domainCoords.push_back(c.m_coord);
}
return domainCoords;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -20,6 +20,14 @@
#include "RimCheckableNamedObject.h"
#include "cvfBase.h"
#include "cvfVector3.h"
#include <algorithm>
#include <memory>
class RigFisbonesGeometry;
//==================================================================================================
///
///
@@ -56,6 +64,8 @@ public:
double lateralCountPerSub() const;
std::vector<double> lateralLengths() const;
std::vector<cvf::Vec3d> coordsForLateral(size_t subIndex, size_t lateralIndex) const;
protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
@@ -100,4 +110,6 @@ private:
caf::PdmField<std::vector<double>> m_installationRotationAngles;
caf::PdmField<double> m_fixedInstallationRotationAngle;
std::unique_ptr<RigFisbonesGeometry> m_rigFishbonesGeometry;
};