100 VirtualCurrent(
const std::string& simObjectName, ISimObjectCreator*
const creator);
102 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator);
103 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
104 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
106 void PreOdeFcn(
const double T,
const double*
const X, IStateUpdater* updater);
108#ifdef FH_VISUALIZATION
109 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
110 void RenderUpdate(
const double T,
const double*
const X);
114 const double* PlanarCurrent(
const double T,
const double*
const X,
int layer);
117 ICommonComputation* m_SetOutputPortValues;
118 double m_Pp, m_Pd, m_Pi, m_IntegralSaturation, m_DerivativeTInv;
119 int m_CurrentIndex, m_IntegralIndex, m_DerivativeIndex, m_layers;
121 std::unique_ptr<double[]> m_PlanarCurrents;
122 environment::EnvironmentProvider* Environment;
123 std::shared_ptr<VirtualCurrentField> m_CurrentField = std::make_shared<VirtualCurrentField>();
126 std::vector<int> m_CurrentIndices, m_IntegralIndices, m_DerivativeIndices;
127 std::unique_ptr<double[]> m_Depths;
129 double m_MaximumCurrent;
134#ifdef FH_VISUALIZATION
135 Ogre::SceneNode* m_RenderNode;