chrono::particlefactory::ChRandomShapeCreatorConvexHulls Class Reference

Description

Class for generating convex hulls with variable chordal size and aspect ratios.

By default uses constant distributions (all hulls are equally sized) but you can provide your distributions.

#include <ChRandomShapeCreator.h>

Inheritance diagram for chrono::particlefactory::ChRandomShapeCreatorConvexHulls:
Collaboration diagram for chrono::particlefactory::ChRandomShapeCreatorConvexHulls:

Public Member Functions

virtual std::shared_ptr< ChBodyRandomGenerate (ChCoordsys<> mcoords) override
 Function that creates a random ChBody particle each time it is called. More...
 
void SetNpoints (int mnpoints)
 Set the number of random vertexes used to generate each random convex hull. More...
 
void SetChordDistribution (std::shared_ptr< ChDistribution > mdistr)
 Set the statistical distribution for the radius.
 
void SetSizeRatioYZDistribution (std::shared_ptr< ChDistribution > mdistr)
 Set the statistical distribution for scaling on both Y,Z widths (the lower <1, the thinner, as a needle).
 
void SetSizeRatioZDistribution (std::shared_ptr< ChDistribution > mdistr)
 Set the statistical distribution for scaling on Z width (the lower <1, the flatter, as a chip).
 
void SetDensityDistribution (std::shared_ptr< ChDistribution > mdistr)
 Set the statistical distribution for the random density.
 
- Public Member Functions inherited from chrono::particlefactory::ChRandomShapeCreator
virtual std::shared_ptr< ChBodyRandomGenerateAndCallbacks (ChCoordsys<> mcoords)
 This function does RandomGenerate and also executes the the custom callback, if provided. More...
 
void RegisterAddBodyCallback (AddBodyCallback *callback)
 Set the callback function to execute at each each particle generation.
 
void SetAddCollisionShape (bool addcoll)
 Set if the created particles must include the collision shape(s). More...
 
void SetAddVisualizationAsset (bool addvisual)
 Set if the created particles must include the visualization asset(s). More...
 

Additional Inherited Members

- Protected Attributes inherited from chrono::particlefactory::ChRandomShapeCreator
AddBodyCallbackcallback_post_creation
 
bool add_collision_shape
 
bool add_visualization_asset
 

Member Function Documentation

virtual std::shared_ptr<ChBody> chrono::particlefactory::ChRandomShapeCreatorConvexHulls::RandomGenerate ( ChCoordsys<>  mcoords)
overridevirtual

Function that creates a random ChBody particle each time it is called.

Implements chrono::particlefactory::ChRandomShapeCreator.

void chrono::particlefactory::ChRandomShapeCreatorConvexHulls::SetNpoints ( int  mnpoints)

Set the number of random vertexes used to generate each random convex hull.

Note that the final number of vertexes in the hull might be lower since random points that fall inside the convex hull are not used.