21#include "Topology/PointSet.h"
34 template<
typename TDataType>
40 typedef typename TDataType::Real
Real;
41 typedef typename TDataType::Coord
Coord;
GPU supported signed distance field.
#define IMPLEMENT_TCLASS(name, T1)
DECLARE_TCLASS(PoissonDiskSampler, TDataType)
std::shared_ptr< DistanceField3D< TDataType > > getSDF()
int pointNumberRecommend()
bool collisionJudge2D(Coord point)
std::shared_ptr< DistanceField3D< TDataType > > m_inputSDF
unsigned int m_attempted_times
Real lerp(Real a, Real b, Real alpha)
bool collisionJudge(Coord point)
Coord getOnePointInsideSDF()
void resetStates() override
std::vector< int > m_grid
std::vector< Coord > m_points
Real getDistanceFromSDF(const Coord &p, Coord &normal)
int indexTransform(int i, int j, int k)
GridIndex searchGrid(Coord point)
CArray3D< Real > host_dist
This is an implementation of AdditiveCCD based on peridyno.
Array3D< T, DeviceType::CPU > CArray3D