AGX Dynamics 2.42.3.0
Loading...
Searching...
No Matches
agxPowerLine::RotationalConnector Class Reference

Defines a stiff gear constraint between two rotational dimensions. More...

#include <RotationalDimension.h>

+ Inheritance diagram for agxPowerLine::RotationalConnector:

Public Member Functions

 RotationalConnector ()
 Create a connector between two rotational dimensions.
 
 AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxPowerLine::RotationalConnector)
 
virtual agx::RegularizationParameters::VariableType calculateComplianceAndDamping (const agx::Real timeStep, agx::Real &compliance, agx::Real &damping) override
 Calculate a compliance that will result in the wanted efficiency.
 
virtual PhysicalDimensionMultiBodyConstraintImplementation * createConstraint () override
 Create a gear constraint.
 
virtual bool restore (agxStream::StorageStream &str) override
 Restores internal data from stream.
 
virtual bool store (agxStream::StorageStream &str) const override
 Stores internal data into stream.
 
- Public Member Functions inherited from agxPowerLine::Connector
 Connector ()
 create a connector
 
virtual bool addNotification (agxSDK::Simulation *simulation) override
 
 AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agxPowerLine::Connector)
 
virtual agx::RegularizationParameters::VariableType calculateComplianceAndDamping (const agx::Real, agx::Real &, agx::Real &)
 Calculate the compliance and damping according to the connector properties (efficiency, ratio, ..)
 
agx::Real calculateEfficiency () const
 calculate simulated efficiency
 
virtual agx::Real calculateViolation () const
 calculate violation for constraint
 
bool compareWithInputTypes (PhysicalDimensionRefVector &dimensions) const
 
bool compareWithOutputTypes (PhysicalDimensionRefVector &dimensions) const
 
bool connect (agxPowerLine::PhysicalDimension *dimension, agxPowerLine::Side connectorSide, agxPowerLine::Side dimensionSide)
 Connect on the physical dimension level only.
 
virtual bool connect (agxPowerLine::PhysicalDimension *inputDimension, agxPowerLine::Side inputSide, agxPowerLine::Side outputSide, agxPowerLine::PhysicalDimension *outputDimension)
 
virtual bool connect (agxPowerLine::Side mySide, agxPowerLine::Side unitSide, agxPowerLine::Unit *unit)
 
virtual bool connect (agxPowerLine::Unit *unit)
 Connect a unit to this Connector.
 
bool connectDimensions (Unit *unit, agxPowerLine::Side mySide, agxPowerLine::Side unitSide)
 
virtual agxPowerLine::PhysicalDimensionMultiBodyConstraintImplementation * createConstraint ()=0
 Create the constraint (implement this to create whatever constraint you need)
 
virtual bool disconnect ()
 
bool disconnect (agxPowerLine::PhysicalDimension *dimension, agxPowerLine::Side connectorSide, agxPowerLine::Side dimensionSide)
 
virtual bool disconnect (agxPowerLine::Unit *unit)
 Disconnect the given unit from this Connector.
 
agxPowerLine::Connection * findConnection (const agxPowerLine::Unit *unit, agxPowerLine::Side side)
 
const agxPowerLine::Connection * findConnection (const agxPowerLine::Unit *unit, agxPowerLine::Side side) const
 
agxPowerLine::Connection * findInputConnection (const agxPowerLine::Unit *unit)
 
const agxPowerLine::Connection * findInputConnection (const agxPowerLine::Unit *unit) const
 
agxPowerLine::Connection * findOutputConnection (const agxPowerLine::Unit *unit)
 
const agxPowerLine::Connection * findOutputConnection (const agxPowerLine::Unit *unit) const
 
const agxPowerLine::ConnectionRefVector & getConnections (agxPowerLine::Side side) const
 
agxPowerLine::PhysicalDimensionMultiBodyConstraintImplementation * getConstraint () const
 
agx::Real getDamping () const
 
agxPowerLine::ElementaryPhysicalDimensionConstraint * getElementaryConstraint () const
 
bool getIgnoreForStoreRestoreStream () const
 
agxPowerLine::Connection * getInputConnection (size_t index)
 return a specific input connection
 
const agxPowerLine::Connection * getInputConnection (size_t index) const
 return a specific output connection
 
agxPowerLine::ConnectionRefVector & getInputConnections ()
 return vector to all input connections from this connector
 
const agxPowerLine::ConnectionRefVector & getInputConnections () const
 return vector to all input connections from this connector
 
PhysicalDimension * getInputDimension (const PhysicalDimension::Type dimensionType) const
 
const DimensionTypeVector & getInputTypes () const
 
bool getInputUnits (UnitConstPtrSetVector &units, const bool startFromCleanUnitSet=true) const
 
bool getInputUnits (UnitPtrSetVector &units, const bool startFromCleanUnitSet=true)
 
int getNumConnections () const
 
int getNumConnections (agxPowerLine::Side side) const
 
int getNumFreeConnections () const
 
int getNumFreeConnections (agxPowerLine::Side side) const
 
int getNumFreeInputConnections () const
 
int getNumFreeOutputConnections () const
 
int getNumInputConnections () const
 
int getNumOutputConnections () const
 
int getNumPossibleInputConnections () const
 
int getNumPossibleOutputConnections () const
 
agxPowerLine::Connection * getOutputConnection (size_t index)
 return a specific input connection
 
const agxPowerLine::Connection * getOutputConnection (size_t index) const
 return a specific output connection
 
agxPowerLine::ConnectionRefVector & getOutputConnections ()
 return vector to all output connections from this connector
 
const agxPowerLine::ConnectionRefVector & getOutputConnections () const
 return vector to all output connections from this connector
 
PhysicalDimension * getOutputDimension (const PhysicalDimension::Type dimensionType) const
 
const DimensionTypeVector & getOutputTypes () const
 
bool getOutputUnits (UnitConstPtrSetVector &units, const bool startFromCleanUnitSet=true) const
 
bool getOutputUnits (UnitPtrSetVector &units, const bool startFromCleanUnitSet=true)
 
agx::Real getPowerIn () const
 
agxPowerLine::PowerLine * getPowerLine () const
 
agx::Real getPowerOut () const
 
agx::Real getRatio () const
 
virtual agx::Real getRatio (agx::Real x) const
 
agx::Real getRatioDerivative () const
 
virtual agx::Real getRatioDerivative (agx::Real x) const
 
virtual agxPowerLine::Side getSide (const agxPowerLine::Unit *unit) const
 
const DimensionTypeVector & getTypes (agxPowerLine::Side side) const
 
bool getUnits (UnitConstPtrSetVector &units, agxPowerLine::Side side, const bool startFromCleanUnitSet=true) const
 
bool getUnits (UnitConstPtrSetVector &units, const bool startFromCleanUnitSet=true) const
 
bool getUnits (UnitPtrSetVector &units, agxPowerLine::Side side, const bool startFromCleanUnitSet=true)
 
bool getUnits (UnitPtrSetVector &units, const bool startFromCleanUnitSet=true)
 
virtual agx::Real getViolation () const
 Returns the constraint violation for connectors with holonomic constraints.
 
bool hasFreeConnection () const
 
bool hasFreeConnection (agxPowerLine::Side side) const
 
bool hasFreeInputConnection () const
 
bool hasFreeOutputConnection () const
 
bool hasInputConnection (Connection *connection)
 Find out if the connection belongs to this connector.
 
bool hasOutputConnection (Connection *connection)
 
virtual void initConstraint ()
 
bool isConstraintValid () const
 
virtual bool isInput (const agxPowerLine::PhysicalDimension *dimension) const
 Determine if the given dimension is part of any of the input connections of this Connector.
 
virtual bool isOutput (Connection *connection) const
 Find out if a connection is output from this connector.
 
virtual bool isOutput (const agxPowerLine::PhysicalDimension *dimension) const
 Find out if the given dimension is part of any of the output connections.
 
virtual bool postRestore (agxStream::StorageStream &str)
 
virtual bool postStore (agxStream::StorageStream &str) const
 Set values of constraints.
 
virtual bool removeNotification (agxUtil::ConstraintHolder *holder, agxSDK::Simulation *simulation) override
 remove connector and constraint from simulation
 
virtual void restore (agxStream::InputArchive &in) override
 
virtual bool restore (agxStream::StorageStream &str) override
 Restores internal data from stream.
 
void setConstraint (agxPowerLine::PhysicalDimensionMultiBodyConstraintImplementation *constraint)
 set the constraint that represents this connector in the solver.
 
void setDamping (agx::Real damping)
 Set the damping of the constraint.
 
void setIgnoreForStoreRestoreStream (bool ignore)
 
void setNumPossibleInputConnections (int num)
 Define number of input dimensions the constraint should handle.
 
void setNumPossibleOutputConnections (int num)
 Define number of output dimensions the constraint should handle.
 
void setPowerLine (agxPowerLine::PowerLine *powerLine)
 
virtual void store (agxStream::OutputArchive &out) const override
 
virtual bool store (agxStream::StorageStream &str) const override
 Stores internal data for this segment into stream.
 
virtual bool vetoConnect (agxPowerLine::Unit *unit) const
 
- Public Member Functions inherited from agxPowerLine::SubGraph
 SubGraph ()
 
virtual bool addNotification (agxSDK::Simulation *simulation)=0
 
 AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agxPowerLine::SubGraph)
 
virtual void getConnectorsRecursive (ConnectorPtrVector &connectors)
 Fill the given vector with the Connectors that are held by this SubGraph.
 
Connector * getEnclosingConnector ()
 
const Connector * getEnclosingConnector () const
 
SubGraph * getEnclosingGraph ()
 
const SubGraph * getEnclosingGraph () const
 
Unit * getEnclosingUnit ()
 
const Unit * getEnclosingUnit () const
 
const agxPowerLine::ConnectorRefVector & getInternalConnectors () const
 
const agxPowerLine::UnitRefVector & getInternalUnits () const
 
const agx::Name & getName () const
 
SubGraph * getRootEnclosingGraph ()
 
const SubGraph * getRootEnclosingGraph () const
 
virtual void getUnitsRecursive (UnitPtrVector &units)
 Fill the given vector with the Units that are held by this SubGraph.
 
bool isEnclosedWithin (const SubGraph *component) const
 
virtual bool postUpdate (agx::Real timeStep)
 
virtual void prepareForRestore ()
 
virtual void prepareForStore ()
 
virtual bool preUpdate (agx::Real timeStep)
 
virtual bool removeNotification (agxUtil::ConstraintHolder *holder, agxSDK::Simulation *simulation)=0
 
virtual void restore (agxStream::InputArchive &in) override
 
virtual bool restore (agxStream::StorageStream &str)
 Restores internal data from stream.
 
void setName (const agx::Name &name)
 Set the name of this power line component.
 
void spreadPowerLineToGraph ()
 
virtual void store (agxStream::OutputArchive &out) const override
 
virtual bool store (agxStream::StorageStream &str) const
 Stores internal data into stream.
 
- Public Member Functions inherited from agx::Referenced
 Referenced ()
 Default constructor.
 
 Referenced (const Referenced &)
 
template<typename T >
T * as ()
 Subclass casting.
 
template<typename T >
const T * as () const
 
template<typename T >
T * asSafe ()
 Safe subclass casting, return nullptr if template type does not match.
 
template<typename T >
const T * asSafe () const
 
int getReferenceCount () const
 
template<typename T >
bool is () const
 Subclass test.
 
Referenced & operator= (const Referenced &)
 Assignment operator. Will increment the number of references to the referenced object.
 
void reference (void *ptr=nullptr) const
 Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
 
void unreference (void *ptr=nullptr) const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
void unreference_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is referencing it.
 
- Public Member Functions inherited from agxStream::Serializable
virtual ~Serializable ()
 Destructor for normal C++ use but hidden from SWIG bindings.
 
virtual const char * getClassName () const
 
bool getEnableSerialization () const
 
bool getEnableUuidGeneration ()
 
agx::UInt32 getIndex () const
 This index is given at creation of this object.
 
virtual StorageAgent * getStorageAgent () const =0
 
agx::Uuid getUuid () const
 
bool isFinished () const
 
void setEnableSerialization (bool flag)
 Set to false to disable serialization of this object.
 
void setFinished ()
 Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
 
void setUuid (const agx::Uuid &uuid)
 Explicitly set a Uuid on a serializable object.
 

Static Public Member Functions

static agxStream::Serializable * create (agxStream::InputArchive &)
 
- Static Public Member Functions inherited from agxPowerLine::Connector
static PhysicalDimension * getDimension (const ConnectionRefVector &connections, const PhysicalDimension::Type dimensionType)
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Protected Member Functions

virtual ~RotationalConnector ()
 
- Protected Member Functions inherited from agxPowerLine::Connector
virtual ~Connector ()
 
virtual bool connect (agxPowerLine::Unit *inputUnit, agxPowerLine::Side inputUnitSide, agxPowerLine::Side outputUnitSide, agxPowerLine::Unit *outputUnit)
 
bool getUnits (UnitConstPtrSetVector &units, const ConnectionRefVector &connections, const bool startFromCleanUnitSet=true) const
 
bool getUnits (UnitPtrSetVector &units, ConnectionRefVector &connections, const bool startFromCleanUnitSet=true)
 
bool hasNonValidInputConnection () const
 
bool hasNonValidOutputConnection () const
 
void setRatio (agx::Real ratio)
 set/get the ratio (scaling of load through the constraint).
 
void setRatioDerivative (agx::Real ratioDerivative)
 
void uninitialize ()
 
- Protected Member Functions inherited from agxPowerLine::SubGraph
virtual ~SubGraph ()
 
void addInternalConnector (agxPowerLine::Connector *connector)
 
void addInternalUnit (agxPowerLine::Unit *unit)
 
void removeInternalConnector (agxPowerLine::Connector *connector)
 
void removeInternalUnit (agxPowerLine::Unit *unit)
 
agx::Bool replaceInternalUnit (agxPowerLine::Unit *oldUnit, agxPowerLine::Unit *newUnit)
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agxPowerLine::Connector
PhysicalDimensionMultiBodyConstraintImplementation * m_constraint
 
agx::Real m_damping
 
bool m_ignoreMeForStoreRestoreStream
 
ConnectionRefVector m_inputConnections
 
DimensionTypeVector m_inputTypes
 
int m_numPossibleInputs
 
int m_numPossibleOutputs
 
ConnectionRefVector m_outputConnections
 
DimensionTypeVector m_outputTypes
 
agx::Real m_ratio
 
agx::Real m_ratioDerivative
 
- Protected Attributes inherited from agxPowerLine::SubGraph
SubGraphObserver m_enclosingGraph
 
ConnectorRefVector m_internalConnectors
 
UnitRefVector m_internalUnits
 
agx::Name m_name
 
PowerLine * m_powerLine
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Defines a stiff gear constraint between two rotational dimensions.

Definition at line 154 of file RotationalDimension.h.

Constructor & Destructor Documentation

◆ RotationalConnector()

agxPowerLine::RotationalConnector::RotationalConnector ( )

Create a connector between two rotational dimensions.

◆ ~RotationalConnector()

virtual agxPowerLine::RotationalConnector::~RotationalConnector ( )
protectedvirtual

Member Function Documentation

◆ AGXSTREAM_DECLARE_SERIALIZABLE_BASE()

agxPowerLine::RotationalConnector::AGXSTREAM_DECLARE_SERIALIZABLE_BASE ( agxPowerLine::RotationalConnector  )

◆ calculateComplianceAndDamping()

virtual agx::RegularizationParameters::VariableType agxPowerLine::RotationalConnector::calculateComplianceAndDamping ( const agx::Real  timeStep,
agx::Real &  compliance,
agx::Real &  damping 
)
overridevirtual

◆ create()

static agxStream::Serializable * agxPowerLine::RotationalConnector::create ( agxStream::InputArchive &  )
inlinestatic

Definition at line 182 of file RotationalDimension.h.

◆ createConstraint()

virtual PhysicalDimensionMultiBodyConstraintImplementation * agxPowerLine::RotationalConnector::createConstraint ( )
overridevirtual

Create a gear constraint.

Implements agxPowerLine::Connector.

Reimplemented in agxDriveTrain::DryClutch, and agxDriveTrain::HolonomicGear.

◆ restore()

◆ store()


The documentation for this class was generated from the following file: