33#include <EnvironmentProvider.h>
45 void inline setVirtualCurrent(
VirtualCurrent* virtCurr){ m_virtCurr = virtCurr; }
46 [[deprecated(
"This may not use up-to-date state info")]]
57 VirtualCurrent(
const string& simObjectName, ISimObjectCreator*
const creator);
59 void FinalSetup(
const double T,
const double *
const X, ISimObjectCreator*
const creator);
60 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
61 void GetCurrent(
const double T,
const double*
const X,
const double position[3],
double* currentVelocity);
62 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot,
const bool bIsMajorTimeStep);
64 void PreOdeFcn(
const double T,
const double *
const X, IStateUpdater* updater);
66#ifdef FH_VISUALIZATION
67 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
68 void RenderUpdate(
const double T,
const double*
const X);
72 const double * PlanarCurrent(
const double T,
const double *
const X,
int layer);
75 ICommonComputation* m_SetOutputPortValues;
76 double m_Pp, m_Pd, m_Pi, m_IntegralSaturation, m_DerivativeTInv;
77 int m_CurrentIndex, m_IntegralIndex, m_DerivativeIndex, m_layers;
79 std::unique_ptr<double[]> m_PlanarCurrents;
80 environment::EnvironmentProvider *Environment;
81 std::shared_ptr<artificial::VirtualCurrentField> m_CurrentField = std::make_shared<artificial::VirtualCurrentField>();
83 std::vector<int> m_CurrentIndices, m_IntegralIndices, m_DerivativeIndices;
84 std::unique_ptr<double[]> m_Depths;
86 double m_MaximumCurrent;
91#ifdef FH_VISUALIZATION
92 Ogre::SceneNode* m_RenderNode;
Definition VirtualCurrent.h:94
void SetOutputPortValues(const double T, const double *const X)
Set upper limit of the current.
std::unique_ptr< ISignalPort *[] > m_Input_i
Set upper limit of the current.
Definition VirtualCurrent.h:89
Definition VirtualCurrent.h:41
marenv::Status GetCurrent(const double T, const double position[3], double currentVelocity[3])
Defines the interface for an relaying information about ocean currents.
Definition CurrentField.h:13
Status
Definition marenv.h:40