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.
 

Protected Types

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

Protected Member Functions

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

Protected Attributes

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