80 TrawlReporter(
const std::string& simObjectName, ISimObjectCreator*
const creator);
82 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const override { }
83 void AcceptedStep(
const double T,
const double*
const X)
override;
85#ifdef FH_VISUALIZATION
86 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
87 void RenderUpdate(
const double T,
const double*
const X);
92 std::vector<double>
Measure(
const double T,
const double*
const X)
const;
95 const double*
Filtered(
int offset) {
return m_filter.GetValue() + offset; }
97 const double* OutWarpTensions(
const double T,
const double*
const X) {
return Filtered(m_indWarpTensions); }
98 const double* OutOuterDoorSpread(
const double T,
const double*
const X) {
return Filtered(m_indOuterDoorSpread); }
99 const double* OutDoorSpreads(
const double T,
const double*
const X) {
return Filtered(m_indDoorSpreads); }
100 const double* OutNetHeightsCenter(
const double T,
const double*
const X) {
return Filtered(m_indNetHeightsCenter); }
101 const double* OutNetHeightsPWing(
const double T,
const double*
const X) {
return Filtered(m_indNetHeightsPWing); }
102 const double* OutNetHeightsSWing(
const double T,
const double*
const X) {
return Filtered(m_indNetHeightsSWing); }
103 const double* OutNetWidthTop(
const double T,
const double*
const X) {
return Filtered(m_indNetWidthTop); }
104 const double* OutNetWidthBottom(
const double T,
const double*
const X) {
return Filtered(m_indNetWidthBottom); }
105 const double* OutNetSeafloorPressure(
const double T,
const double*
const X) {
return Filtered(m_indNetSeafloorPressure); }
106 const double* OutNetSeafloorFriction(
const double T,
const double*
const X) {
return Filtered(m_indNetSeafloorFriction); }
109 sfh::filters::FIR m_filter;
110 std::vector<ISignalPort*> m_inWarpForces;
111 std::vector<ISignalPort*> m_inDoorPos;
112 std::vector<ISignalPort*> m_inNetUpperPort;
113 std::vector<ISignalPort*> m_inNetLowerPort;
114 std::vector<ISignalPort*> m_inNetUpperStb;
115 std::vector<ISignalPort*> m_inNetLowerStb;
116 std::vector<ISignalPort*> m_inNetUpperCenter;
117 std::vector<ISignalPort*> m_inNetLowerCenter;
118 std::vector<ISignalPort*> m_inNetBottomContact;
121 int m_indWarpTensions;
122 int m_indOuterDoorSpread;
123 int m_indDoorSpreads;
124 int m_indNetHeightsCenter;
125 int m_indNetWidthTop;
126 int m_indNetSeafloorPressure;
127 int m_indNetSeafloorFriction;
128 int m_indNetHeightsPWing;
129 int m_indNetHeightsSWing;
130 int m_indNetWidthBottom;
133#ifdef FH_VISUALIZATION
134 std::unique_ptr<ValuesDisplayBase> m_formatter;
135 fhsim::HudCorner m_corner;
136 std::vector<fhsim::HudLine> m_hudLines;
std::vector< double > Measure(const double T, const double *const X) const
The unfiltered values at (T, X), in the layout of the Ind* offsets.