23#include "Collision/NeighborPointQuery.h"
37 typedef unsigned long long int OcKey;
43 template<
typename TDataType>
48 typedef typename TDataType::Real
Real;
49 typedef typename TDataType::Coord
Coord;
65 DEF_ENUM(CandidatePointCount, CandidatePointCount, CandidatePointCount::neighbors_33,
"Candidate Point Count");
#define DECLARE_TCLASS(name, T1)
The standard summation density.
VirtualParticleGenerator()
std::shared_ptr< SummationDensity< TDataType > > m_vv_density
DArray< Coord > m_anchorPoint
DECLARE_ENUM(CandidatePointCount, neighbors_8=8, neighbors_27=27, neighbors_33=33, neighbors_125=125)
DEF_VAR(Real, RestDensity, Real(1000), "Reference density")
DEF_ARRAY_IN(Coord, RPosition, DeviceType::GPU, "Input real particle position")
Real Particle positions.
std::shared_ptr< NeighborPointQuery< TDataType > > m_vv_nbrQuery
std::shared_ptr< NeighborPointQuery< TDataType > > m_rv_nbrQuery
DEF_ENUM(CandidatePointCount, CandidatePointCount, CandidatePointCount::neighbors_33, "Candidate Point Count")
DEF_VAR(Real, SamplingDistance, Real(0.005), "")
Virtual Particles Sampling Distance.
DArray< Coord > m_virtual_position
void constrain() override
~VirtualSpatiallyAdaptiveStrategy() override
DArray< uint32_t > m_nonRepeatedCount
DArray< uint32_t > m_candidateCodes
void setHashGridSize(Real x)
std::shared_ptr< NeighborPointQuery< TDataType > > m_vr_nbrQuery
DArray< uint32_t > m_anchorPointCodes
VirtualSpatiallyAdaptiveStrategy()
SpikyKernel< Real > m_kernel
This is an implementation of AdditiveCCD based on peridyno.
Array< T, DeviceType::GPU > DArray
unsigned long long int OcKey