AGX Dynamics 2.37.3.4
Loading...
Searching...
No Matches
agxModel::GenericBeamModel Class Reference

Generic beam model throwing exceptions for non-implemented virtual methods. More...

#include <BeamModel.h>

+ Inheritance diagram for agxModel::GenericBeamModel:

Public Member Functions

 GenericBeamModel (BeamModelProperties *properties=nullptr)
 Construct given optional model properties.
 
- Public Member Functions inherited from agxModel::BeamModel
virtual agx::Vec3 calculateMomentOfInertia () const =0
 Default moment of inertia of the beam model.
 
BeamStiffnessDamping calculateStiffnessDamping (agx::UInt numBeamSegments, agx::Real beamSegmentLength) const
 Calculates stiffness dependent on moment of inertia, cross section area, beam segment length and number of segments in the beam.
 
virtual agx::Real getCrossSectionArea () const =0
 The cross section area of the beam model affecting the stretch stiffness.
 
virtual agx::Vec2 getMaxHeightWidth () const =0
 The 2D extents along x (up/down) and y (right/left).
 
virtual agx::Vec3 getMomentOfInertia () const final
 Moment of inertia of the beam model, where: About x (up): Lateral About y (right): Vertical About z (forward): Torsional This is the moment of inertia used to calculate the stiffness in the constraints of the beam, and is scaled with the current moment of inertia scale (default scale: (1, 1, 1)).
 
agx::Vec3 getMomentOfInertiaScale () const
 
agx::Real getPolarMomentOfInertiaScale () const
 
BeamModelPropertiesgetProperties () const
 
virtual agxCollide::GeometryRef getSegmentGeometry (agx::Real segmentLength) const =0
 Generates a geometry to be cloned to each beam segment.
 
bool loadLibraryProperties (const agx::String &name)
 Load named BeamModelProperties from the Material Library for the current Beam.
 
void setMomentOfInertiaScale (agx::Vec3 momentOfInertiaScale)
 Scale of the calculated moment of inertia of this model, default scale (1, 1, 1).
 
void setPolarMomentOfInertiaScale (agx::Real polarMomentOfInertiaScale)
 Assign new polar moment of inertia scale.
 
void setProperties (BeamModelProperties *properties)
 Assign properties instance, a new default will be created if properties is nullptr.
 
virtual agx::String validate () const =0
 Validate inputs, verify all given sizes are > 0, e.g., hollow cylinder thickness < radius, or I-beam web thickness < width.
 
- 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from agxModel::BeamModel
static agx::StringVector getAvailableLibraryProperties ()
 Returns a vector with all the named BeamModelProperties that were found in the Material Library.
 
- 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 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 ()
 
- 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::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Generic beam model throwing exceptions for non-implemented virtual methods.

This model is the model to inherit from in, e.g, Python or C#.

Definition at line 704 of file BeamModel.h.

Constructor & Destructor Documentation

◆ GenericBeamModel()

agxModel::GenericBeamModel::GenericBeamModel ( BeamModelProperties properties = nullptr)

Construct given optional model properties.

If properties is nullptr a new, default, beam model properties will be created.


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