Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | FTriangleMeshImplicitObject |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/TriangleMeshImplicitObject.h |
| Include Path | #include "Chaos/TriangleMeshImplicitObject.h" |
Syntax
class FTriangleMeshImplicitObject : public Chaos::FImplicitObject
Inheritance Hierarchy
- FChaosRefCountedObject → FImplicitObject → FTriangleMeshImplicitObject
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTriangleMeshImplicitObject
(
ParticlesType&& Particles, |
Initialising constructor privately declared for use in CopySlow to copy the underlying BVH. | Chaos/TriangleMeshImplicitObject.h | |
FTriangleMeshImplicitObject
(
ParticlesType&& Particles, |
Chaos/TriangleMeshImplicitObject.h | ||
| Chaos/TriangleMeshImplicitObject.h | |||
FTriangleMeshImplicitObject
(
const FTriangleMeshImplicitObject& Other |
Chaos/TriangleMeshImplicitObject.h | ||
| Chaos/TriangleMeshImplicitObject.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FTriangleMeshImplicitObject() |
Chaos/TriangleMeshImplicitObject.h |
Structs
| Name | Remarks |
|---|---|
| FBvEntry |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| BVHType | TAABBTree< int32, TAABBTreeLeafArray< int32, false, FRealSingle >, false, FRealSingle > | Chaos/TriangleMeshImplicitObject.h | |
| ParticlesType | TParticles< FRealSingle, 3 > | Chaos/TriangleMeshImplicitObject.h | |
| ParticleVecType | TVec3< FRealSingle > | Chaos/TriangleMeshImplicitObject.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bCullsBackFaceRaycast | bool | Chaos/TriangleMeshImplicitObject.h | ||
| ExternalFaceIndexMap | TUniquePtr< TArray< int32 > > | Chaos/TriangleMeshImplicitObject.h | ||
| ExternalVertexIndexMap | TUniquePtr< TArray< int32 > > | Chaos/TriangleMeshImplicitObject.h | ||
| FastBVH | FTrimeshBVH | Chaos/TriangleMeshImplicitObject.h | ||
| MaterialIndices | TArray< uint16 > | Chaos/TriangleMeshImplicitObject.h | ||
| MElements | FTrimeshIndexBuffer | Chaos/TriangleMeshImplicitObject.h | ||
| MLocalBoundingBox | FAABB3 | Chaos/TriangleMeshImplicitObject.h | ||
| MParticles | ParticlesType | Chaos/TriangleMeshImplicitObject.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FAABB3f BoundingBoxf() |
Chaos/TriangleMeshImplicitObject.h | ||
void CollectTriangles
(
const FAABB3& MeshQueryBounds, |
Internal: do not use - this API will change as we optimize mesh collision. | Chaos/TriangleMeshImplicitObject.h | |
TUniquePtr< FTriangleMeshImplicitObject > CopySlow() |
Chaos/TriangleMeshImplicitObject.h | ||
const FTrimeshIndexBuffer & Elements() |
Chaos/TriangleMeshImplicitObject.h | ||
void FindOverlappingTriangles
(
const FAABB3& QueryBounds, |
Get a list of triangle indices that overlap the query bounds. | Chaos/TriangleMeshImplicitObject.h | |
const FTrimeshBVH & GetBVH() |
Internal: Only for CVD. | Chaos/TriangleMeshImplicitObject.h | |
bool GetCullsBackFaceRaycast() |
Does Trimesh cull backfaces in raycast. | Chaos/TriangleMeshImplicitObject.h | |
int32 GetExternalFaceIndexFromInternal
(
int32 InternalFaceIndex |
Returns -1 if InternalFaceIndex is not in map, or map is invalid. | Chaos/TriangleMeshImplicitObject.h | |
FVec3 GetFaceNormal
(
const int32 FaceIdx |
Chaos/TriangleMeshImplicitObject.h | ||
void GetTransformedTriangle
(
const int32 TriangleIndex, |
Generate the triangle at the specified index with the specified transform (including scale) | Chaos/TriangleMeshImplicitObject.h | |
bool GJKContactPoint
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const FCapsule& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const FSphere& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const FConvex& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool GJKContactPoint
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const FConvex& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const FCapsule& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const FSphere& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
const ParticlesType & Particles() |
Chaos/TriangleMeshImplicitObject.h | ||
bool RaycastImp
(
const TArray< TVector< IdxType, 3 > >& Elements, |
|||
void SerializeImp
(
FChaosArchive& Ar |
Chaos/TriangleMeshImplicitObject.h | ||
void SetCullsBackFaceRaycast
(
const bool bInCullsBackFace |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeom
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeom
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
| Chaos/TriangleMeshImplicitObject.h | |||
bool SweepGeom
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeom
(
const FSphere& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
| Chaos/TriangleMeshImplicitObject.h | |||
bool SweepGeom
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeom
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const FCapsule& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const FConvex& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/TriangleMeshImplicitObject.h | ||
bool SweepGeomCCD
(
const FSphere& QueryGeom, |
Sweep used for CCD. Ignores triangles we penetrate by less than IgnorePenetration, and calculate the TOI for a depth of TargetPenetration. If both are zero, this is equivalent to SweepGeom. | Chaos/TriangleMeshImplicitObject.h | |
void UpdateVertices
(
const TArray< FVector >& Positions |
Chaos/TriangleMeshImplicitObject.h | ||
void VisitTriangles
(
const FAABB3& QueryBounds, |
Chaos/TriangleMeshImplicitObject.h |
Overridden from FImplicitObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const FAABB3 BoundingBox() |
Chaos/TriangleMeshImplicitObject.h | ||
virtual Chaos::FImplicitObjectPtr CopyGeometry() |
Chaos/TriangleMeshImplicitObject.h | ||
virtual Chaos::FImplicitObjectPtr DeepCopyGeometry() |
Chaos/TriangleMeshImplicitObject.h | ||
virtual FVec3 FindGeometryOpposingNormal
(
const FVec3& DenormDir, |
Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. | Chaos/TriangleMeshImplicitObject.h | |
virtual int32 FindMostOpposingFace
(
const FVec3& Position, |
Returns the most opposing face. | Chaos/TriangleMeshImplicitObject.h | |
virtual int32 FindMostOpposingFaceScaled
(
const FVec3& Position, |
Chaos/TriangleMeshImplicitObject.h | ||
virtual uint16 GetMaterialIndex
(
uint32 HintIndex |
Chaos/TriangleMeshImplicitObject.h | ||
virtual FReal GetRadius() |
Chaos/TriangleMeshImplicitObject.h | ||
virtual uint32 GetTypeHash() |
Chaos/TriangleMeshImplicitObject.h | ||
virtual FName GetTypeName () |
Chaos/TriangleMeshImplicitObject.h | ||
virtual bool Overlap
(
const FVec3& Point, |
This gives derived types a way to do an overlap check without calling PhiWithNormal todo: this api is confusing. | Chaos/TriangleMeshImplicitObject.h | |
virtual FReal PhiWithNormal
(
const FVec3& x, |
Find the closest point on the surface, and return the separating distance and axis. | Chaos/TriangleMeshImplicitObject.h | |
virtual bool Raycast
(
const FVec3& StartPoint, |
This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing. | Chaos/TriangleMeshImplicitObject.h | |
virtual void Serialize
(
FChaosArchive& Ar |
Chaos/TriangleMeshImplicitObject.h | ||
virtual FString ToString() |
Chaos/TriangleMeshImplicitObject.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static const FName GetTypeName
(
const EImplicitObjectType InType |
Chaos/TriangleMeshImplicitObject.h | ||
static EImplicitObjectType StaticType() |
Chaos/TriangleMeshImplicitObject.h |