11 class FImplicitObject;
12 class FPBDCollisionConstraint;
23 template<
typename TRealType>
30 -V[2] * (-V[2] * M.M[1][1] + V[1] * M.M[2][1]) + V[1] * (-V[2] * M.M[2][1] + V[1] * M.M[2][2]) +
Im,
31 V[2] * (-V[2] * M.M[1][0] + V[1] * M.M[2][0]) - V[0] * (-V[2] * M.M[2][1] + V[1] * M.M[2][2]),
32 -V[1] * (-V[2] * M.M[1][0] + V[1] * M.M[2][0]) + V[0] * (-V[2] * M.M[1][1] + V[1] * M.M[2][1]),
33 V[2] * (V[2] * M.M[0][0] - V[0] * M.M[2][0]) - V[0] * (V[2] * M.M[2][0] - V[0] * M.M[2][2]) +
Im,
34 -V[1] * (V[2] * M.M[0][0] - V[0] * M.M[2][0]) + V[0] * (V[2] * M.M[1][0] - V[0] * M.M[2][1]),
35 -V[1] * (-V[1] * M.M[0][0] + V[0] * M.M[1][0]) + V[0] * (-V[1] * M.M[1][0] + V[0] * M.M[1][1]) +
Im);
43 template<
typename TRealType>
50 -V[2] * (-V[2] * M.M[1][1] + V[1] * M.M[2][1]) + V[1] * (-V[2] * M.M[2][1] + V[1] * M.M[2][2]) +
Im,
51 V[2] * ( V[2] * M.M[0][0] - V[0] * M.M[2][0]) - V[0] * ( V[2] * M.M[2][0] - V[0] * M.M[2][2]) +
Im,
52 -V[1] * (-V[1] * M.M[0][0] + V[0] * M.M[1][0]) + V[0] * (-V[1] * M.M[1][0] + V[0] * M.M[1][1]) +
Im);
81 template <ECollisionUpdateType UpdateType>
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition BVHParticles.h:24
Definition ImplicitObject.h:111
Definition ParticleHandle.h:987
TArray< Pair< const FImplicitObject *, FRigidTransform3 > > FindRelevantShapes(const FImplicitObject *ParticleObj, const FRigidTransform3 &ParticlesTM, const FImplicitObject &LevelsetObj, const FRigidTransform3 &LevelsetTM, const FReal Thickness)
Definition CollisionResolutionUtil.cpp:636
FContactPoint SampleObject(const FImplicitObject &Object, const FRigidTransform3 &ObjectTransform, const FBVHParticles &SampleParticles, const FRigidTransform3 &SampleParticlesTransform, FReal CullingDistance)
Definition CollisionResolutionUtil.cpp:522
FVec3 GetEnergyClampedImpulse(const TPBDRigidParticleHandle< FReal, 3 > *PBDRigid0, const TPBDRigidParticleHandle< FReal, 3 > *PBDRigid1, const FVec3 &Impulse, const FVec3 &VectorToPoint1, const FVec3 &VectorToPoint2, const FVec3 &Velocity1, const FVec3 &Velocity2)
Definition CollisionResolutionUtil.cpp:37
bool SampleObjectNoNormal(const FImplicitObject &Object, const FRigidTransform3 &ObjectTransform, const FRigidTransform3 &SampleToObjectTransform, const FVec3 &SampleParticle, FReal Thickness, FContactPoint &Contact)
Definition CollisionResolutionUtil.cpp:123
FRigidTransform3 GetTransform(const TGeometryParticleHandle< FReal, 3 > *Particle)
Definition CollisionResolutionUtil.cpp:30
bool SampleObjectNormalAverageHelper(const FImplicitObject &Object, const FRigidTransform3 &ObjectTransform, const FRigidTransform3 &SampleToObjectTransform, const FVec3 &SampleParticle, FReal Thickness, FReal &TotalThickness, FContactPoint &Contact)
Definition CollisionResolutionUtil.cpp:137
TVec3< TRealType > ComputeFactorDiagonal3(const TVec3< TRealType > &V, const TMatrix33< TRealType > &M, const TRealType Im)
Definition CollisionResolutionUtil.h:44
TMatrix33< TRealType > ComputeFactorMatrix3(const TVec3< TRealType > &V, const TMatrix33< TRealType > &M, const TRealType Im)
Definition CollisionResolutionUtil.h:24
Definition SkeletalMeshComponent.h:307
TRigidTransform< FReal, 3 > FRigidTransform3
Definition Core.h:22
FRealDouble FReal
Definition Real.h:22