UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ImplicitObjectType.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Chaos/Core.h"
5
6namespace Chaos
7{
8 namespace ImplicitObjectType
9 {
10 enum
11 {
12 //Note: add entries in order to avoid serialization issues (but before IsInstanced)
13 Sphere = 0, // warning: code assumes that this is an FSphere, but all TSpheres will think this is their type.
26 DEPRECATED_Scaled, //needed for serialization of existing data
32 //Add entries above this line for serialization
33 ConcreteObjectCount, // Used to ensure bitflags do not overlap concrete type
35 IsInstanced = 1 << 6,
36 IsScaled = 1 << 7
37 };
38 static_assert(ConcreteObjectCount <= IsWeightedLattice, "Too many Chaos::ImplicitObjectType concrete types.");
39 }
40
41 using EImplicitObjectType = uint8; //see ImplicitObjectType
42
44 {
45 return (Type & ImplicitObjectType::IsInstanced) != 0;
46 }
47
49 {
50 return (Type & ImplicitObjectType::IsScaled) != 0;
51 }
52
57
62
63 namespace EImplicitObject
64 {
65 enum Flags
66 {
69 DisableCollisions = 1 << 2
70 };
71
73 }
74
75
77 {
78 static const FName Names[] =
79 {
80 TEXT("EImplicitObjectType:Sphere"),
81 TEXT("EImplicitObjectType:Box"),
82 TEXT("EImplicitObjectType:Plane"),
83 TEXT("EImplicitObjectType:Capsule"),
84 TEXT("EImplicitObjectType:Transformed"),
85 TEXT("EImplicitObjectType:Union"),
86 TEXT("EImplicitObjectType:LevelSet"),
87 TEXT("EImplicitObjectType:Unknown"),
88 TEXT("EImplicitObjectType:Convex"),
89 TEXT("EImplicitObjectType:TaperedCylinder"),
90 TEXT("EImplicitObjectType:Cylinder"),
91 TEXT("EImplicitObjectType:TriangleMesh"),
92 TEXT("EImplicitObjectType:HeightField"),
93 TEXT("EImplicitObjectType:DEPRECATED_Scaled"),
94 TEXT("EImplicitObjectType:Triangle"),
95 TEXT("EImplicitObjectType:UnionClustered"),
96 TEXT("EImplicitObjectType:TaperedCapsule"),
97 TEXT("EImplicitObjectType:MLLevelSet"),
98 TEXT("EImplicitObjectType:SkinnedTriangleMesh"),
99 };
100
102
103 return Names[Val];
104 }
105
106}
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
#define UE_ARRAY_COUNT(array)
Definition UnrealTemplate.h:212
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
const int32 FiniteConvex
Definition ImplicitObjectType.h:72
Flags
Definition ImplicitObjectType.h:66
@ IsConvex
Definition ImplicitObjectType.h:67
@ HasBoundingBox
Definition ImplicitObjectType.h:68
@ DisableCollisions
Definition ImplicitObjectType.h:69
@ TriangleMesh
Definition ImplicitObjectType.h:24
@ IsInstanced
Definition ImplicitObjectType.h:35
@ Union
Definition ImplicitObjectType.h:18
@ LevelSet
Definition ImplicitObjectType.h:19
@ TaperedCylinder
Definition ImplicitObjectType.h:22
@ SkinnedTriangleMesh
Definition ImplicitObjectType.h:31
@ IsScaled
Definition ImplicitObjectType.h:36
@ ConcreteObjectCount
Definition ImplicitObjectType.h:33
@ Plane
Definition ImplicitObjectType.h:15
@ Convex
Definition ImplicitObjectType.h:21
@ Cylinder
Definition ImplicitObjectType.h:23
@ HeightField
Definition ImplicitObjectType.h:25
@ IsWeightedLattice
Definition ImplicitObjectType.h:34
@ Box
Definition ImplicitObjectType.h:14
@ Capsule
Definition ImplicitObjectType.h:16
@ MLLevelSet
Definition ImplicitObjectType.h:30
@ Sphere
Definition ImplicitObjectType.h:13
@ TaperedCapsule
Definition ImplicitObjectType.h:29
@ DEPRECATED_Scaled
Definition ImplicitObjectType.h:26
@ Triangle
Definition ImplicitObjectType.h:27
@ Transformed
Definition ImplicitObjectType.h:17
@ Unknown
Definition ImplicitObjectType.h:20
@ UnionClustered
Definition ImplicitObjectType.h:28
Definition SkeletalMeshComponent.h:307
FName GetImplicitObjectTypeName(EImplicitObjectType Val)
Definition ImplicitObjectType.h:76
FORCEINLINE bool IsWeightedLattice(EImplicitObjectType Type)
Definition ImplicitObjectType.h:53
uint8 EImplicitObjectType
Definition ImplicitObjectType.h:41
FORCEINLINE bool IsInstanced(EImplicitObjectType Type)
Definition ImplicitObjectType.h:43
FORCEINLINE bool IsScaled(EImplicitObjectType Type)
Definition ImplicitObjectType.h:48
FORCEINLINE EImplicitObjectType GetInnerType(EImplicitObjectType Type)
Definition ImplicitObjectType.h:58