Navigation
Unreal Engine C++ API Reference > Runtime > Chaos > Chaos
Inheritance Hierarchy
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Convex.h |
Include | #include "Chaos/Convex.h" |
Syntax
class FConvex : public Chaos::FImplicitObject
Remarks
Note: While Convex technically supports a margin, the margin is typically a property of the instance wrapper (ImplicitScaled, ImplicitTransformed, or ImplicitInstanced). Usually the margin on the convex itself is zero.
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FConvex () |
||
![]() |
|||
![]() |
FConvex
(
TArray< FPlaneType >&& InPlanes, |
NOTE: This constructor will result in approximate COM and volume calculations, since it does not have face indices for surface particles. | |
![]() |
|||
![]() |
FConvex
(
const TArray< FVec3Type >& InVertices, |
||
![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
TUniquePtr< FConvex > | CopyAsConvex () |
|
![]() ![]() |
int32 | FindVertexPlanes
(
int32 VertexIndex, |
Get an array of all the plane indices that belong to a vertex (up to MaxVertexPlanes). |
![]() ![]() |
FVec3 | GetCenter () |
|
![]() ![]() |
const FVec3 | ||
![]() ![]() |
FVec3 | GetClosestEdge
(
int32 PlaneIndexHint, |
Get the nearest point on an edge and the edge vertices Used for manifold generation |
![]() ![]() |
FVec3 | GetClosestEdgePosition
(
int32 PlaneIndex, |
Get the nearest point on an edge of the specified face. |
![]() ![]() |
bool | GetClosestEdgeVertices
(
int32 PlaneIndex, |
|
![]() ![]() |
int32 | GetEdgePlane
(
int32 EdgeIndex, |
Get the plane index of one of the two planes using an edge. |
![]() ![]() |
int32 | GetEdgeVertex
(
int32 EdgeIndex, |
Get the vertex index of one of the two vertices in an edge. |
![]() ![]() |
const TArray< FPlaneType > & | GetFaces () |
|
![]() ![]() |
const FMatrix33 | GetInertiaTensor
(
const FReal Mass |
|
![]() ![]() |
FConvex::FAABB3Type | ||
![]() ![]() |
FVec3 | GetMarginAdjustedVertex
(
const int32 VertexIndex, |
|
![]() ![]() |
FVec3 | GetMarginAdjustedVertexScaled
(
int32 VertexIndex, |
|
![]() ![]() |
int32 | GetMostOpposingPlane
(
const FVec3& Normal |
Get the index of the plane that most opposes the normal. |
![]() ![]() |
int32 | GetMostOpposingPlaneScaled
(
const FVec3& Normal, |
Get the index of the plane that most opposes the normal. |
![]() ![]() |
const TPlaneConcrete< FReal, 3 > | Get the plane at the specified index (e.g., indices from FindVertexPlanes) | |
![]() ![]() |
void | GetPlaneNX
(
const int32 FaceIndex, |
|
![]() ![]() |
const FPlaneType & | GetPlaneRaw
(
int32 FaceIndex |
|
![]() ![]() |
int32 | GetPlaneVertex
(
int32 PlaneIndex, |
Get the vertex index of one of the vertices making up the corners of the specified face. |
![]() ![]() |
FRotation3 | ||
![]() ![]() |
const FConvexStructureData & | The convex structure data (mainly exposed for testing) | |
![]() ![]() |
const FName | GetTypeName
(
const EImplicitObjectType InType |
|
![]() ![]() |
const FVec3Type & | Get the vertex at the specified index (e.g., indices from GetPlaneVertexs) | |
![]() ![]() |
int32 | GetVertexPlanes3
(
int32 VertexIndex, |
|
![]() ![]() |
const TArray< FVec3Type > & | GetVertices () |
|
![]() ![]() |
const FReal | GetVolume () |
|
![]() ![]() |
FReal | Returns a winding order multiplier used in the manifold clipping and required when we have negative scales (See ImplicitObjectScaled) | |
![]() ![]() |
bool | Whether the structure data has been created for this convex (will eventually always be true) | |
![]() ![]() |
bool | ||
![]() |
void | MovePlanesAndRebuild
(
FRealType InDelta |
|
![]() ![]() |
int32 | NumEdges () |
|
![]() ![]() |
int32 | NumPlanes () |
|
![]() ![]() |
int32 | NumPlaneVertices
(
int32 PlaneIndex |
The number of vertices that make up the corners of the specified face. |
![]() ![]() |
int32 | NumVertices () |
|
![]() ![]() |
Chaos::FConvex * | ||
![]() ![]() |
bool | ||
![]() |
void | SerializeImp
(
FArchive& Ar |
|
![]() |
void | ||
![]() ![]() |
EImplicitObjectType | StaticType () |
|
![]() ![]() |
FVec3 | Return support point on the shape | |
![]() ![]() |
FVec3 | SupportCore
(
const FVec3& Direction, |
Return support point on the core shape (the convex shape with all planes moved inwards by margin). |
![]() ![]() |
FVec3 | SupportCore with non-uniform scale support. | |
![]() ![]() |
VectorRegister4Float | SupportCoreSimd
(
const VectorRegister4Float& Direction, |
Return support point on the core shape (the convex shape with all planes moved inwards by margin). |
![]() ![]() |
FVec3 | SupportScaled
(
const FVec3& Direction, |
|
![]() ![]() |
FString | ToStringFull () |
Print all the datas. |
![]() ![]() |
FString | A one-line summary of the convex. |
Overridden from FImplicitObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
const FAABB3 | BoundingBox () |
|
![]() ![]() ![]() |
Chaos::FImplicitObjectPtr | CopyGeometry () |
|
![]() ![]() ![]() |
Chaos::FImplicitObjectPtr | CopyGeometryWithScale
(
const FVec3& Scale |
|
![]() ![]() ![]() |
Chaos::FImplicitObjectPtr | ||
![]() ![]() ![]() |
Chaos::FImplicitObjectPtr | DeepCopyGeometryWithScale
(
const FVec3& Scale |
|
![]() ![]() ![]() |
int32 | FindClosestFaceAndVertices
(
const FVec3& Position, |
Finds the first intersecting face at given position |
![]() ![]() ![]() |
Pair< FVec3, bool > | FindClosestIntersectionImp
(
const FVec3& StartPoint, |
|
![]() ![]() ![]() |
FVec3 | FindGeometryOpposingNormal
(
const FVec3& DenormDir, |
Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. |
![]() ![]() ![]() |
int32 | FindMostOpposingFace
(
const FVec3& Position, |
Returns the most opposing face. |
![]() ![]() ![]() |
int32 | ||
![]() ![]() ![]() |
FReal | GetMargin () |
|
![]() ![]() ![]() |
FReal | GetRadius () |
|
![]() ![]() ![]() |
uint32 | GetTypeHash () |
|
![]() ![]() ![]() |
FName | GetTypeName () |
|
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() |
FString | ||
![]() ![]() ![]() |
FReal | PhiWithNormal
(
const FVec3& X, |
Return the distance to the surface. |
![]() ![]() ![]() |
FReal | PhiWithNormalScaled
(
const FVec3& Pos, |
Find the closest point on the surface, and return the separating distance and axis. |
![]() ![]() ![]() |
bool | Calls [GJKRaycast()](API\Runtime\Chaos\Chaos\Chaos__GJKRaycast)_, which may return true_ but 0 for OutTime_, which means the bodies are touching, but not by enough to determine OutPosition_ and `OutNormal_ should be. |
|
![]() ![]() |
void | Serialize
(
FChaosArchive& Ar |
|
![]() ![]() |
void | ||
![]() ![]() ![]() |
FString | ToString () |
Operators
Typedefs
Name | Description |
---|---|
FAABB3Type | |
FPlaneType | |
FRealType | |
FVec3Type | |
TType |
Constants
Name | Description |
---|---|
D |