AGX Dynamics 2.41.3.0
Loading...
Searching...
No Matches
agx::Spherical Class Reference

Spherical elementary constraint: Two points in world coincide. More...

#include <ElementaryConstraint.h>

+ Inheritance diagram for agx::Spherical:

Public Member Functions

 Spherical (const agx::ElementaryConstraintData &data)
 Construct given SphericalData.
 
 AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agx::Spherical)
 
- Public Member Functions inherited from agx::ElementaryConstraintNData< 3, ElementaryConstraintData >
 ElementaryConstraintNData (const ElementaryConstraintData &data, agx::Bool enable)
 Construct given data and enable flag.
 
ElementaryConstraintDatagetData ()
 
const ElementaryConstraintDatagetData () const
 
virtual void setAttachmentPair (const agx::AttachmentPair *ap) override
 Data has to support assignment of attachment pair.
 
- Public Member Functions inherited from agx::ElementaryConstraintN< N >
 ElementaryConstraintN (agx::Bool enable)
 Construct given enable flag.
 
- Public Member Functions inherited from agx::ElementaryConstraint
 AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agx::ElementaryConstraint)
 
void copyRowFrom (const ElementaryConstraint *source, agx::UInt sourceRow, agx::UInt destRow)
 Copy configuration row from the given ElementaryConstraint into this.
 
virtual agx::UInt getBounds (agx::RangeReal *bounds, agx::UInt row, agx::Real h) const
 Returns the bounds of the Lagrange Multipliers (default (-inf, +inf)).
 
agx::Real getCompliance (agx::UInt row=0) const
 
virtual agx::Real getCurrentForce (const agx::UInt row=0) const
 Returns the force applied last time step by this elementary constraint.
 
const agx::RealgetCurrentForces () const
 
agx::Real getDamping (agx::UInt row=0) const
 
agx::Real getElasticity (agx::UInt row=0) const
 
virtual agx::Bool getEnable () const
 
agx::RangeRealgetForceRange (const agx::UInt row=0)
 
const agx::RangeRealgetForceRange (const agx::UInt row=0) const
 
virtual agx::UInt getJacobian (agx::Jacobian6DOFElement *G, agx::UInt numBlocks, agx::UInt row, agx::GWriteState::Enum writeState)
 Returns the Jacobian of this elementary constraint.
 
const agx::ElementaryConstraint::NameTypegetName () const
 
virtual agx::ConstraintNlmcpCallbackgetNlCallback () const
 
agx::UInt getNumRows () const
 
agx::RegularizationParametersgetRegularizationParameters (const agx::UInt row=0)
 
const agx::RegularizationParametersgetRegularizationParameters (const agx::UInt row=0) const
 
virtual agx::UInt getVelocity (agx::Real *v, agx::UInt row) const
 Returns the velocity of this elementary constraint (extra, driving term on the right hand side).
 
virtual agx::UInt getViolation (agx::Real *g, agx::UInt row)
 Returns the violation of this elementary constraint.
 
virtual agx::Bool isActive () const
 An elementary constraint is defined to be active if enabled.
 
virtual agx::Bool isImpacting () const
 
virtual void linearizeCompliance (const agx::Real *violations, agx::Real *epsilons, agx::Real minPerturbation) const
 Modify epsilon so that this ElementaryConstraint appear to be linear in the "normal" deformantion space instead any other space that the ElementaryConstraint may be using.
 
virtual agx::UInt postSolveCallback (const agx::Real *solution, agx::UInt row, agx::Real h)
 Callback after solve, with the solution.
 
virtual void prepare ()
 Prepare call.
 
void reset ()
 Reset call.
 
virtual void restore (agxStream::InputArchive &in) override
 Restore this object from stream.
 
virtual void restoreLightData (agxStream::StorageStream &str) override
 Restore structural independent data from stream.
 
virtual void setAttachmentPair (const agx::AttachmentPair *ap)
 Call for elementary constraints dependent on attachment pairs.
 
void setCompliance (agx::Real compliance)
 
void setCompliance (agx::Real compliance, int row)
 Assign compliance for a given row, or all rows if row = -1 (default).
 
void setDamping (agx::Real damping)
 
void setDamping (agx::Real damping, int row)
 Assign damping for a given row, or all rows if row = -1 (default).
 
void setElasticity (agx::Real elasticity)
 
void setElasticity (agx::Real elasticity, int row)
 Assign elasticity for a given row, or all rows if row = -1 (default).
 
virtual void setEnable (agx::Bool enable)
 Enable/disable this elementary constraint.
 
void setForceRange (agx::RangeReal forceRange, const agx::UInt row=0)
 Assign force range to a given row.
 
void setForceRange (agx::Real lower, agx::Real upper, const agx::UInt row=0)
 Assign force range to a given row.
 
void setName (const agx::ElementaryConstraint::NameType &name)
 Name this elementary constraint.
 
virtual void store (agxStream::OutputArchive &out) const override
 Store this object to stream.
 
virtual void storeLightData (agxStream::StorageStream &str) const override
 Store structural independent data to 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.
 
Referencedoperator= (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::Serializablecreate (agxStream::InputArchive &)
 
- 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

 Spherical ()
 Used during serialization restore.
 
virtual ~Spherical ()
 Reference counted object, protected destructor.
 
virtual agx::UInt getJacobian (agx::Jacobian6DOFElement *G, agx::UInt numBlocks, agx::UInt row, agx::GWriteState::Enum writeState) override
 Returns the Jacobian of this elementary constraint.
 
virtual agx::UInt getViolation (agx::Real *g, agx::UInt row) override
 Returns the violation of this elementary constraint.
 
- Protected Member Functions inherited from agx::ElementaryConstraintNData< 3, ElementaryConstraintData >
 ElementaryConstraintNData ()
 
- Protected Member Functions inherited from agx::ElementaryConstraintN< N >
 ElementaryConstraintN ()
 Used during serialization restore.
 
- Protected Member Functions inherited from agx::ElementaryConstraint
 ElementaryConstraint (agx::Bool enable, agx::UInt numRows, agx::RegularizationParameters *regParamsBuffer, agx::Real *lastForcesBuffer, agx::RangeReal *userBoundsBuffer)
 Construct given data.
 
virtual ~ElementaryConstraint ()
 Reference counted object, protected destructor.
 
- 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

- Public Types inherited from agx::ElementaryConstraint
typedef agx::Name NameType
 
typedef agx::VectorPOD< agx::ElementaryConstraint * > PtrContainer
 
typedef agx::Vector< agx::ref_ptr< agx::ElementaryConstraint > > RefContainer
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
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 agx::ElementaryConstraintNData< 3, ElementaryConstraintData >
ElementaryConstraintData m_data
 Data.
 
- Protected Attributes inherited from agx::ElementaryConstraintN< N >
agx::RangeReal m_bounds [N]
 Bounds buffer.
 
agx::Real m_forces [N]
 Forces buffer.
 
agx::RegularizationParameters m_regParams [N]
 Regularization parameters buffer.
 
- Protected Attributes inherited from agx::ElementaryConstraint
agx::Bool m_enable
 enabled
 
agx::ref_ptr< agx::Referencedm_internalData
 custom, internal data
 
agx::Realm_lfs
 last forces
 
agx::ElementaryConstraint::NameType m_name
 name
 
agx::UInt m_numRows
 number of rows
 
agx::RegularizationParametersm_rps
 regularization parameters
 
agx::RangeRealm_ubs
 user bounds

 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Spherical elementary constraint: Two points in world coincide.

Note that this elementary constraint has world as reference (unlike SphericalRel which has body1 as reference).

Definition at line 550 of file ElementaryConstraint.h.

Constructor & Destructor Documentation

◆ Spherical() [1/2]

agx::Spherical::Spherical ( const agx::ElementaryConstraintData data)

Construct given SphericalData.

◆ Spherical() [2/2]

agx::Spherical::Spherical ( )
protected

Used during serialization restore.

◆ ~Spherical()

virtual agx::Spherical::~Spherical ( )
protectedvirtual

Reference counted object, protected destructor.

Member Function Documentation

◆ AGXSTREAM_DECLARE_SERIALIZABLE_BASE()

agx::Spherical::AGXSTREAM_DECLARE_SERIALIZABLE_BASE ( agx::Spherical  )

◆ create()

static agxStream::Serializable * agx::Spherical::create ( agxStream::InputArchive )
inlinestatic

Definition at line 558 of file ElementaryConstraint.h.

◆ getJacobian()

virtual agx::UInt agx::Spherical::getJacobian ( agx::Jacobian6DOFElement G,
agx::UInt  numBlocks,
agx::UInt  row,
agx::GWriteState::Enum  writeState 
)
overrideprotectedvirtual

Returns the Jacobian of this elementary constraint.

Note that the Jacobian buffer has to be provided by the caller.

Parameters
G- Jacobian buffer
numBlocks- number of blocks in the global Jacobian (e.g., number of bodies in the main constraint)
row- start row in Jacobian buffer
writeState- state of the main constraint (the order in which the Jacobian is written defines this state)
Returns
the number of elements used in G

Reimplemented from agx::ElementaryConstraint.

◆ getViolation()

virtual agx::UInt agx::Spherical::getViolation ( agx::Real g,
agx::UInt  row 
)
overrideprotectedvirtual

Returns the violation of this elementary constraint.

Note that the violation buffer has to be provided by the caller.

Parameters
g- violation buffer
row- start row in violation buffer g
Returns
the number of rows used (= elements written) in violation buffer

Reimplemented from agx::ElementaryConstraint.


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