97 VirtualCurrent(
const string& simObjectName, ISimObjectCreator*
const creator);
99 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator);
100 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
101 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot,
const bool bIsMajorTimeStep);
103 void PreOdeFcn(
const double T,
const double*
const X, IStateUpdater* updater);
105#ifdef FH_VISUALIZATION
106 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
107 void RenderUpdate(
const double T,
const double*
const X);
111 const double* PlanarCurrent(
const double T,
const double*
const X,
int layer);
114 ICommonComputation* m_SetOutputPortValues;
115 double m_Pp, m_Pd, m_Pi, m_IntegralSaturation, m_DerivativeTInv;
116 int m_CurrentIndex, m_IntegralIndex, m_DerivativeIndex, m_layers;
118 std::unique_ptr<double[]> m_PlanarCurrents;
119 environment::EnvironmentProvider* Environment;
120 std::shared_ptr<VirtualCurrentField> m_CurrentField = std::make_shared<VirtualCurrentField>();
123 std::vector<int> m_CurrentIndices, m_IntegralIndices, m_DerivativeIndices;
124 std::unique_ptr<double[]> m_Depths;
126 double m_MaximumCurrent;
131#ifdef FH_VISUALIZATION
132 Ogre::SceneNode* m_RenderNode;