22#include "Topology/DiscreteElements.h" 
   29    template<
typename TDataType>
 
   34        typedef typename TDataType::Real 
Real;
 
   35        typedef typename TDataType::Coord 
Coord;
 
   36        typedef typename TDataType::Matrix 
Matrix;
 
   38        typedef typename ::dyno::Quat<Real> 
TQuat;
 
   40        typedef typename ::dyno::TConstraintPair<Real> 
Constraint;
 
   98        DEF_ARRAY_IN(
Real, FrictionCoefficients, DeviceType::GPU, 
"FrictionCoefficients of rigid bodies");
 
 
#define DECLARE_TCLASS(name, T1)
 
particle attribute 0x00000000: [31-30]material; [29]motion; [28]Dynamic; [27-8]undefined yet,...
 
DArray< int > mContactNumber
 
DEF_ARRAY_IN(Coord, Center, DeviceType::GPU, "Center of rigid bodies")
 
::dyno::TContactPair< Real > ContactPair
 
DEF_VAR(uint, IterationNumberForVelocitySolver, 300, "")
 
DArray< Constraint > mVelocityConstraints
 
DArray< ContactPair > mContactsInLocalFrame
 
void initializeJacobian(Real dt)
 
DEF_ARRAY_IN(ContactPair, Contacts, DeviceType::GPU, "")
 
::dyno::FixedJoint< Real > FixedJoint
 
DArray< Coord > mImpulseExt
 
::dyno::PointJoint< Real > PointJoint
 
DEF_VAR(Real, FrictionCoefficient, 100, "")
 
DEF_VAR(Real, AngularDamping, 0.1, "")
 
DArray< Coord > mImpulseC
 
DEF_ARRAY_IN(Matrix, Inertia, DeviceType::GPU, "Interial matrix")
 
::dyno::Quat< Real > TQuat
 
DEF_VAR(bool, GravityEnabled, true, "")
 
::dyno::SliderJoint< Real > SliderJoint
 
DEF_VAR(Real, GravityValue, 9.8, "")
 
DEF_ARRAY_IN(Real, FrictionCoefficients, DeviceType::GPU, "FrictionCoefficients of rigid bodies")
 
DEF_VAR(Real, DampingRatio, 1.0, "")
 
DEF_ARRAY_IN(TQuat, Quaternion, DeviceType::GPU, "Quaternion")
 
void constrain() override
 
DEF_VAR_IN(Real, TimeStep, "Time step size")
 
DEF_VAR(Real, Slop, 0, "")
 
DEF_VAR(Real, LinearDamping, 0.1, "")
 
DEF_INSTANCE_IN(DiscreteElements< TDataType >, DiscreteElements, "")
 
DEF_ARRAY_IN(Matrix, InitialInertia, DeviceType::GPU, "Interial matrix")
 
::dyno::BallAndSocketJoint< Real > BallAndSocketJoint
 
DEF_ARRAY_IN(Real, Mass, DeviceType::GPU, "Mass of rigid bodies")
 
DEF_ARRAY_IN(Coord, AngularVelocity, DeviceType::GPU, "Angular velocity of rigid bodies")
 
::dyno::HingeJoint< Real > HingeJoint
 
DEF_ARRAY_IN(Coord, Velocity, DeviceType::GPU, "Velocity of rigid bodies")
 
DEF_VAR(bool, FrictionEnabled, true, "")
 
::dyno::TConstraintPair< Real > Constraint
 
DEF_ARRAY_IN(Attribute, Attribute, DeviceType::GPU, "Rigid body attributes")
 
~PJSoftConstraintSolver()
 
DEF_VAR(Real, Hertz, 300, "")
 
DEF_ARRAY_IN(Matrix, RotationMatrix, DeviceType::GPU, "Rotation matrix of rigid bodies")
 
This is an implementation of AdditiveCCD based on peridyno.
 
Array< T, DeviceType::GPU > DArray