Description
Class for generating worm-like particles, optionally helically twisted.
This can be used, for example, to generate shavings or chips as those created in milling and grinding processes, etc. This basic class uses a row of small spheres to approximate the chip shape, in sake of high computational performance in collisions etc.
#include <ChRandomShapeCreator.h>


| Public Member Functions | |
| virtual std::shared_ptr< ChBody > | RandomGenerate (ChCoordsys<> mcoords) override | 
| Function that creates a random ChBody particle each time it is called. | |
| void | SetSpheresSpacingFactor (double md) | 
| Since these worm-like structures are approximated with spheres, this settings tell how many spheres do you want along the line.  More... | |
| void | SetDiameterDistribution (std::shared_ptr< ChDistribution > mdistr) | 
| Set the statistical distribution for the diameter. | |
| void | SetLengthRatioDistribution (std::shared_ptr< ChDistribution > mdistr) | 
| Set the statistical distribution for the length/diameter ratio. | |
| void | SetTwistDistributionU (std::shared_ptr< ChDistribution > mdistr) | 
| Set the statistical distribution for the twist curvature of line (u direction). Curvature=1/radius. | |
| void | SetTwistDistributionV (std::shared_ptr< ChDistribution > mdistr) | 
| Set the statistical distribution for the twist curvature of line (v direction). Curvature=1/radius. | |
| 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< ChBody > | RandomGenerateAndCallbacks (ChCoordsys<> mcoords) | 
| This function does RandomGenerate and also executes the the custom callback, if provided.  More... | |
| void | RegisterAddBodyCallback (std::shared_ptr< 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 | |
| std::shared_ptr< AddBodyCallback > | callback_post_creation | 
| bool | add_collision_shape | 
| bool | add_visualization_asset | 
Member Function Documentation
◆ SetSpheresSpacingFactor()
| 
 | inline | 
Since these worm-like structures are approximated with spheres, this settings tell how many spheres do you want along the line.
To keep things more intuitive, this 'spacing' value means the following: spacing between spheres = diameter * spacing_factor. The lower, the more precise the approximation, but the more the computational time for collisions. Usually, good values are in 0.4-0.8 range. The spacing might be adjusted automatically to match the end of the shaving, btw.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/particlefactory/ChRandomShapeCreator.h
