Navigation
Unreal Engine C++ API Reference > Plugins > OptimusCore
References
Module | OptimusCore |
Header | /Engine/Plugins/Animation/DeformerGraph/Source/OptimusCore/Public/OptimusDataDomain.h |
Include | #include "OptimusDataDomain.h" |
Syntax
USTRUCT ()
struct FOptimusDataDomain
Remarks
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.
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
TArray< FName > | DimensionNames | The name of the context that this resource/kernel applies to. |
![]() ![]() ![]() |
FString | Expression | |
![]() ![]() ![]() |
int32 | Multiplier | |
![]() ![]() ![]() |
EOptimusDataDomainType | Type |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
|||
![]() |
FOptimusDataDomain
(
TArray< FName > InDimensionNames |
||
![]() |
FOptimusDataDomain
(
FString InExpression |
||
![]() |
FOptimusDataDomain
(
const FOptimusExecutionDomain& InExecutionDomain |
||
![]() |
FOptimusDataDomain
(
TArray< FName > InDimensionNames, |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | AreCompatible
(
const FOptimusDataDomain& InOutput, |
|
![]() ![]() |
TOptional< FString > | AsExpression () |
|
![]() |
void | ||
![]() ![]() |
FOptimusDataDomain | FromString
(
const FString& InString |
Create a data domain object from a serializable string generated by the above function. |
![]() ![]() |
FString | ||
![]() ![]() |
TSet< FName > | ||
![]() ![]() |
bool | ||
![]() ![]() |
bool | Convenience function to check if this data domain is Multi-dimensional | |
![]() ![]() |
bool | Convenience function to check if this data domain is One-dimensional | |
![]() ![]() |
bool | IsSingleton () |
Convenience function to check if this data domain is a singleton |
![]() ![]() |
int | ||
![]() |
void | PostSerialize
(
const FArchive& Ar |
|
![]() ![]() |
FString | ToString () |
Convert the data domain to a text serializable string |
Operators
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | operator!=
(
const FOptimusDataDomain& InOtherDomain |
|
![]() ![]() |
bool | operator==
(
const FOptimusDataDomain& InOtherDomain |