#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 |