|
| CHAOS_API | FRigidClustering (FRigidEvolution &InEvolution, FPBDRigidClusteredParticles &InParticles, const TArray< ISimCallbackObject * > *InStrainModifiers) |
| |
| CHAOS_API | ~FRigidClustering () |
| |
| CHAOS_API Chaos::FPBDRigidClusteredParticleHandle * | CreateClusterParticle (const int32 ClusterGroupIndex, TArray< Chaos::FPBDRigidParticleHandle * > &&Children, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), const Chaos::FImplicitObjectPtr &ProxyGeometry=nullptr, const FRigidTransform3 *ForceMassOrientation=nullptr, const FUniqueIdx *ExistingIndex=nullptr) |
| |
| Chaos::FPBDRigidClusteredParticleHandle * | CreateClusterParticle (const int32 ClusterGroupIndex, TArray< Chaos::FPBDRigidParticleHandle * > &&Children, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), TSharedPtr< Chaos::FImplicitObject, ESPMode::ThreadSafe > ProxyGeometry=nullptr, const FRigidTransform3 *ForceMassOrientation=nullptr, const FUniqueIdx *ExistingIndex=nullptr) |
| |
| CHAOS_API Chaos::FPBDRigidClusteredParticleHandle * | CreateClusterParticleFromClusterChildren (TArray< FPBDRigidParticleHandle * > &&Children, FPBDRigidClusteredParticleHandle *Parent, const FRigidTransform3 &ClusterWorldTM, const FClusterCreationParameters &Parameters) |
| |
| CHAOS_API void | AddParticlesToCluster (FPBDRigidClusteredParticleHandle *Cluster, const TArray< FPBDRigidParticleHandle * > &InChildren, const TMap< FPBDRigidParticleHandle *, FPBDRigidParticleHandle * > &ChildToParentMap) |
| |
| CHAOS_API void | RemoveParticlesFromCluster (FPBDRigidClusteredParticleHandle *Cluster, const TArray< FPBDRigidParticleHandle * > &InChildren) |
| |
| CHAOS_API void | UnionClusterGroups () |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | DeactivateClusterParticle (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | ReleaseClusterParticles (FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bForceRelease=false) |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | ReleaseClusterParticlesNoInternalCluster (FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bForceRelease=false) |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | ReleaseClusterParticles (TArray< FPBDRigidParticleHandle * > ChildrenParticles, bool bTriggerBreakEvents=false) |
| |
| CHAOS_API void | ForceReleaseChildParticleAndParents (FPBDRigidClusteredParticleHandle *ChildClusteredParticle, bool bTriggerBreakEvents) |
| |
| CHAOS_API FPBDRigidClusteredParticleHandle * | DestroyClusterParticle (FPBDRigidClusteredParticleHandle *ClusteredParticle, const FClusterDestoryParameters &Parameters=FClusterDestoryParameters()) |
| |
| CHAOS_API bool | BreakCluster (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| CHAOS_API bool | BreakClustersByProxy (const IPhysicsProxyBase *Proxy) |
| |
| CHAOS_API void | AdvanceClustering (const FReal dt, FPBDCollisionConstraints &CollisionRule) |
| |
| CHAOS_API void | BreakingModel () |
| |
| CHAOS_API void | BreakingModel (TArray< FPBDRigidClusteredParticleHandle * > &InParticles) |
| |
| CHAOS_API bool | BreakingModel (TArrayView< FPBDRigidClusteredParticleHandle * > InParticles) |
| |
| CHAOS_API void | Visitor (FClusterHandle Cluster, FVisitorFunction Function) |
| |
| CHAOS_API FPBDRigidParticleHandle * | GetActiveClusterIndex (FPBDRigidParticleHandle *Child) |
| |
| TArrayCollectionArray< ClusterId > & | GetClusterIdsArray () |
| |
| const TArrayCollectionArray< ClusterId > & | GetClusterIdsArray () const |
| |
| const TArrayCollectionArray< FRigidClusteredFlags > & | GetRigidClusteredFlagsArray () const |
| |
| const TArrayCollectionArray< FRigidTransform3 > & | GetChildToParentMap () const |
| |
| TArrayCollectionArray< FRealSingle > & | GetStrainArray () |
| |
| const TArrayCollectionArray< FRealSingle > & | GetStrainArray () const |
| |
| FClusterMap & | GetChildrenMap () |
| |
| const FClusterMap & | GetChildrenMap () const |
| |
| TArrayCollectionArray< int32 > & | GetClusterGroupIndexArray () |
| |
| CHAOS_API void | ResetAllEvents () |
| |
| const TArray< FBreakingData > & | GetAllClusterBreakings () const |
| |
| void | SetGenerateClusterBreaking (bool DoGenerate) |
| |
| bool | GetDoGenerateBreakingData () const |
| |
| void | ResetAllClusterBreakings () |
| |
| const TArray< FCrumblingData > & | GetAllClusterCrumblings () const |
| |
| void | ResetAllClusterCrumblings () |
| |
| const TArrayCollectionArray< TArray< TConnectivityEdge< FReal > > > & | GetConnectivityEdges () const |
| |
| CHAOS_API FPBDRigidParticleHandle * | FindClosestChild (const FPBDRigidClusteredParticleHandle *ClusteredParticle, const FVec3 &WorldLocation) const |
| |
| CHAOS_API TArray< FPBDRigidParticleHandle * > | FindChildrenWithinRadius (const FPBDRigidClusteredParticleHandle *ClusteredParticle, const FVec3 &WorldLocation, FReal Radius, bool bAlwaysReturnClosest) const |
| |
| void | SetClusterConnectionFactor (FReal ClusterConnectionFactorIn) |
| |
| void | SetClusterUnionConnectionType (FClusterCreationParameters::EConnectionMethod ClusterConnectionType) |
| |
| FClusterCreationParameters::EConnectionMethod | GetClusterUnionConnectionType () const |
| |
| void | ApplySettings (const FChaosSolverConfiguration &Settings) |
| |
| CHAOS_API void | GenerateConnectionGraph (const TArray< FPBDRigidParticleHandle * > &Particles, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), const TSet< FPBDRigidParticleHandle * > *FromParticles=nullptr, const TSet< FPBDRigidParticleHandle * > *ToParticles=nullptr) |
| |
| CHAOS_API void | GenerateConnectionGraph (Chaos::FPBDRigidClusteredParticleHandle *Parent, const FClusterCreationParameters &Parameters=FClusterCreationParameters()) |
| |
| CHAOS_API void | ClearConnectionGraph (FPBDRigidClusteredParticleHandle *Parent) |
| |
| const TSet< Chaos::FPBDRigidClusteredParticleHandle * > & | GetTopLevelClusterParents () const |
| |
| TSet< Chaos::FPBDRigidClusteredParticleHandle * > & | GetTopLevelClusterParents () |
| |
| FRigidEvolution & | GetEvolution () |
| |
| const FRigidEvolution & | GetEvolution () const |
| |
| CHAOS_API void | SetInternalStrain (FPBDRigidClusteredParticleHandle *Particle, FRealSingle Strain) |
| |
| CHAOS_API void | SetExternalStrain (FPBDRigidClusteredParticleHandle *Particle, FRealSingle Strain) |
| |
| CHAOS_API void | BuildConvexOptimizer (FPBDRigidClusteredParticleHandle *Particle) |
| |
| FClusterUnionManager & | GetClusterUnionManager () |
| |
| const FClusterUnionManager & | GetClusterUnionManager () const |
| |
| const TSet< Chaos::FPBDRigidClusteredParticleHandle * > & | GetTopLevelClusterParentsStrained () const |
| |
| CHAOS_API void | RemoveNodeConnections (FPBDRigidParticleHandle *Child) |
| |
| CHAOS_API void | RemoveNodeConnections (FPBDRigidClusteredParticleHandle *Child) |
| |
| template<typename TFilter > |
| void | RemoveFilteredNodeConnections (FPBDRigidClusteredParticleHandle *ClusteredChild, TFilter &&Filter) |
| |
| template<typename ParticleHandleTypeA , typename ParticleHandleTypeB > |
| void | CreateNodeConnection (ParticleHandleTypeA *A, ParticleHandleTypeB *B) |
| |
| CHAOS_API void | CreateNodeConnection (FPBDRigidClusteredParticleHandle *A, FPBDRigidClusteredParticleHandle *B) |
| |
| CHAOS_API void | CleanupInternalClustersForProxies (TArrayView< IPhysicsProxyBase * > Proxies) |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | HandleConnectivityOnReleaseClusterParticle (FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bCreateNewClusters) |
| |
| CHAOS_API void | DisableCluster (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| bool | ShouldThrottleParticleRelease () const |
| |
| void | ThrottleReleasedParticlesIfNecessary (TSet< FPBDRigidParticleHandle * > &Particles) |
| |
| void | ThrottleReleasedParticlesIfNecessary (TArray< FPBDRigidParticleHandle * > &Particles) |
| |
| void | DisableParticle (FPBDRigidParticleHandle *ParticleToDisable, bool bRemoveFromChildrenMap=true) |
| |
| const FChaosSolverDestructionSettings & | GetDestructionSettings () const |
| |
|
| CHAOS_API void | ComputeStrainFromCollision (const FPBDCollisionConstraints &CollisionRule, const FReal Dt) |
| |
| CHAOS_API void | ResetCollisionImpulseArray () |
| |
| CHAOS_API void | ApplyStrainModifiers (const TArray< FPBDRigidClusteredParticleHandle * > &StrainedParticles) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingPointImplicit (const TArray< FPBDRigidParticleHandle * > &Particles, FReal CollisionThicknessPercent, const TSet< FPBDRigidParticleHandle * > *FromParticles=nullptr, const TSet< FPBDRigidParticleHandle * > *ToParticles=nullptr) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingPointImplicit (Chaos::FPBDRigidClusteredParticleHandle *Parent, const FClusterCreationParameters &Parameters=FClusterCreationParameters()) |
| |
| CHAOS_API void | FixConnectivityGraphUsingDelaunayTriangulation (const TArray< FPBDRigidParticleHandle * > &Particles, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), const TSet< FPBDRigidParticleHandle * > *FromParticles=nullptr, const TSet< FPBDRigidParticleHandle * > *ToParticles=nullptr) |
| |
| CHAOS_API void | FixConnectivityGraphUsingDelaunayTriangulation (Chaos::FPBDRigidClusteredParticleHandle *Parent, const FClusterCreationParameters &Parameters=FClusterCreationParameters()) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingDelaunayTriangulation (const TArray< FPBDRigidParticleHandle * > &Particles, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), const TSet< FPBDRigidParticleHandle * > *FromParticles=nullptr, const TSet< FPBDRigidParticleHandle * > *ToParticles=nullptr) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingDelaunayTriangulation (const Chaos::FPBDRigidClusteredParticleHandle *Parent, const FClusterCreationParameters &Parameters=FClusterCreationParameters()) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingDelaunayTriangulationWithBoundsOverlaps (const TArray< FPBDRigidParticleHandle * > &Particles, const FClusterCreationParameters &Parameters=FClusterCreationParameters(), const TSet< FPBDRigidParticleHandle * > *FromParticles=nullptr, const TSet< FPBDRigidParticleHandle * > *ToParticles=nullptr) |
| |
| CHAOS_API void | UpdateConnectivityGraphUsingDelaunayTriangulationWithBoundsOverlaps (const Chaos::FPBDRigidClusteredParticleHandle *Parent, const FClusterCreationParameters &Parameters=FClusterCreationParameters()) |
| |
| CHAOS_API void | RemoveChildFromParent (FPBDRigidParticleHandle *Child, FPBDRigidClusteredParticleHandle *ClusteredParent) |
| |
| CHAOS_API void | RemoveChildFromParentAndChildrenArray (FPBDRigidParticleHandle *Child, FPBDRigidClusteredParticleHandle *ClusteredParent) |
| |
| CHAOS_API void | TrackBreakingCollision (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| CHAOS_API void | RestoreBreakingMomentum () |
| |
| CHAOS_API void | RemoveFromMomentumRestoringStructures (const FPBDRigidParticleHandle *ParticleToRemove) |
| |
| CHAOS_API void | SendBreakingEvent (FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bFromCrumble) |
| |
| CHAOS_API void | SendCrumblingEvent (FPBDRigidClusteredParticleHandle *ClusteredParticle) |
| |
| CHAOS_API TSet< FPBDRigidParticleHandle * > | ReleaseClusterParticlesImpl (FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bForceRelease, bool bCreateNewClusters) |
| |
| CHAOS_API TArray< FParticleIsland > | FindIslandsInChildren (const FPBDRigidClusteredParticleHandle *ClusteredParticle, bool bTraverseInterclusterEdges) |
| |
| CHAOS_API TArray< FPBDRigidParticleHandle * > | CreateClustersFromNewIslands (TArray< FParticleIsland > &Islands, FPBDRigidClusteredParticleHandle *ClusteredParent) |
| |
| CHAOS_API void | UpdateTopLevelParticle (FPBDRigidClusteredParticleHandle *Particle) |
| |
| CHAOS_API void | UpdateClusterParticlePropertiesFromChildren (FPBDRigidClusteredParticleHandle *Cluster, const FRigidHandleArray &Children, const TMap< FPBDRigidParticleHandle *, FPBDRigidParticleHandle * > &ChildToParentMap) |
| |