21#include <fhsim/ISimObjectLogger.h>
22#include <fhsim_environment/BodyWake.h>
23#include <fhsim_environment/EnvironmentProvider.h>
24#include <fhsim_environment/PanelSourceSet.h>
29class ISimObjectCreator;
51 void FinalSetup(
const std::string& objectName,
double rho, environment::EnvironmentProvider* environment, std::unique_ptr<const environment::wake::WakePanelSource> structure,
52 ISimObjectLogger& logger);
72 void FlowAt(
double T,
int point,
const double pos[3],
const double* nodeWaveVelocity,
double vel[3])
const;
75 const environment::wake::BodyWake*
Wake()
const {
return m_wake.get(); }
79 struct SamplePointNodes
81 int nodes[3] = {0, 0, 0};
85 environment::wake::BodyWakeSettings m_settings;
86 environment::EnvironmentProvider* m_environment =
nullptr;
87 std::unique_ptr<const environment::wake::WakePanelSource> m_structure;
88 std::unique_ptr<const environment::wake::PanelSourceSet> m_panels;
89 std::unique_ptr<environment::wake::BodyWake> m_wake;
90 std::vector<SamplePointNodes> m_pointNodes;
Definition NetFlowInteraction.h:32
NetFlowInteraction(ISimObjectCreator *creator)
const environment::wake::BodyWake * Wake() const
The net's BodyWake; null without an environment or before FinalSetup.
Definition NetFlowInteraction.h:75
void PreOdeFcn(double T, const double *X)
void FinalSetup(const std::string &objectName, double rho, environment::EnvironmentProvider *environment, std::unique_ptr< const environment::wake::WakePanelSource > structure, ISimObjectLogger &logger)
void FlowAt(double T, int point, const double pos[3], const double *nodeWaveVelocity, double vel[3]) const