AGX Dynamics 2.41.1.2
Loading...
Searching...
No Matches
agx::Material Class Reference

Main material class which acts as a holder of a Surface Material and a Bulk material. More...

#include <Material.h>

+ Inheritance diagram for agx::Material:

Public Member Functions

 Material (const agx::Name &name, const Material *parent=nullptr)
 Constructor.
 
 Material (const agx::Name &name, Real restitution, Real friction)
 Construct a material from friction and restitution values.
 
 Material (const Material &material)
 Copy constructor.
 
BulkMaterialgetBulkMaterial ()
 
const BulkMaterialgetBulkMaterial () const
 
const agx::NamegetName () const
 
SurfaceMaterialgetSurfaceMaterial ()
 
const SurfaceMaterialgetSurfaceMaterial () const
 
WireMaterialgetWireMaterial ()
 
const WireMaterialgetWireMaterial () const
 
void setName (const agx::Name &name)
 Set the name of the material.
 
- 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 MaterialgetDefaultMaterial ()
 
- 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

 Material ()
 Default constructor.
 
virtual ~Material ()
 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

- 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

Main material class which acts as a holder of a Surface Material and a Bulk material.

Definition at line 375 of file Material.h.

Constructor & Destructor Documentation

◆ Material() [1/4]

agx::Material::Material ( const agx::Name name,
const Material parent = nullptr 
)

Constructor.

If a parent is specified, the new material is initially given the same parameters as the parent. If the parent is 0 default material parameters will be used.

◆ Material() [2/4]

agx::Material::Material ( const agx::Name name,
Real  restitution,
Real  friction 
)

Construct a material from friction and restitution values.

The surface and bulk properties are generated from these values using an approximative model, which is not guaranteed to be accurate. Note that this is NOT the preferred way of working with the material system.

◆ Material() [3/4]

agx::Material::Material ( const Material material)

Copy constructor.

◆ Material() [4/4]

agx::Material::Material ( )
protected

Default constructor.

◆ ~Material()

virtual agx::Material::~Material ( )
protectedvirtual

Destructor.

Member Function Documentation

◆ getBulkMaterial() [1/2]

BulkMaterial * agx::Material::getBulkMaterial ( )
Returns
the bulk material properties for this material.

Definition at line 1049 of file Material.h.

◆ getBulkMaterial() [2/2]

const BulkMaterial * agx::Material::getBulkMaterial ( ) const
Returns
the bulk material properties for this material.

Definition at line 1054 of file Material.h.

◆ getDefaultMaterial()

static Material * agx::Material::getDefaultMaterial ( )
static
Returns
a pointer to the default Material (Singleton)

Referenced by agxSDK::MaterialManager::getDefaultMaterial().

◆ getName()

const agx::Name & agx::Material::getName ( ) const
Returns
the name of the material

Definition at line 1084 of file Material.h.

◆ getSurfaceMaterial() [1/2]

SurfaceMaterial * agx::Material::getSurfaceMaterial ( )
Returns
the surface material properties for this material.

Definition at line 1039 of file Material.h.

◆ getSurfaceMaterial() [2/2]

const SurfaceMaterial * agx::Material::getSurfaceMaterial ( ) const
Returns
the surface material properties for this material.

Definition at line 1044 of file Material.h.

◆ getWireMaterial() [1/2]

WireMaterial * agx::Material::getWireMaterial ( )
Returns
the wire material properties for this material.

Definition at line 1059 of file Material.h.

◆ getWireMaterial() [2/2]

const WireMaterial * agx::Material::getWireMaterial ( ) const
Returns
the wire material properties for this material.

Definition at line 1064 of file Material.h.

◆ setName()

void agx::Material::setName ( const agx::Name name)
inline

Set the name of the material.

Definition at line 438 of file Material.h.


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