AGX Dynamics 2.42.3.1
Loading...
Searching...
No Matches
agxTerrain::AdvancedShovelSettings Class Reference

#include <ShovelSettings.h>

+ Inheritance diagram for agxTerrain::AdvancedShovelSettings:

Public Member Functions

 AdvancedShovelSettings ()
 Constructor for serialization.
 
 AdvancedShovelSettings (const agx::Line &cuttingEdge)
 Constructor of advanced shovel settings from the necessary initial info from a shovel.
 
agx::Bool getAggregateVelocityToShovel () const
 
bool getAlwaysRemoveShovelContacts () const
 
agx::Bool getClampAggregateVelocityToParticles () const
 
agx::Real getContactRegionThreshold () const
 Get the starting distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain can be created.
 
agx::Real getContactRegionVerticalLimit () const
 
agx::Real getContactSamplingAngleCutoff () const
 
agx::Vec3 getCustomBottomVector () const
 
agx::RealVector getCustomContactPatchAngleThresholds () const
 Specify cutsom contact patches by givin custom angle thresholds.
 
agx::Real getCustomExcavationStiffnessMultiplier () const
 
agx::Vec3 getCustomForwardVector () const
 
agx::Bool getDisablePrimaryWedgeAggregates () const
 
bool getDisableShovelSideContacts () const
 
bool getEnableCustomBottomVector () const
 Checks whether a custom bottom vector is enabled.
 
bool getEnableCustomForwardVector () const
 Checks whether a custom forward vector is enabled.
 
agx::Bool getEnableCustomPartitioning () const
 
bool getEnableInnerShapeCreateDynamicMass () const
 Get if inner shape alone should always create dynamic mass.
 
agx::Bool getEnableInnerShapeMidpointInclusion () const
 
bool getEnableParticleForceFeedback ()
 
bool getEnableTeethVolume () const
 Checks whether the teeth volume feature is enabled.
 
agx::Real getMinimumSubmergedContactLengthFraction () const
 Get the minimum submerged cutting edge length fraction [0-1] that generates submerged cutting.
 
agx::Real getNoMergeExtensionDistance () const
 Get the margin outside the shovel bonding box where soil particle merging is forbidden.
 
agx::Bool getNonHolonomicContacts () const
 
agx::UInt getNumContactPatches () const
 Get the number of contact patches that will be created inside the shovel to generate shovel <-> aggregate contact points.
 
agx::UInt getNumContactPatchSamplingPoints () const
 
agx::Real getParticleInclusionMultiplier () const
 
agx::Real getSecondarySeparationDeadloadLimit () const
 
bool getShouldUpdateContactPatches () const
 
bool getUseCustomFrictionModel () const
 
bool getUseZeroAggregateVelocity () const
 
bool isDirty () const
 
void setAggregateVelocityToShovel (bool enable)
 Set if the inner shape aggregate velocity should explicitly be set to the shovel velocity.
 
void setAlwaysRemoveShovelContacts (bool enable)
 Set to true/false if shovel <-> terrain contacts should always be removed.
 
void setClampAggregateVelocityToParticles (bool enable)
 Set if the inner shape aggregate velocity should clamped to the total soil particle velocity.
 
void setContactRegionThreshold (agx::Real contactRegionThreshold)
 Set the starting distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain can be created.
 
void setContactRegionVerticalLimit (agx::Real verticalLimit)
 Set the maximum vertical distance from the shovel bottom plane where regular geometry contacts between the shovel and the terrain are allowed to be created.
 
void setContactSamplingAngleCutoff (agx::Real angleCutoff)
 Set the angle cutoff from the cutting edge when the contact sampling inside the shovel will stop.
 
void setCustomBottomVector (const agx::Vec3 &bottomVector)
 Sets the custom bottom plate direction vector.
 
void setCustomContactPatchAngleTresholds (const agx::RealVector &angleThresholds)
 Specify cutsom contact patches by givin custom angle thresholds.
 
void setCustomExcavationStiffnessMultiplier (agx::Real excavationStiffnessMultiplier)
 Set the custom excavation stiffness multiplier, which is used to multiply the Young's modulus of the user defined contact materials in the different excavation modes.
 
void setCustomForwardVector (const agx::Vec3 &forwardVector)
 Sets the custom forward vector.
 
void setDirty (bool enable)
 
void setDisablePrimaryWedgeAggregates (bool enable)
 Set if we should disabled wedge aggregates for primary excavation.
 
void setDisableShovelSideContacts (bool enable)
 Set if shovel <-> aggregate side contacts should be disabled.
 
void setEnableCustomBottomVector (bool enable)
 Enables or disables the use of a custom bottom vector.
 
void setEnableCustomForwardVector (bool enable)
 Enables or disables the use of a custom forward vector.
 
void setEnableCustomPartitioning (bool enable)
 Set whenever custom contact partitions should be used or not.
 
void setEnableInnerShapeCreateDynamicMass (bool enable)
 Set if inner shape alone should always create dynamic mass.
 
void setEnableInnerShapeMidpointInclusion (bool enable)
 Set if we limit the particle inner shape inclusion to the particle midpoint.
 
void setEnableParticleForceFeedback (bool enable)
 Set whenever the excavation force feedback during PRIMARY excavation should be generated from particle contacts instead of aggregate contacts.
 
void setEnableTeethVolume (bool enable)
 Enables or disables the teeth volume feature.
 
void setMinimumSubmergedContactLengthFraction (agx::Real minimumSubmergedContactLengthFraction)
 Set the minimum submerged cutting edge length fraction [0-1] that generates submerged cutting.
 
void setNoMergeExtensionDistance (agx::Real extensionDistance)
 Set the extension outside the shovel bounding box where soil particle merging is forbidden.
 
void setNonHolonomicContacts (bool enable)
 Set if shovel <-> aggregate contacts should be set to use non-holonomic constraints, i.e velocity constraints.
 
void setNumContactPatches (agx::UInt numContactPatches)
 Set number of contact patches that will be created inside the shovel to generate shovel <-> aggregate contact points.
 
void setNumContactPatchSamplingPoints (agx::UInt numSamples)
 Set the number of sampling points used when tracing the shovel outline during creation of contact patches.
 
void setParticleInclusionMultiplier (agx::Real radiusMultiplier)
 Set the radius multiplier for extending the inclusion bound with particle radius during post-excavation with particles in bucket.
 
void setSecondarySeparationDeadloadLimit (agx::Real secondarySeparationLimit)
 Sets the dead-load limit where secondary separation will start to activate where the forward direction starts to change according to the virtual separation plate created by the material inside the shovel.
 
void setShouldUpdateContactPatches (bool shouldUpdate)
 Set if we should update contact patches of the shovel, this is set when the shovel contact patch settings are changed.
 
void setUseCustomFrictionModel (bool enable)
 
void setUseZeroAggregateVelocity (bool enable)
 Set whenever the innerbody aggregate should have zero velocity before solve step as opposed to using particle or cached post-solve velocities from the previous time step.
 
- 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.
 
Referenced & operator= (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.
 

Protected Member Functions

void restore (agxStream::InputArchive &in)
 
void store (agxStream::OutputArchive &out) const
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 

Additional Inherited Members

- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandler * getDeleteHandler ()
 
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

Definition at line 301 of file ShovelSettings.h.

Constructor & Destructor Documentation

◆ AdvancedShovelSettings() [1/2]

agxTerrain::AdvancedShovelSettings::AdvancedShovelSettings ( const agx::Line &  cuttingEdge)

Constructor of advanced shovel settings from the necessary initial info from a shovel.

◆ AdvancedShovelSettings() [2/2]

agxTerrain::AdvancedShovelSettings::AdvancedShovelSettings ( )

Constructor for serialization.

Member Function Documentation

◆ getAggregateVelocityToShovel()

agx::Bool agxTerrain::AdvancedShovelSettings::getAggregateVelocityToShovel ( ) const
Returns
if the inner shape aggregate velocity should explicitly be set to the shovel velocity.

◆ getAlwaysRemoveShovelContacts()

bool agxTerrain::AdvancedShovelSettings::getAlwaysRemoveShovelContacts ( ) const
Returns
true/false if shovel <-> terrain contacts are removed. Default: false.

◆ getClampAggregateVelocityToParticles()

agx::Bool agxTerrain::AdvancedShovelSettings::getClampAggregateVelocityToParticles ( ) const
Returns
if the inner shape aggregate velocity should clamped to the total soil particle velocity.

◆ getContactRegionThreshold()

agx::Real agxTerrain::AdvancedShovelSettings::getContactRegionThreshold ( ) const

Get the starting distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain can be created.

Contacts that do not reach the distance threshold will be filtered away.

Returns
the starting distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain can be created. ( Default: cuttingEdgeLength / 10.0 )

◆ getContactRegionVerticalLimit()

agx::Real agxTerrain::AdvancedShovelSettings::getContactRegionVerticalLimit ( ) const

◆ getContactSamplingAngleCutoff()

agx::Real agxTerrain::AdvancedShovelSettings::getContactSamplingAngleCutoff ( ) const
Returns
the angle cutoff from the cutting edge when the contact sampling inside the shovel will stop.

◆ getCustomBottomVector()

agx::Vec3 agxTerrain::AdvancedShovelSettings::getCustomBottomVector ( ) const
Returns
the current custom bottom vector.

◆ getCustomContactPatchAngleThresholds()

agx::RealVector agxTerrain::AdvancedShovelSettings::getCustomContactPatchAngleThresholds ( ) const

Specify cutsom contact patches by givin custom angle thresholds.

Will be used if custom partitioning is enabled.

Note
- see setEnableCustomPartitioning.

◆ getCustomExcavationStiffnessMultiplier()

agx::Real agxTerrain::AdvancedShovelSettings::getCustomExcavationStiffnessMultiplier ( ) const
Returns
the custom excavation stiffness multiplier, which is used to multiply the Young's modulus of the user defined contact materials in the different excavation modes. See Shovel::getShovelTerrainContactMaterialContainer(). Default: 1.0.

◆ getCustomForwardVector()

agx::Vec3 agxTerrain::AdvancedShovelSettings::getCustomForwardVector ( ) const
Returns
the current custom forward vector.

◆ getDisablePrimaryWedgeAggregates()

agx::Bool agxTerrain::AdvancedShovelSettings::getDisablePrimaryWedgeAggregates ( ) const
Returns
if we should disabled wedge aggregates for primary excavation
Note
- this setting is used by the ClamShellBucket.

◆ getDisableShovelSideContacts()

bool agxTerrain::AdvancedShovelSettings::getDisableShovelSideContacts ( ) const
Returns
if shovel <-> aggregate side contacts should be disabled.

◆ getEnableCustomBottomVector()

bool agxTerrain::AdvancedShovelSettings::getEnableCustomBottomVector ( ) const

Checks whether a custom bottom vector is enabled.

Returns
true if a custom bottom vector is enabled, false otherwise.

◆ getEnableCustomForwardVector()

bool agxTerrain::AdvancedShovelSettings::getEnableCustomForwardVector ( ) const

Checks whether a custom forward vector is enabled.

Returns
true if a custom forward vector is enabled, false otherwise.

◆ getEnableCustomPartitioning()

agx::Bool agxTerrain::AdvancedShovelSettings::getEnableCustomPartitioning ( ) const
Returns
whenever custom contact partitions should be used or not.
Note
- see setCustomContactPatchAngleTresholds.

◆ getEnableInnerShapeCreateDynamicMass()

bool agxTerrain::AdvancedShovelSettings::getEnableInnerShapeCreateDynamicMass ( ) const

Get if inner shape alone should always create dynamic mass.

The alternative is to only create dynamic mass in the inner shape when primary excavation soil wedges create mass. Default: true.

Returns
true if inner shape should always create dynamic mass (default), false otherwise.

◆ getEnableInnerShapeMidpointInclusion()

agx::Bool agxTerrain::AdvancedShovelSettings::getEnableInnerShapeMidpointInclusion ( ) const
Returns
if we limit the particle inner shape inclusion to the particle midpoint.

◆ getEnableParticleForceFeedback()

bool agxTerrain::AdvancedShovelSettings::getEnableParticleForceFeedback ( )
Returns
whenever the excavation force feedback during PRIMARY excavation should be generated from particle contacts instead of aggregate contacts. (Default: false)

◆ getEnableTeethVolume()

bool agxTerrain::AdvancedShovelSettings::getEnableTeethVolume ( ) const

Checks whether the teeth volume feature is enabled.

Returns
True if the teeth volume is enabled, false otherwise.

◆ getMinimumSubmergedContactLengthFraction()

agx::Real agxTerrain::AdvancedShovelSettings::getMinimumSubmergedContactLengthFraction ( ) const

Get the minimum submerged cutting edge length fraction [0-1] that generates submerged cutting.

Default: 0.5

◆ getNoMergeExtensionDistance()

agx::Real agxTerrain::AdvancedShovelSettings::getNoMergeExtensionDistance ( ) const

Get the margin outside the shovel bonding box where soil particle merging is forbidden.

Default: 0.5 m.

◆ getNonHolonomicContacts()

agx::Bool agxTerrain::AdvancedShovelSettings::getNonHolonomicContacts ( ) const
Returns
if shovel <-> aggregate contacts should be set to use non-holonomic constraints, i.e velocity constraints.

◆ getNumContactPatches()

agx::UInt agxTerrain::AdvancedShovelSettings::getNumContactPatches ( ) const

Get the number of contact patches that will be created inside the shovel to generate shovel <-> aggregate contact points.

◆ getNumContactPatchSamplingPoints()

agx::UInt agxTerrain::AdvancedShovelSettings::getNumContactPatchSamplingPoints ( ) const
Returns
the number of sampling points used when tracing the shovel outline during creation of contact patches.

◆ getParticleInclusionMultiplier()

agx::Real agxTerrain::AdvancedShovelSettings::getParticleInclusionMultiplier ( ) const
Returns
the radius multiplier for extending the inclusion bound with particle radius during post-excavation with particles in bucket. (Default: 1.0)
Note
- This will only be active post-excavation and NOT during excavation when we have active soil wedges.

◆ getSecondarySeparationDeadloadLimit()

agx::Real agxTerrain::AdvancedShovelSettings::getSecondarySeparationDeadloadLimit ( ) const
Returns
the dead-load limit where secondary separation will start to active where the forward direction starts to change according to the virtual separation plate created by the material inside the shovel (Default: 0.8)

◆ getShouldUpdateContactPatches()

bool agxTerrain::AdvancedShovelSettings::getShouldUpdateContactPatches ( ) const
Returns
Set if we should update contact patches of the shovel, this is set when the shovel contact patch settings are changed.
Note
- not serialized.

◆ getUseCustomFrictionModel()

bool agxTerrain::AdvancedShovelSettings::getUseCustomFrictionModel ( ) const
Returns
whenever custom friction models should be used in the shovel <-> aggregate contacts. (Default: true)

◆ getUseZeroAggregateVelocity()

bool agxTerrain::AdvancedShovelSettings::getUseZeroAggregateVelocity ( ) const
Returns
true if the innerbody aggregate should have zero velocity, false otherwise. Default: false.

◆ isDirty()

bool agxTerrain::AdvancedShovelSettings::isDirty ( ) const
inline

Definition at line 717 of file ShovelSettings.h.

◆ restore()

void agxTerrain::AdvancedShovelSettings::restore ( agxStream::InputArchive &  in)
protected

◆ setAggregateVelocityToShovel()

void agxTerrain::AdvancedShovelSettings::setAggregateVelocityToShovel ( bool  enable)

Set if the inner shape aggregate velocity should explicitly be set to the shovel velocity.

◆ setAlwaysRemoveShovelContacts()

void agxTerrain::AdvancedShovelSettings::setAlwaysRemoveShovelContacts ( bool  enable)

Set to true/false if shovel <-> terrain contacts should always be removed.

Default: false.

Parameters
enable- set to true/false if shovel <-> terrain contacts should always be removed

◆ setClampAggregateVelocityToParticles()

void agxTerrain::AdvancedShovelSettings::setClampAggregateVelocityToParticles ( bool  enable)

Set if the inner shape aggregate velocity should clamped to the total soil particle velocity.

◆ setContactRegionThreshold()

void agxTerrain::AdvancedShovelSettings::setContactRegionThreshold ( agx::Real  contactRegionThreshold)

Set the starting distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain can be created.

Contacts that are not past the distance threshold will be filtered away.

Parameters
contactRegionThreshold- The contact distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain are allowed to be created. ( Default: cuttingEdgeLength / 10.0 )

◆ setContactRegionVerticalLimit()

void agxTerrain::AdvancedShovelSettings::setContactRegionVerticalLimit ( agx::Real  verticalLimit)

Set the maximum vertical distance from the shovel bottom plane where regular geometry contacts between the shovel and the terrain are allowed to be created.

Contacts past the distance will be filtered away.

Parameters
verticalLimit- The vertical contact distance threshold from the shovel planes where regular geometry contacts between the shovel underside and the terrain are allowed to be created. ( Default: cuttingEdgeLength / 10.0 )

◆ setContactSamplingAngleCutoff()

void agxTerrain::AdvancedShovelSettings::setContactSamplingAngleCutoff ( agx::Real  angleCutoff)

Set the angle cutoff from the cutting edge when the contact sampling inside the shovel will stop.

◆ setCustomBottomVector()

void agxTerrain::AdvancedShovelSettings::setCustomBottomVector ( const agx::Vec3 &  bottomVector)

Sets the custom bottom plate direction vector.

When enabled the custom bottom plate direction vector will replace the one that is generated from the shovel geometry. This can be useful if the geometric algorithms fails on a particular shovel shape.

Parameters
bottomVectorThe vector to use as the custom bottom direction.
See also
setEnableCustomBottomVector()

◆ setCustomContactPatchAngleTresholds()

void agxTerrain::AdvancedShovelSettings::setCustomContactPatchAngleTresholds ( const agx::RealVector &  angleThresholds)

Specify cutsom contact patches by givin custom angle thresholds.

Will be used if custom partitioning is enabled.

Note
- see setEnableCustomPartitioning.

◆ setCustomExcavationStiffnessMultiplier()

void agxTerrain::AdvancedShovelSettings::setCustomExcavationStiffnessMultiplier ( agx::Real  excavationStiffnessMultiplier)

Set the custom excavation stiffness multiplier, which is used to multiply the Young's modulus of the user defined contact materials in the different excavation modes.

See Shovel::getShovelTerrainContactMaterialContainer().

Parameters
excavationStiffnessMultiplier- the excavation stiffness multiplier for the explicit contact materials. Default: 1.0.

◆ setCustomForwardVector()

void agxTerrain::AdvancedShovelSettings::setCustomForwardVector ( const agx::Vec3 &  forwardVector)

Sets the custom forward vector.

When enabled the custom forward vector will replace the one that is generated from the shovel geometry. This can be useful if the geometric algorithms fails on a particular shovel shape.

Parameters
forwardVector- The vector to use as the custom forward direction.
See also
setEnableCustomForwardVector()

◆ setDirty()

void agxTerrain::AdvancedShovelSettings::setDirty ( bool  enable)
inline

Definition at line 719 of file ShovelSettings.h.

◆ setDisablePrimaryWedgeAggregates()

void agxTerrain::AdvancedShovelSettings::setDisablePrimaryWedgeAggregates ( bool  enable)

Set if we should disabled wedge aggregates for primary excavation.

Note
- this setting is used by the ClamShellBucket.

◆ setDisableShovelSideContacts()

void agxTerrain::AdvancedShovelSettings::setDisableShovelSideContacts ( bool  enable)

Set if shovel <-> aggregate side contacts should be disabled.

◆ setEnableCustomBottomVector()

void agxTerrain::AdvancedShovelSettings::setEnableCustomBottomVector ( bool  enable)

Enables or disables the use of a custom bottom vector.

When enabled, the simulation will use the custom bottom vector set with setCustomBottomVector() instead of the default one generated from the shovel geometry.

Parameters
enable- true to enable the custom bottom vector, false to disable it.

◆ setEnableCustomForwardVector()

void agxTerrain::AdvancedShovelSettings::setEnableCustomForwardVector ( bool  enable)

Enables or disables the use of a custom forward vector.

When enabled, the simulation will use the custom forward vector set with setCustomForwardVector() instead of the default one generated from the shovel geometry. This can be useful if the geometric algorithms fails on a particular shovel shape.

Parameters
enable- true to enable the custom forward vector, false to disable it.

◆ setEnableCustomPartitioning()

void agxTerrain::AdvancedShovelSettings::setEnableCustomPartitioning ( bool  enable)

Set whenever custom contact partitions should be used or not.

Note
- see setCustomContactPatchAngleTresholds.

◆ setEnableInnerShapeCreateDynamicMass()

void agxTerrain::AdvancedShovelSettings::setEnableInnerShapeCreateDynamicMass ( bool  enable)

Set if inner shape alone should always create dynamic mass.

The alternative is to only create dynamic mass in the inner shape when primary excavation soil wedges create mass. Default: true.

Parameters
enable- true if inner shape should always create dynamic mass (default), false otherwise.

◆ setEnableInnerShapeMidpointInclusion()

void agxTerrain::AdvancedShovelSettings::setEnableInnerShapeMidpointInclusion ( bool  enable)

Set if we limit the particle inner shape inclusion to the particle midpoint.

◆ setEnableParticleForceFeedback()

void agxTerrain::AdvancedShovelSettings::setEnableParticleForceFeedback ( bool  enable)

Set whenever the excavation force feedback during PRIMARY excavation should be generated from particle contacts instead of aggregate contacts.

Parameters
enable- true if particles should generate contact forces on the shovel, false otherwise. (Default: false)

◆ setEnableTeethVolume()

void agxTerrain::AdvancedShovelSettings::setEnableTeethVolume ( bool  enable)

Enables or disables the teeth volume feature.

When enabled, a volumetric representation of the space between the top edge, cutting edge and the teeth edge is generated and used for including particles in the shovel inner shape.

Parameters
enableTrue to enable teeth volume, false to disable it.

◆ setMinimumSubmergedContactLengthFraction()

void agxTerrain::AdvancedShovelSettings::setMinimumSubmergedContactLengthFraction ( agx::Real  minimumSubmergedContactLengthFraction)

Set the minimum submerged cutting edge length fraction [0-1] that generates submerged cutting.

Default: 0.5

◆ setNoMergeExtensionDistance()

void agxTerrain::AdvancedShovelSettings::setNoMergeExtensionDistance ( agx::Real  extensionDistance)

Set the extension outside the shovel bounding box where soil particle merging is forbidden.

Default: 0.5 m.

◆ setNonHolonomicContacts()

void agxTerrain::AdvancedShovelSettings::setNonHolonomicContacts ( bool  enable)

Set if shovel <-> aggregate contacts should be set to use non-holonomic constraints, i.e velocity constraints.

◆ setNumContactPatches()

void agxTerrain::AdvancedShovelSettings::setNumContactPatches ( agx::UInt  numContactPatches)

Set number of contact patches that will be created inside the shovel to generate shovel <-> aggregate contact points.

Parameters
numContactPatches- the number of contact patches that will be generated.

◆ setNumContactPatchSamplingPoints()

void agxTerrain::AdvancedShovelSettings::setNumContactPatchSamplingPoints ( agx::UInt  numSamples)

Set the number of sampling points used when tracing the shovel outline during creation of contact patches.

◆ setParticleInclusionMultiplier()

void agxTerrain::AdvancedShovelSettings::setParticleInclusionMultiplier ( agx::Real  radiusMultiplier)

Set the radius multiplier for extending the inclusion bound with particle radius during post-excavation with particles in bucket.

Parameters
radiusMultiplier- The multiplier for the particle radius extension of the shovel inclusion bound. (Default: 1.0)
Note
- This will only be active pos-excavation and NOT during excavation when we have active soil wedges.

◆ setSecondarySeparationDeadloadLimit()

void agxTerrain::AdvancedShovelSettings::setSecondarySeparationDeadloadLimit ( agx::Real  secondarySeparationLimit)

Sets the dead-load limit where secondary separation will start to activate where the forward direction starts to change according to the virtual separation plate created by the material inside the shovel.

Parameters
secondarySeparationLimit- The dead load limit where secondary separation will start to activate (Default: 0.8)

◆ setShouldUpdateContactPatches()

void agxTerrain::AdvancedShovelSettings::setShouldUpdateContactPatches ( bool  shouldUpdate)

Set if we should update contact patches of the shovel, this is set when the shovel contact patch settings are changed.

Note
- not serialized.

◆ setUseCustomFrictionModel()

void agxTerrain::AdvancedShovelSettings::setUseCustomFrictionModel ( bool  enable)

◆ setUseZeroAggregateVelocity()

void agxTerrain::AdvancedShovelSettings::setUseZeroAggregateVelocity ( bool  enable)

Set whenever the innerbody aggregate should have zero velocity before solve step as opposed to using particle or cached post-solve velocities from the previous time step.

Parameters
enable- true if the innerbody aggregate should have zero velocity, false otherwise. Default: false.

◆ store()

void agxTerrain::AdvancedShovelSettings::store ( agxStream::OutputArchive &  out) const
protected

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