|
| CHAOS_API | FImplicitObject (int32 Flags, EImplicitObjectType InType=ImplicitObjectType::Unknown) |
| |
| | FImplicitObject (const FImplicitObject &)=delete |
| |
| | FImplicitObject (FImplicitObject &&)=delete |
| |
| virtual CHAOS_API | ~FImplicitObject () override |
| |
| template<typename TargetType > |
| bool | IsA () const |
| |
| template<typename TargetType > |
| const TargetType * | AsA () const |
| |
| template<typename TargetType > |
| TargetType * | AsA () |
| |
| template<typename TargetType > |
| const TargetType * | AsAChecked () const |
| |
| template<typename TargetType > |
| TargetType * | AsAChecked () |
| |
| template<class T_DERIVED > |
| T_DERIVED * | GetObject () |
| |
| template<class T_DERIVED > |
| const T_DERIVED * | GetObject () const |
| |
| template<class T_DERIVED > |
| const T_DERIVED & | GetObjectChecked () const |
| |
| template<class T_DERIVED > |
| T_DERIVED & | GetObjectChecked () |
| |
| virtual EImplicitObjectType | GetNestedType () const |
| |
| CHAOS_API EImplicitObjectType | GetType () const |
| |
| CHAOS_API EImplicitObjectType | GetCollisionType () const |
| |
| void | SetCollisionType (EImplicitObjectType InCollisionType) |
| |
| virtual FReal | GetRadius () const |
| |
| virtual FRealSingle | GetRadiusf () const |
| |
| virtual FReal | GetMargin () const |
| |
| virtual FRealSingle | GetMarginf () const |
| |
| virtual CHAOS_API bool | IsValidGeometry () const |
| |
| virtual CHAOS_API Chaos::FImplicitObjectPtr | CopyGeometry () const |
| |
| virtual CHAOS_API Chaos::FImplicitObjectPtr | CopyGeometryWithScale (const FVec3 &Scale) const |
| |
| virtual Chaos::FImplicitObjectPtr | DeepCopyGeometry () const |
| |
| virtual Chaos::FImplicitObjectPtr | DeepCopyGeometryWithScale (const FVec3 &Scale) const |
| |
| virtual FImplicitObject * | Duplicate () const |
| |
| virtual TUniquePtr< FImplicitObject > | Copy () const |
| |
| virtual TUniquePtr< FImplicitObject > | CopyWithScale (const FVec3 &Scale) const |
| |
| virtual TUniquePtr< FImplicitObject > | DeepCopy () const |
| |
| virtual TUniquePtr< FImplicitObject > | DeepCopyWithScale (const FVec3 &Scale) const |
| |
| CHAOS_API bool | IsUnderlyingUnion () const |
| |
| CHAOS_API bool | IsUnderlyingMesh () const |
| |
| CHAOS_API FReal | SignedDistance (const FVec3 &x) const |
| |
| CHAOS_API FVec3 | Normal (const FVec3 &x) const |
| |
| virtual FReal | PhiWithNormal (const FVec3 &x, FVec3 &Normal) const =0 |
| |
| virtual FReal | PhiWithNormalScaled (const FVec3 &Pos, const FVec3 &Scale, FVec3 &Normal) const |
| |
| virtual CHAOS_API const FAABB3 | BoundingBox () const |
| |
| virtual FAABB3 | CalculateTransformedBounds (const FRigidTransform3 &Transform) const |
| |
| bool | HasBoundingBox () const |
| |
| bool | IsConvex () const |
| |
| void | SetConvex (const bool Convex=true) |
| |
| void | SetDoCollide (const bool Collide) |
| |
| bool | GetDoCollide () const |
| |
| CHAOS_API void | Track (TSerializablePtr< FImplicitObject > This, const FString &DebugInfo) |
| |
| virtual bool | IsPerformanceWarning () const |
| |
| virtual FString | PerformanceWarningAndSimplifaction () |
| |
| CHAOS_API Pair< FVec3, bool > | FindDeepestIntersection (const FImplicitObject *Other, const FBVHParticles *Particles, const FMatrix33 &OtherToLocalTransform, const FReal Thickness) const |
| |
| CHAOS_API Pair< FVec3, bool > | FindDeepestIntersection (const FImplicitObject *Other, const FParticles *Particles, const FMatrix33 &OtherToLocalTransform, const FReal Thickness) const |
| |
| CHAOS_API Pair< FVec3, bool > | FindClosestIntersection (const FVec3 &StartPoint, const FVec3 &EndPoint, const FReal Thickness) const |
| |
| virtual bool | Raycast (const FVec3 &StartPoint, const FVec3 &Dir, const FReal Length, const FReal Thickness, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex) const |
| |
| virtual int32 | FindMostOpposingFace (const FVec3 &Position, const FVec3 &UnitDir, int32 HintFaceIndex, FReal SearchDist) const |
| |
| virtual int32 | FindMostOpposingFaceScaled (const FVec3 &Position, const FVec3 &UnitDir, int32 HintFaceIndex, FReal SearchDist, const FVec3 &Scale) const |
| |
| virtual int32 | FindClosestFaceAndVertices (const FVec3 &Position, TArray< FVec3 > &FaceVertices, FReal SearchDist=0.01f) const |
| |
| virtual FVec3 | FindGeometryOpposingNormal (const FVec3 &DenormDir, int32 FaceIndex, const FVec3 &OriginalNormal) const |
| |
| virtual bool | Overlap (const FVec3 &Point, const FReal Thickness) const |
| |
| virtual void | AccumulateAllImplicitObjects (TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &Out, const FRigidTransform3 &ParentTM) const |
| |
| virtual void | AccumulateAllSerializableImplicitObjects (TArray< Pair< TSerializablePtr< FImplicitObject >, FRigidTransform3 > > &Out, const FRigidTransform3 &ParentTM, TSerializablePtr< FImplicitObject > This) const |
| |
| virtual CHAOS_API void | FindAllIntersectingObjects (TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &Out, const FAABB3 &LocalBounds) const |
| |
| virtual FString | ToString () const |
| |
| CHAOS_API void | SerializeImp (FArchive &Ar) |
| |
| virtual void | Serialize (FArchive &Ar) |
| |
| virtual CHAOS_API void | Serialize (FChaosArchive &Ar) |
| |
| virtual uint32 | GetTypeHash () const =0 |
| |
| virtual FName | GetTypeName () const |
| |
| virtual uint16 | GetMaterialIndex (uint32 HintIndex) const |
| |
| int32 | CountObjectsInHierarchy () const |
| |
| int32 | CountLeafObjectsInHierarchy () const |
| |
| void | VisitOverlappingLeafObjects (const FAABB3 &LocalBounds, const FImplicitHierarchyVisitor &Visitor) const |
| |
| void | VisitLeafObjects (const FImplicitHierarchyVisitor &Visitor) const |
| |
| void | VisitObjects (const FImplicitHierarchyVisitorBool &Visitor) const |
| |
| bool | IsOverlappingBounds (const FAABB3 &LocalBounds) const |
| |
| virtual int32 | CountObjectsInHierarchyImpl () const |
| |
| virtual int32 | CountLeafObjectsInHierarchyImpl () const |
| |
| virtual void | VisitOverlappingLeafObjectsImpl (const FAABB3 &LocalBounds, const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitor &VisitorFunc) const |
| |
| virtual void | VisitLeafObjectsImpl (const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitor &VisitorFunc) const |
| |
| virtual bool | VisitObjectsImpl (const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitorBool &VisitorFunc) const |
| |
| virtual bool | IsOverlappingBoundsImpl (const FAABB3 &LocalBounds) const |
| |
| | FChaosRefCountedObject () |
| |
| virtual | ~FChaosRefCountedObject () |
| |
| | FChaosRefCountedObject (const FChaosRefCountedObject &Rhs)=delete |
| |
| FChaosRefCountedObject & | operator= (const FChaosRefCountedObject &Rhs)=delete |
| |
| uint32 | AddRef () const |
| |
| uint32 | Release () const |
| |
| uint32 | GetRefCount () const |
| |
| void | MakePersistent () const |
| |
| virtual FVec3 Chaos::FImplicitObject::FindGeometryOpposingNormal |
( |
const FVec3 & |
DenormDir, |
|
|
int32 |
FaceIndex, |
|
|
const FVec3 & |
OriginalNormal |
|
) |
| const |
|
inlinevirtual |
Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. For example a sphere swept against a box may not give a normal associated with one of the box faces. This function will return a normal associated with one of the faces.
- Parameters
-
| DenormDir | - the direction we want to oppose |
| FaceIndex | - the face index associated with the geometry (for example if we hit a specific face of a convex hull) |
| OriginalNormal | - the original normal given by something like a sphere sweep |
- Returns
- The most opposing normal associated with the underlying geometry's feature (like a face)
Reimplemented in Chaos::FConvex, Chaos::TBox< T, d >, Chaos::TBox< FReal, 3 >, Chaos::FHeightField, Chaos::FTriangleMeshImplicitObject, Chaos::TImplicitObjectInstanced< TConcrete >, Chaos::TImplicitObjectScaled< TConcrete, bInstanced >, and Chaos::TImplicitObjectScaled< Chaos::TBox< FReal, 3 > >.