7#include "FieldSystemTypes.generated.h"
15 Field_Set_Always UMETA(DisplayName =
"Set Always",
ToolTip =
"The particle output value will be equal to Interior-value if the particle position is inside a sphere / Exterior-value otherwise."),
16 Field_Set_IFF_NOT_Interior UMETA(DisplayName =
"Merge Interior",
ToolTip =
"The particle output value will be equal to Interior-value if the particle position is inside the sphere or if the particle input value is already Interior-Value / Exterior-value otherwise."),
17 Field_Set_IFF_NOT_Exterior UMETA(DisplayName =
"Merge Exterior",
ToolTip =
"The particle output value will be equal to Exterior-value if the particle position is outside the sphere or if the particle input value is already Exterior-Value / Interior-value otherwise."),
46 Field_Add UMETA(DisplayName =
"Add",
ToolTip =
"Add the fields output values : Output = Left + Right"),
153 Field_Kill UMETA(DisplayName =
"Kill Particle",
ToolTip =
"Disable the particles for which the field will be higher than 0."),
158 Field_DisableThreshold UMETA(DisplayName =
"Disabled Threshold",
ToolTip =
"Disable the particles if their linear and angular velocity are less than the threshold."),
159 Field_SleepingThreshold UMETA(DisplayName =
"Sleeping Threshold",
ToolTip =
"Set particles in sleeping mode if their linear and angular velocity are less than the threshold."),
196 Scalar_Kill UMETA(DisplayName =
"Kill Particle",
ToolTip =
"Disable the particles for which the field will be higher than 0."),
198 Scalar_SleepingThreshold UMETA(DisplayName =
"Sleeping Threshold",
ToolTip =
"Set particles in sleeping mode if their linear and angular velocity are less than the threshold."),
244 EFieldPhysicsType::Field_LinearVelocity,
245 EFieldPhysicsType::Field_AngularVelociy,
246 EFieldPhysicsType::Field_AngularTorque,
247 EFieldPhysicsType::Field_PositionTarget,
248 EFieldPhysicsType::Field_InitialLinearVelocity,
249 EFieldPhysicsType::Field_InitialAngularVelocity,
250 EFieldPhysicsType::Field_LinearImpulse };
255 PhysicsTypes = { EFieldPhysicsType::Field_ExternalClusterStrain,
256 EFieldPhysicsType::Field_Kill,
257 EFieldPhysicsType::Field_DisableThreshold,
258 EFieldPhysicsType::Field_SleepingThreshold,
259 EFieldPhysicsType::Field_InternalClusterStrain,
260 EFieldPhysicsType::Field_DynamicConstraint };
266 EFieldPhysicsType::Field_ActivateDisabled,
267 EFieldPhysicsType::Field_CollisionGroup,
268 EFieldPhysicsType::Field_PositionAnimated,
269 EFieldPhysicsType::Field_PositionStatic };
295 OutputType = EFieldOutputType::Field_Output_Integer;
300 OutputType = EFieldOutputType::Field_Output_Scalar;
305 OutputType = EFieldOutputType::Field_Output_Vector;
328 case EFieldOutputType::Field_Output_Vector:
330 case EFieldOutputType::Field_Output_Scalar:
332 case EFieldOutputType::Field_Output_Integer:
341 {
"Node",
"DynamicState",
"LinearForce",
"ExternalClusterStrain",
"Kill",
"LinearVelocity",
"AngularVelocity",
342 "AngularTorque",
"InternalClusterStrain",
"DisableThreshold",
"SleepingThreshold",
"PositionStatic",
343 "PositionAnimated",
"PositionTarget",
"DynamicConstraint",
"CollisionGroup",
"ActivateDisabled",
"InitialLinearVelocity",
"InitialAngularVelocity",
"LinearImpulse"};
351 EFieldPhysicsType::Field_DynamicState,
352 EFieldPhysicsType::Field_LinearForce,
353 EFieldPhysicsType::Field_ExternalClusterStrain,
354 EFieldPhysicsType::Field_Kill,
355 EFieldPhysicsType::Field_LinearVelocity,
356 EFieldPhysicsType::Field_AngularVelociy,
357 EFieldPhysicsType::Field_AngularTorque,
358 EFieldPhysicsType::Field_InternalClusterStrain,
359 EFieldPhysicsType::Field_DisableThreshold,
360 EFieldPhysicsType::Field_SleepingThreshold,
361 EFieldPhysicsType::Field_PositionStatic,
362 EFieldPhysicsType::Field_PositionAnimated,
363 EFieldPhysicsType::Field_PositionTarget,
364 EFieldPhysicsType::Field_DynamicConstraint,
365 EFieldPhysicsType::Field_CollisionGroup,
366 EFieldPhysicsType::Field_ActivateDisabled,
367 EFieldPhysicsType::Field_InitialLinearVelocity,
368 EFieldPhysicsType::Field_InitialAngularVelocity,
369 EFieldPhysicsType::Field_LinearImpulse };
415 AddGroup(
"VectorField");
423 int32 Size = AddElements(1,
"VectorField");
432 if (0 <=
Index &&
Index < NumElements(
"VectorField"))
445 for (
int32 i = 0; i < NumElements(
"VectorField"); i++)
458 return Color.GetConstArray();
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EFieldObjectType
Definition FieldSystemTypes.h:103
EFieldCullingOperationType
Definition FieldSystemTypes.h:58
EFieldFalloffType
Definition FieldSystemTypes.h:132
EWaveFunctionType
Definition FieldSystemTypes.h:28
EFieldResolutionType
Definition FieldSystemTypes.h:72
const TArray< FName > & GetFieldPhysicsNames()
Definition FieldSystemTypes.h:338
const FName & GetFieldPhysicsName(EFieldPhysicsType PhysicsType)
Definition FieldSystemTypes.h:374
const TArray< EFieldPhysicsType > & GetFieldPhysicsTypes()
Definition FieldSystemTypes.h:348
EFieldIntegerType
Definition FieldSystemTypes.h:208
TArray< EFieldPhysicsType > GetFieldTargetTypes(EFieldOutputType OutputType)
Definition FieldSystemTypes.h:236
EFieldPhysicsType
Definition FieldSystemTypes.h:148
EFieldPhysicsType GetFieldPhysicsType(const FName &PhysicsName)
Definition FieldSystemTypes.h:382
FName GetFieldOutputName(const EFieldOutputType Type)
Definition FieldSystemTypes.h:324
EFieldOperationType
Definition FieldSystemTypes.h:43
EFieldScalarType
Definition FieldSystemTypes.h:194
EFieldPositionType
Definition FieldSystemTypes.h:119
EFieldOutputType GetFieldTargetOutput(const EFieldPhysicsType FieldTarget)
Definition FieldSystemTypes.h:311
EFieldVectorType
Definition FieldSystemTypes.h:177
EFieldFilterType
Definition FieldSystemTypes.h:86
EFieldOutputType GetFieldTargetIndex(const TArray< EFieldPhysicsType > &VectorTypes, const TArray< EFieldPhysicsType > &ScalarTypes, const TArray< EFieldPhysicsType > &IntegerTypes, const EFieldPhysicsType FieldTarget, int32 &TargetIndex)
Definition FieldSystemTypes.h:279
EFieldOutputType
Definition FieldSystemTypes.h:222
EFieldPhysicsDefaultFields
Definition FieldSystemTypes.h:396
@ UMETA
Definition FieldSystemTypes.h:15
ESetMaskConditionType
Definition FieldSystemTypes.h:14
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Size
Definition VulkanMemory.cpp:4034
Definition NameTypes.h:617
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition ManagedArray.h:1099
U16 Index
Definition radfft.cpp:71
Definition FieldSystemTypes.h:409
static FName StaticType()
Definition FieldSystemTypes.h:412
TArray< FLinearColor > GetVectorColor() const
Definition FieldSystemTypes.h:453
int32 AddVectorToField(FVector3f Start, FVector3f End)
Definition FieldSystemTypes.h:421
void SetColorOnVector(int32 Index, FLinearColor Color)
Definition FieldSystemTypes.h:430
FFieldCollection()
Definition FieldSystemTypes.h:413
TArray< TPair< FVector3f, FVector3f > > GetVectorField() const
Definition FieldSystemTypes.h:438
Definition ManagedArrayCollection.h:56