Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | FHeightField |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/HeightField.h |
| Include Path | #include "Chaos/HeightField.h" |
Syntax
class FHeightField : public Chaos::FImplicitObject
Inheritance Hierarchy
- FChaosRefCountedObject → FImplicitObject → FHeightField
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FHeightField
(
TArrayView< const uint16 > InHeights, |
Chaos/HeightField.h | ||
FHeightField
(
TArray< FReal >&& Height, |
Chaos/HeightField.h | ||
FHeightField
(
const FHeightField& Other |
Chaos/HeightField.h | ||
FHeightField () |
Needed for serialization. | Chaos/HeightField.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FHeightField() |
Not required as long as FImplicitObject also has deleted move constructor (adding this causes an error on Linux build) FHeightField(FHeightField&& Other) = default; | Chaos/HeightField.h |
Structs
| Name | Remarks |
|---|---|
| FBounds2D | Struct for 2D bounds and associated operations. |
| FClosestFaceData | |
| FData | |
| FWalkingData |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FDataType | FData< uint16 > | Chaos/HeightField.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| GeomData | FDataType | Chaos/HeightField.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CachedBounds | FAABB3 | Cached when bounds are requested. Mutable to allow GetBounds to be logical const. | Chaos/HeightField.h | |
| FImplicitObject | friend | Chaos/HeightField.h | ||
| FlatGrid | TUniformGrid< FReal, 2 > | Grid for queries, faster than bounding volumes for heightfields. | Chaos/HeightField.h | |
| FlattenedBounds | FBounds2D | Bounds in 2D of the whole heightfield, to clip queries against. | Chaos/HeightField.h | |
| LocalBounds | FAABB3 | 3D bounds for the heightfield, for insertion to the scene structure | Chaos/HeightField.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CollectTriangles
(
const FAABB3& QueryBounds, |
Internal: do not use - this API will change as we optimize mesh collision. | Chaos/HeightField.h | |
void EditHeights
(
TArrayView< FReal > InHeights, |
Support for editing a subsection of the heightfield | Chaos/HeightField.h | |
void EditHeights
(
TArrayView< const uint16 > InHeights, |
Chaos/HeightField.h | ||
FClosestFaceData FindClosestFace
(
const FVec3& Position, |
Chaos/HeightField.h | ||
FReal GetHeight
(
int32 InX, |
Chaos/HeightField.h | ||
FReal GetHeight
(
int32 InIndex |
Chaos/HeightField.h | ||
FReal GetHeightAt
(
const FVec2& InGridLocationLocal |
Chaos/HeightField.h | ||
uint8 GetMaterialIndex
(
int32 InX, |
Chaos/HeightField.h | ||
uint8 GetMaterialIndex
(
int32 InIndex |
Chaos/HeightField.h | ||
uint8 GetMaterialIndexAt
(
const FVec2& InGridLocationLocal |
Chaos/HeightField.h | ||
FVec3 GetNormalAt
(
const FVec2& InGridLocationLocal |
Chaos/HeightField.h | ||
int32 GetNumCols() |
Chaos/HeightField.h | ||
int32 GetNumRows() |
Chaos/HeightField.h | ||
FVec3 GetPointScaled
(
int32 InIndex |
Chaos/HeightField.h | ||
void GetTransformedTriangle
(
const int32 TriangleIndex, |
Generate the triangle at the specified index with the specified transform (including scale) | Chaos/HeightField.h | |
bool GJKContactPoint
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const FConvex& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const FSphere& QueryGeom, |
Chaos/HeightField.h | ||
bool GJKContactPoint
(
const FCapsule& QueryGeom, |
Chaos/HeightField.h | ||
bool IsHole
(
int32 InIndex |
Chaos/HeightField.h | ||
bool IsHole
(
int32 InCellX, |
Chaos/HeightField.h | ||
bool IsOverlappingAnyCells
(
const FAABB3& QueryBounds |
Does the mesh-space QueryBounds overlap the bounds of any cells in the heightfield? | Chaos/HeightField.h | |
bool OverlapGeom
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const FConvex& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const FCapsule& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const FSphere& QueryGeom, |
Chaos/HeightField.h | ||
bool OverlapGeom
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/HeightField.h | ||
void SetScale
(
const FVec3& InScale |
Chaos/HeightField.h | ||
bool SweepGeom
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/HeightField.h | ||
| Chaos/HeightField.h | |||
| Chaos/HeightField.h | |||
bool SweepGeom
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeom
(
const FSphere& QueryGeom, |
Chaos/HeightField.h | ||
| Chaos/HeightField.h | |||
bool SweepGeom
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/HeightField.h | ||
| Chaos/HeightField.h | |||
bool SweepGeomCCD
(
const TImplicitObjectScaled< TBox< FReal, 3 > >& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeomCCD
(
const FConvex& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeomCCD
(
const FCapsule& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeomCCD
(
const TBox< FReal, 3 >& QueryGeom, |
Chaos/HeightField.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/HeightField.h | |
bool SweepGeomCCD
(
const TImplicitObjectScaled< FSphere >& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< FConvex >& QueryGeom, |
Chaos/HeightField.h | ||
bool SweepGeomCCD
(
const TImplicitObjectScaled< FCapsule >& QueryGeom, |
Chaos/HeightField.h | ||
void VisitTriangles
(
const FAABB3& QueryBounds, |
Visit all triangles transformed into the specified space. | Chaos/HeightField.h |
Overridden from FImplicitObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const FAABB3 BoundingBox() |
Chaos/HeightField.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/HeightField.h | |
virtual int32 FindMostOpposingFace
(
const FVec3& Position, |
Returns the most opposing face. | Chaos/HeightField.h | |
virtual uint16 GetMaterialIndex
(
uint32 HintIndex |
Chaos/HeightField.h | ||
virtual uint32 GetTypeHash() |
Chaos/HeightField.h | ||
virtual FName GetTypeName () |
Chaos/HeightField.h | ||
virtual bool IsOverlappingBoundsImpl
(
const FAABB3& LocalBounds |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/HeightField.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/HeightField.h | |
virtual FReal PhiWithNormal
(
const FVec3& x, |
Find the closest point on the surface, and return the separating distance and axis. | Chaos/HeightField.h | |
virtual bool Raycast
(
const FVec3& StartPoint, |
This gives derived types a way to avoid calling PhiWithNormal todo: this api is confusing. | Chaos/HeightField.h | |
virtual void Serialize
(
FChaosArchive& Ar |
Chaos/HeightField.h | ||
virtual void VisitOverlappingLeafObjectsImpl
(
const FAABB3& LocalBounds, |
This should not be public, but it needs to be callable by derived classes on another instance. | Chaos/HeightField.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static const FName GetTypeName
(
const EImplicitObjectType InType |
Chaos/HeightField.h | ||
static EImplicitObjectType StaticType() |
Chaos/HeightField.h |