Description

template<typename T>
class chrono::utils::ChSampler< T >

Base class for different types of point samplers.

#include <ChUtilsSamplers.h>

Inheritance diagram for chrono::utils::ChSampler< T >:
Collaboration diagram for chrono::utils::ChSampler< T >:

Public Types

typedef Types< T >::PointVector PointVector
 

Public Member Functions

PointVector SampleBox (const ChVector3< T > &center, const ChVector3< T > &halfDim)
 Return points sampled from the specified box volume.
 
PointVector SampleSphere (const ChVector3< T > &center, T radius)
 Return points sampled from the specified spherical volume.
 
PointVector SampleCylinderX (const ChVector3< T > &center, T radius, T halfHeight)
 Return points sampled from the specified X-aligned cylindrical volume.
 
PointVector SampleCylinderY (const ChVector3< T > &center, T radius, T halfHeight)
 Return points sampled from the specified Y-aligned cylindrical volume.
 
PointVector SampleCylinderZ (const ChVector3< T > &center, T radius, T halfHeight)
 Return points sampled from the specified Z-aligned cylindrical volume.
 
virtual T GetSeparation () const
 Get the current value of the suggested minimum separation.
 
virtual void SetSeparation (T separation)
 Change the suggested minimum separation for subsequent calls to Sample.
 

Protected Types

enum  VolumeType {
  BOX, SPHERE, CYLINDER_X, CYLINDER_Y,
  CYLINDER_Z
}
 

Protected Member Functions

 ChSampler (T separation)
 
virtual PointVector Sample (VolumeType t)=0
 Worker function for sampling the given domain. More...
 
bool accept (VolumeType t, const ChVector3< T > &p) const
 Utility function to check if a point is inside the sampling volume.
 

Protected Attributes

m_separation
 inter-particle separation
 
m_fuzz
 fuzz value to account for roundoff error
 
ChVector3< T > m_center
 center of the sampling volume
 
ChVector3< T > m_size
 half dimensions of the bounding box of the sampling volume
 

Member Function Documentation

◆ Sample()

template<typename T >
virtual PointVector chrono::utils::ChSampler< T >::Sample ( VolumeType  t)
protectedpure virtual

Worker function for sampling the given domain.

Implemented by concrete samplers.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono/utils/ChUtilsSamplers.h