opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
integrator_output_extractor.h
Go to the documentation of this file.
1#pragma once
2
6
9
10#include <cstddef>
11#include <string>
12#include <string_view>
13
14namespace OpenSim { class Component; }
15namespace SimTK { class Integrator; }
16
17namespace opyn
18{
19 // an output extractor that extracts integrator metadata (e.g. predicted step size)
21 public:
22 using ExtractorFn = float (*)(const SimTK::Integrator&);
23
25 std::string_view name,
26 std::string_view description,
27 ExtractorFn extractor) :
28
29 m_Name{name},
30 m_Description{description},
31 m_Extractor{extractor}
32 {}
33
34 osc::UID getAuxiliaryDataID() const { return m_AuxiliaryDataID; }
35 ExtractorFn getExtractorFunction() const { return m_Extractor; }
36
37 private:
38 osc::CStringView implGetName() const final { return m_Name; }
39 osc::CStringView implGetDescription() const final { return m_Description; }
41 OutputValueExtractor implGetOutputValueExtractor(const OpenSim::Component&) const final;
42 size_t implGetHash() const final;
43 bool implEquals(const OutputExtractor&) const final;
44
45 osc::UID m_AuxiliaryDataID;
46 std::string m_Name;
47 std::string m_Description;
48 ExtractorFn m_Extractor;
49 };
50
54}
Definition integrator_output_extractor.h:20
IntegratorOutputExtractor(std::string_view name, std::string_view description, ExtractorFn extractor)
Definition integrator_output_extractor.h:24
OutputValueExtractor implGetOutputValueExtractor(const OpenSim::Component &) const final
osc::CStringView implGetName() const final
Definition integrator_output_extractor.h:38
bool implEquals(const OutputExtractor &) const final
size_t implGetHash() const final
float(*)(const SimTK::Integrator &) ExtractorFn
Definition integrator_output_extractor.h:22
ExtractorFn getExtractorFunction() const
Definition integrator_output_extractor.h:35
osc::UID getAuxiliaryDataID() const
Definition integrator_output_extractor.h:34
osc::CStringView implGetDescription() const final
Definition integrator_output_extractor.h:39
OutputExtractorDataType implGetOutputType() const override
Definition integrator_output_extractor.h:40
Definition output_extractor.h:29
Definition output_value_extractor.h:18
Definition shared_output_extractor.h:28
Definition c_string_view.h:12
Definition uid.h:14
Definition static_component_registries.h:3
Definition custom_decoration_generator.h:6
Definition component_registry.h:14
int GetNumIntegratorOutputExtractors()
OutputExtractorDataType
Definition output_extractor_data_type.h:6
const IntegratorOutputExtractor & GetIntegratorOutputExtractor(int idx)
SharedOutputExtractor GetIntegratorOutputExtractorDynamic(int idx)
Definition custom_decoration_generator.h:5