#include <c4d_fielddata.h>
Input-output structure used to share some data between fields. NOTE: to avoid multi-threading issues, it is not allowed to write to it during Sampling (Sample method) calls. Most uses should write to it during FreeSampling.
Public Types | |
typedef maxon::StrongRef< maxon::BlockArray< Float > > | ValueArrayRef |
typedef maxon::StrongRef< BaseContainer > | CustomDataRef |
Public Member Functions | |
FieldShared ()=default | |
~FieldShared ()=default | |
FieldShared (FieldShared &&src) | |
MAXON_OPERATOR_MOVE_ASSIGNMENT (FieldShared) | |
void | Flush () |
maxon::Result< void > | CopyFrom (const FieldShared &src) |
void | ResetDirty () |
Public Attributes | |
ValueArrayRef | _finalOutput |
UInt32 | _finalOutputDirty |
CustomDataRef | _customData |
UInt32 | _customDataDirty |
Private Member Functions | |
MAXON_DISALLOW_COPY_AND_ASSIGN (FieldShared) | |
typedef maxon::StrongRef<maxon::BlockArray<Float> > ValueArrayRef |
typedef maxon::StrongRef<BaseContainer> CustomDataRef |
Used for sharing very specific data that most fields won't use. The BaseContainer allows sharing more complex data types.
|
default |
Empty constructor.
|
default |
Destructor.
FieldShared | ( | FieldShared && | src | ) |
Move constructor
[in] | src | Move source. |
MAXON_OPERATOR_MOVE_ASSIGNMENT | ( | FieldShared | ) |
void Flush | ( | ) |
Resets the shared data and deallocates the memory.
maxon::Result<void> CopyFrom | ( | const FieldShared & | src | ) |
Copies from the FieldShared described by src.
[in] | src | Source for the duplication. |
void ResetDirty | ( | ) |
Resets the dirty counts/flags to non dirty. Should be done before shared data is used for any sampling to allow layers to update data within correctly.
|
private |
ValueArrayRef _finalOutput |
UInt32 _finalOutputDirty |
Used for saving a field list's final output. Can be reused on next eval.
CustomDataRef _customData |
UInt32 _customDataDirty |