20#include "Collision/NeighborPointQuery.h"
31 template<
typename TDataType>
37 typedef typename TDataType::Real
Real;
38 typedef typename TDataType::Coord
Coord;
57 DEF_VAR(
bool, ConstraintDisable,
false,
"Disable the constant-density ");
78 std::shared_ptr<NeighborPointQuery<TDataType>>
m_neighbor;
80 std::shared_ptr<PoissionDiskPositionShifting<TDataType>>
m_constraint;
#define IMPLEMENT_TCLASS(name, T1)
void resizeArrays(int num)
DEF_VAR(Real, Delta, 0.001, "")
void deleteCollisionPoints()
DEF_ARRAYLIST_STATE(int, NeighborIds, DeviceType::GPU, "Return neighbor ids")
DEF_VAR(bool, ConstraintDisable, false, "Disable the constant-density ")
DECLARE_TCLASS(DevicePoissonDiskSampler, TDataType)
std::shared_ptr< PoissionDiskPositionShifting< TDataType > > m_constraint
DArray< Coord > mPointsInsideSdf
~DevicePoissonDiskSampler()
DEF_ARRAY_STATE(Coord, Position, DeviceType::GPU, "A set of points whose neighbors will be required for")
std::shared_ptr< NeighborPointQuery< TDataType > > m_neighbor
DevicePoissonDiskSampler()
DArray< Real > mMinimumDistances
DEF_VAR_STATE(Real, NeighborLength, 0.01f, "Length of Neighborhood-searching")
std::shared_ptr< DistanceField3D< TDataType > > m_inputSDF
DEF_VAR(int, MaxIteration, 20, "")
Reduction< Real > mReduceReal
std::shared_ptr< ImplicitViscosity< TDataType > > ptr_viscosity
Real minimumDistanceEstimation()
DEF_ARRAY_OUT(Real, Density, DeviceType::GPU, "Return the particle density")
Reduction< int > mReduceInt
void deleteOutsidePoints()
void resetStates() override
DArray< int > mInsideSdfCounters
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray