Ignition Physics

API Reference

5.1.0
SetContactPropertiesCallbackFeature::World< PolicyT, FeaturesT > Class Template Reference

#include <ContactProperties.hh>

Public Types

using ShapePtrType = typename GetContactsFromLastStepFeature ::World< PolicyT, FeaturesT >::ShapePtrType
 
typedef std::function< void(const typename GetContactsFromLastStepFeature::World< PolicyT, FeaturesT >::Contact &, size_t, ContactSurfaceParams< PolicyT > &) > SurfaceParamsCallback
 This callback is called for every detected contact point and allows customizing properties of the contact surface. More...
 
- Public Types inherited from Entity< PolicyT, FeaturesT >
using Features = FeaturesT
 
using Pimpl = typename detail::DeterminePlugin< Policy, Features >::type
 
using Policy = PolicyT
 

Public Member Functions

void AddContactPropertiesCallback (const std::string &_callbackID, SurfaceParamsCallback _callback)
 Add the callback. More...
 
bool RemoveContactPropertiesCallback (const std::string &_callbackID)
 Remove the callback. More...
 
- Public Member Functions inherited from Feature::World< PolicyT, FeaturesT >
virtual ~World ()=default
 Virtual destructor. More...
 
- Public Member Functions inherited from Entity< PolicyT, FeaturesT >
virtual ~Entity ()=default
 Virtual destructor. More...
 
std::size_t EntityID () const
 Get the unique ID value of this Entity. More...
 
const std::shared_ptr< void > & EntityReference () const
 Get a reference-counting std::shared_ptr to the object inside the implementation that this object provides an abstraction for. More...
 
const Identity & FullIdentity () const
 Get the Identity object of this Entity. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Entity< PolicyT, FeaturesT >
 Entity (const std::shared_ptr< Pimpl > &_pimpl=nullptr, const Identity &_identity=Identity())
 Constructor for the Entity. More...
 
 Entity (std::shared_ptr< Pimpl > &&_pimpl, const Identity &_identity)
 Constructor that allows the pimpl to be moved instead of copied. More...
 
template<typename FeatureT >
FeatureT::template Implementation< PolicyT > * Interface ()
 Get a pointer to the implementation of FeatureT. More...
 
template<typename FeatureT >
const FeatureT::template Implementation< PolicyT > * Interface () const
 Same as Interface(), but const-qualified so that const entities can request const-qualified interfaces from the implementation. More...
 
- Protected Attributes inherited from Entity< PolicyT, FeaturesT >
Identity identity
 This field contains information to identify the entity. More...
 
std::shared_ptr< Pimplpimpl
 This is a pointer to the physics engine implementation, and it can be used by the object features to find the interfaces that they need in order to function. More...
 

Member Typedef Documentation

◆ ShapePtrType

using ShapePtrType = typename GetContactsFromLastStepFeature ::World<PolicyT, FeaturesT>::ShapePtrType

◆ SurfaceParamsCallback

typedef std::function< void( const typename GetContactsFromLastStepFeature:: World<PolicyT, FeaturesT>::Contact& , size_t , ContactSurfaceParams<PolicyT>& ) > SurfaceParamsCallback

This callback is called for every detected contact point and allows customizing properties of the contact surface.

Parameters
_contact[in]The contact object containing contact point, normal, force etc. Please note that the force will be always zero because the forward step has not yet been run to compute the force.
_numContactsOnCollision[in]Number of contact points on the same collision object. This can be used e.g. for force normalization.
_surfaceParams[in,out]Parameters of the contact surface. They are pre-filled by the physics engine and the callback can alter them.

Member Function Documentation

◆ AddContactPropertiesCallback()

void AddContactPropertiesCallback ( const std::string _callbackID,
SurfaceParamsCallback  _callback 
)

Add the callback.

◆ RemoveContactPropertiesCallback()

bool RemoveContactPropertiesCallback ( const std::string _callbackID)

Remove the callback.


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