Files
UnrealEngine/Engine/Plugins/Animation/RigLogic/Source/RigLogicLib/Public/dna/DataLayer.h
2025-05-18 13:04:45 +08:00

32 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include <cstdint>
namespace dna {
enum class DataLayer : std::uint32_t {
Descriptor = 1,
Definition = 2 | Descriptor, // Implicitly loads Descriptor
Behavior = 4 | Definition, // Implicitly loads Descriptor and Definition
Geometry = 8 | Definition, // Implicitly loads Descriptor and Definition
GeometryWithoutBlendShapes = 16 | Definition, // Implicitly loads Descriptor and Definition
MachineLearnedBehavior = 32 | Definition, // Implicitly loads Definition
RBFBehavior = 64 | Behavior, // Implicitly loads Behavior
JointBehaviorMetadata = 128 | Definition, // Implicitly loads Definition
TwistSwingBehavior = 256 | Definition, // Implicitly loads Definition
All = RBFBehavior | Geometry | MachineLearnedBehavior | JointBehaviorMetadata | TwistSwingBehavior
};
inline DataLayer operator|(DataLayer lhs, DataLayer rhs) {
return static_cast<DataLayer>(static_cast<std::uint32_t>(lhs) | static_cast<std::uint32_t>(rhs));
}
enum class UnknownLayerPolicy {
Preserve,
Ignore
};
} // namespace dna