Description

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

Base class for different types of point samplers.

#include <ChUtilsSamplers.h>

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

Public Types

typedef Types< T >::PointVector PointVector
 

Public Member Functions

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

Protected Types

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

Protected Member Functions

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

Protected Attributes

m_separation
 inter-particle separation
 
ChVector< T > m_center
 center of the sampling volume
 
ChVector< T > m_size
 half dimensions of the bounding box of the sampling volume
 

Member Function Documentation

◆ Sample()

template<typename T >
virtual PointVector chrono::utils::Sampler< 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