Navigation
API > API/Plugins > API/Plugins/OptimusCore
A struct to specify the domain range of a resource buffer, as defined by compute kernels and data interfaces. Data domains can be multi-dimensional, expression-based, or empty. Empty domains on pins imply a single value, like a parameter.
Domains come in two flavors, either as a pre-defined list with a multiplier, or as an arithmetic expression. For domains with a multiplier, the multiplier only applies to the innermost dimension (e.g. Vertex.Bone x 2, allows for two values per-bone, but not two values per-bone and per-vertex)
The expression can take any execution domain, or none (e.g. "Vertex * 2 + 1", "Triangle * 2 + Vertex * 6", "1024"). If an expression is used, the domain is one-dimensional. As of now, expression domain comparison is done on the string level, such that "Vertex * 2" and "2 * Vertex" are not marked as compatible domains.
| Name | FOptimusDataDomain |
| Type | struct |
| Header File | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusDataDomain.h |
| Include Path | #include "OptimusDataDomain.h" |
Syntax
USTRUCT ()
struct FOptimusDataDomain
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FOptimusDataDomain
(
FString InExpression |
OptimusDataDomain.h | ||
FOptimusDataDomain
(
TArray< FName > InDimensionNames |
OptimusDataDomain.h | ||
| OptimusDataDomain.h | |||
FOptimusDataDomain
(
const FOptimusExecutionDomain& InExecutionDomain |
OptimusDataDomain.h | ||
FOptimusDataDomain
(
TArray< FName > InDimensionNames, |
OptimusDataDomain.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DimensionNames | TArray< FName > | The name of the context that this resource/kernel applies to. | OptimusDataDomain.h |
|
| Expression | FString | OptimusDataDomain.h |
|
|
| Multiplier | int32 | OptimusDataDomain.h |
|
|
| Type | EOptimusDataDomainType | OptimusDataDomain.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| OptimusDataDomain.h | |||
void BackCompFixupLevels() |
OptimusDataDomain.h | ||
FString GetDisplayName() |
OptimusDataDomain.h | ||
TSet< FName > GetUsedConstants() |
OptimusDataDomain.h | ||
bool IsFullyDefined() |
OptimusDataDomain.h | ||
bool IsMultiDimensional() |
Convenience function to check if this data domain is Multi-dimensional | OptimusDataDomain.h | |
bool IsOneDimensional() |
Convenience function to check if this data domain is One-dimensional | OptimusDataDomain.h | |
bool IsSingleton() |
Convenience function to check if this data domain is a singleton | OptimusDataDomain.h | |
int NumDimensions() |
OptimusDataDomain.h | ||
void PostSerialize
(
const FArchive& Ar |
OptimusDataDomain.h | ||
FString ToString() |
Convert the data domain to a text serializable string | OptimusDataDomain.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool AreCompatible
(
const FOptimusDataDomain& InOutput, |
OptimusDataDomain.h | ||
static FOptimusDataDomain FromString
(
const FString& InString |
Create a data domain object from a serializable string generated by the above function. | OptimusDataDomain.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool operator!=
(
const FOptimusDataDomain& InOtherDomain |
OptimusDataDomain.h | ||
bool operator==
(
const FOptimusDataDomain& InOtherDomain |
OptimusDataDomain.h |