48 using Ptr = std::shared_ptr<MNAStateSpaceContributor>;
49 using List = std::vector<Ptr>;
69 UInt stateOffset,
UInt mnaVectorSize)
const = 0;
76 UInt stateOffset)
const {}
std::shared_ptr< MNAInterface > Ptr
static MNAStateSpaceContributor::List createList(const CPS::MNAInterface::List &components)
std::shared_ptr< MNAStateSpaceContributor > Ptr
virtual Bool requiresUpdate() const
Whether this contributor requests its matrices to be refreshed.
virtual UInt getStateCount() const =0
Number of local extraction states contributed by this component.
virtual CPS::AttributeBase::List getAttributeDependencies() const
Attributes that must be up to date before this contribution is stamped.
virtual void stamp(Matrix &AdLocal, Matrix &BdMna, Matrix &CdMna, UInt stateOffset, UInt mnaVectorSize) const =0
Stamp this component's current local state-space contribution.
virtual void contributeMetadata(StateSpaceMetadata &metadata, UInt stateOffset) const
virtual Bool contributesToUpdatedMatrices() const
Whether this contributor belongs to the updated matrix group.
virtual ~MNAStateSpaceContributor()=default
std::array< UInt, 3 > indices
Global extracted-state indices representing one native abc-frame state block.