AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agx::ElementaryConstraintN< N > Class Template Reference

Helper class to hold data that is general for elementary constraints. More...

#include <ElementaryConstraint.h>

+ Inheritance diagram for agx::ElementaryConstraintN< N >:

Public Member Functions

 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.
 

Protected Member Functions

 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 ()
 

Protected Attributes

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
 

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 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.
 
- 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.
 

Detailed Description

template<agx::UInt N>
class agx::ElementaryConstraintN< N >

Helper class to hold data that is general for elementary constraints.

N = number of rows. DataT = specific data for the elementary constraint. If no data, set to e.g., void*.

Definition at line 400 of file ElementaryConstraint.h.

Constructor & Destructor Documentation

◆ ElementaryConstraintN() [1/2]

template<agx::UInt N>
agx::ElementaryConstraintN< N >::ElementaryConstraintN ( agx::Bool  enable)
inline

Construct given enable flag.

Parameters
enable- default flag for enable/disable

Definition at line 407 of file ElementaryConstraint.h.

◆ ElementaryConstraintN() [2/2]

template<agx::UInt N>
agx::ElementaryConstraintN< N >::ElementaryConstraintN ( )
inlineprotected

Used during serialization restore.

Definition at line 420 of file ElementaryConstraint.h.

Member Data Documentation

◆ m_bounds

template<agx::UInt N>
agx::RangeReal agx::ElementaryConstraintN< N >::m_bounds[N]
protected

Bounds buffer.

Definition at line 432 of file ElementaryConstraint.h.

◆ m_forces

template<agx::UInt N>
agx::Real agx::ElementaryConstraintN< N >::m_forces[N]
protected

Forces buffer.

Definition at line 431 of file ElementaryConstraint.h.

◆ m_regParams

template<agx::UInt N>
agx::RegularizationParameters agx::ElementaryConstraintN< N >::m_regParams[N]
protected

Regularization parameters buffer.

Definition at line 430 of file ElementaryConstraint.h.


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