Hopsan
PowerMultiPort Class Reference
Inheritance diagram for PowerMultiPort:
MultiPort Port

Public Member Functions

 PowerMultiPort (const HString &rNodeType, const HString &rPortName, Component *pParentComponent, Port *pParentPort=0)
 
PortTypesEnumT getPortType () const
 Get the port type.
 
- Public Member Functions inherited from MultiPort
 MultiPort (const HString &rNodeType, const HString &rPortName, Component *pParentComponent, Port *pParentPort=0)
 
bool isMultiPort () const
 Convenience function to check if port is multiport.
 
double readNodeSafe (const size_t idx, const size_t subPortIdx) const
 Reads a value from the connected node.
 
void writeNodeSafe (const size_t idx, const double value, const size_t subPortIdx)
 Writes a value to the connected node.
 
double readNode (const size_t idx, const size_t subPortIdx) const
 Reads a value from the connected node.
 
void writeNode (const size_t idx, const double value, const size_t subPortIdx)
 Writes a value to the connected node.
 
const NodegetNodePtr (const size_t subPortIdx=0) const
 Returns the node pointer from one of the subports in the port (const version)
 
double * getNodeDataPtr (const size_t idx, const size_t subPortIdx) const
 
std::vector< double > * getDataVectorPtr (const size_t subPortIdx=0)
 
const std::vector< NodeDataDescription > * getNodeDataDescriptions (const size_t subPortIdx=0) const
 Get all node data descriptions from a connected sub port node.
 
const NodeDataDescriptiongetNodeDataDescription (const size_t dataid, const size_t subPortIdx=0) const
 Get a specific node data description from a connected sub port node.
 
int getNodeDataIdFromName (const HString &rName, const size_t subPortIdx=0)
 Ask the node for the dataId for a particular data name such as (Pressure)
 
bool haveLogData (const size_t subPortIdx=0)
 Check if log data exist in the ports node.
 
std::vector< double > * getLogTimeVectorPtr (const size_t subPortIdx=0)
 
std::vector< std::vector< double > > * getLogDataVectorPtr (const size_t subPortIdx=0)
 
const std::vector< std::vector< double > > * getLogDataVectorPtr (size_t subPortIdx=0) const
 
virtual void setEnableLogging (const bool enableLog)
 
double getStartValue (const size_t idx, const size_t subPortIdx=0)
 Get the an actual start value of the port.
 
void loadStartValues ()
 Load start values by copying the start values from the port to the node.
 
void loadStartValuesFromSimulation ()
 Load start values to the start value container from the node (last values from simulation)
 
virtual bool isConnectedTo (Port *pOtherPort)
 Check if this port is connected to other port.
 
bool isConnected () const
 Check if the port is currently connected.
 
size_t getNumPorts ()
 
std::vector< Port * > getConnectedPorts (const int subPortIdx=-1) const
 Get all the connected ports.
 
std::vector< double > & getNodeDataVector (const size_t subPortIdx)
 Returns a reference to the Node data in the port.
 
const std::vector< double > & getNodeDataVector (const size_t subPortIdx) const
 Returns a reference to the Node data in the port.
 
- Public Member Functions inherited from Port
 Port (const HString &rNodeType, const HString &rPortName, Component *pParentComponent, Port *pParentPort=0)
 Port base class constructor.
 
virtual ~Port ()
 Destructor.
 
double readNode (const size_t idx) const
 Reads a value from the connected node.
 
void writeNode (const size_t idx, const double value)
 Writes a value to the connected node.
 
virtual size_t getNumDataVariables () const
 Returns the number of data variables in the node.
 
virtual void setSignalNodeQuantityOrUnit (const HString &rQuantityOrUnit)
 A help function that makes it possible to overwrite the unit or quantity of scalar signal node variables.
 
virtual void setSignalNodeQuantityModifyable (bool tf)
 
virtual HString getSignalNodeQuantity () const
 
virtual bool getSignalNodeQuantityModifyable () const
 
const HStringgetVariableAlias (const size_t id) const
 Get the alias name for a specific node variable id.
 
int getVariableIdByAlias (const HString &rAlias) const
 Get the variable id for a specific alias name.
 
bool isLoggingEnabled () const
 
bool isConnectionRequired ()
 Check if the port MUST be connected.
 
size_t getNumConnectedPorts (const int subPortIdx=-1)
 Returns the number of ports connected to this port.
 
bool isInterfacePort () const
 
const HStringgetNodeType () const
 Returns the type of node that can be connected to this port.
 
virtual PortTypesEnumT getExternalPortType ()
 Get the External port type (virtual, should be overloaded in systemports only)
 
virtual PortTypesEnumT getInternalPortType ()
 Get the Internal port type (virtual, should be overloaded in systemports only)
 
virtual SortHintEnumT getSortHint () const
 
virtual void setSortHint (SortHintEnumT hint)
 
virtual SortHintEnumT getInternalSortHint ()
 
PortgetParentPort () const
 
ComponentgetComponent () const
 Returns the parent component.
 
const HStringgetName () const
 Get the port name.
 
const HStringgetComponentName () const
 Get the name of the component that the port is attached to.
 
const HStringgetDescription () const
 Get port description.
 
void setDescription (const HString &rDescription)
 Set port description.
 
std::vector< double > & getNodeDataVector ()
 Returns a reference to the Node data in the port.
 
const std::vector< double > & getNodeDataVector () const
 Returns a reference to the Node data in the port.
 

Protected Member Functions

PortaddSubPort ()
 Adds a subport to a powermultiport.
 
- Protected Member Functions inherited from MultiPort
void setNode (Node *pNode)
 Set the node that the port is connected to.
 
NodegetNodePtr (const size_t subPortIdx=0)
 Returns the node pointer from one of the subports in the port.
 
void removeSubPort (Port *ptr)
 Removes a specific subport.
 
PortaddSubPort (const hopsan::PortTypesEnumT type)
 Adds a subport of a particular type to a multiport.
 
- Protected Member Functions inherited from Port
virtual void setDefaultStartValue (const size_t idx, const double value, const size_t subPortIdx=0)
 Set the an actual start value of the port.
 
virtual void disableStartValue (const size_t idx)
 Disables start value for specified data type.
 
virtual NodegetStartNodePtr ()
 Get a pointer to the start node.
 
void registerStartValueParameters ()
 This function registers the startvalue parameters from the start node.
 
void unRegisterStartValueParameters ()
 Unregisters all startvalue parameters from the start node.
 
void addConnectedPort (Port *pPort, const size_t subPortIdx=0)
 Adds a pointer to an other connected port to a port.
 
void eraseConnectedPort (Port *pPort, const size_t subPortIdx=0)
 Removes a pointer to an other connected port from a port.
 
void createStartNode (const HString &rNodeType)
 Creates a start node in the port.
 
void eraseStartNode ()
 Removes the start node in the port and unregisters all start value parameters.
 
void setVariableAlias (const HString &rAlias, const size_t id)
 

Friends

class Component
 
class ComponentSystem
 
class ConnectionAssistant
 

Additional Inherited Members

- Public Types inherited from Port
enum  RequireConnectionEnumT { Required , NotRequired }
 This enum specifies the RequiredConnection enums.
 
- Protected Attributes inherited from MultiPort
std::vector< Port * > mSubPortsVector
 
- Protected Attributes inherited from Port
HString mNodeType
 
SortHintEnumT mSortHint
 
ComponentmpComponent
 
PortmpParentPort
 
bool mEnableLogging
 
std::vector< Port * > mConnectedPorts
 

Member Function Documentation

◆ addSubPort()

Port * addSubPort ( )
protectedvirtual

Adds a subport to a powermultiport.

Reimplemented from Port.

◆ getPortType()

PortTypesEnumT getPortType ( ) const
inlinevirtual

Get the port type.

Implements MultiPort.