|
Bool | GetBool (Int32 id, Bool preset=false) const |
|
Int32 | GetInt32 (Int32 id, Int32 preset=0) const |
|
Int64 | GetInt64 (Int32 id, Int64 preset=0) const |
|
void * | GetVoid (Int32 id, void *preset=nullptr) const |
|
Float | GetFloat (Int32 id, Float preset=0.0) const |
|
Vector | GetVector (Int32 id, const Vector &preset=Vector()) const |
|
Matrix | GetMatrix (Int32 id, const Matrix &preset=Matrix()) const |
|
String | GetString (Int32 id, const String &preset=String()) const |
|
BaseTime | GetTime (const Int32 id) |
|
BaseList2D * | GetLink (const Int32 id) |
|
Filename | GetFilename (Int32 id, const Filename &preset=Filename()) const |
|
const CustomDataType * | GetCustomDataType (Int32 id, Int32 datatype) const |
|
BaseContainer | GetContainer (Int32 id) const |
|
BaseContainer * | GetContainerInstance (Int32 id) const |
|
BaseObject * | GetObjectLink (Int32 id) const |
|
Bool | GetParameter (const DescID &id, GeData &data) |
|
|
void | MergeContainer (const BaseContainer &src) |
|
void | SetBool (Int32 id, Bool b) |
|
void | SetInt32 (Int32 id, Int32 l) |
|
void | SetUInt32 (Int32 id, UInt32 l) |
|
void | SetInt64 (Int32 id, Int64 l) |
|
void | SetUInt64 (Int32 id, UInt64 l) |
|
void | SetFloat (Int32 id, Float r) |
|
void | SetVoid (Int32 id, void *v) |
|
void | SetVector (Int32 id, const Vector &v) |
|
void | SetMatrix (Int32 id, const Matrix &m) |
|
void | SetString (Int32 id, const String &str) |
|
void | SetTime (const Int32 id, const BaseTime &s) |
|
void | SetLink (const Int32 id, BaseList2D *bl) |
|
void | SetFilename (const Int32 id, const Filename &s) |
|
void | SetContainer (const Int32 id, const BaseContainer &bc) |
|
Bool | SetParameter (const DescID &id, const GeData &t_data) |
|
Bool | RemoveParameter (const DescID &id) |
|
|
| ~GeContainer () |
|
void | SDKInit (Int32 id) |
|
void | ClearDirty () |
|
void | SetDirty () |
|
void | RestoreDirty (UInt32 dirty) |
|
Bool | IsDirty () |
|
UInt32 | GetDirty () |
|
BaseContainer * | GetClone (COPYFLAGS flags, AliasTrans *aliastrans) const |
|
void | CopyTo (BaseContainer *dest, COPYFLAGS flags, AliasTrans *aliastrans) const |
|
void | FlushAll () |
|
Int32 | GetId () const |
|
void | SetId (Int32 c_id) |
|
GeData * | InsData (Int32 id, const GeData &n) |
|
GeData * | InsDataAfter (Int32 id, const GeData &n, GeData *last) |
|
BaseContainer * | InsContainer (Int32 id, const BaseContainer &gc) |
|
GeData * | SetData (Int32 id, const GeData &n) |
|
Bool | RemoveData (Int32 id) |
|
Bool | RemoveIndex (Int32 i) |
|
Int32 | FindIndex (Int32 id) const |
|
Int32 | GetIndexId (Int32 index) const |
|
GeData * | GetIndexData (Int32 index) const |
|
const GeData & | GetData (Int32 id) const |
|
| GeContainer () |
|
| GeContainer (Int32 id) |
|
| GeContainer (const BaseContainer &n) |
|
void | _SDKInit (Int32 id) |
|
void | _ClearDirty () |
|
void | _SetDirty () |
|
Bool | _IsDirty () |
|
UInt32 | _GetDirty () |
|
BaseContainer * | _GetClone (COPYFLAGS flags, AliasTrans *aliastrans) const |
|
void | _CopyTo (BaseContainer *dest, COPYFLAGS flags, AliasTrans *aliastrans) const |
|
const GeContainer & | operator= (const GeContainer &n) |
|
void | _FlushAll () |
|
Int32 | _GetId () const |
|
void | _SetId (Int32 c_id) |
|
GeData * | _InsData (Int32 id, const GeData &n) |
|
GeData * | _InsDataAfter (Int32 id, const GeData &n, GeData *last) |
|
BaseContainer * | _InsContainer (Int32 id, const BaseContainer &gc) |
|
GeData * | _SetData (Int32 id, const GeData &n) |
|
Bool | _RemoveData (Int32 id) |
|
Bool | _RemoveIndex (Int32 i) |
|
Int32 | _FindIndex (Int32 id) const |
|
Int32 | _GetIndexId (Int32 index) const |
|
GeData * | _GetIndexData (Int32 index) const |
|
const GeData & | _GetData (Int32 id) const |
|
GeDataList * | First |
|
GeDataList * | Last |
|
Int32 | Id |
|
UInt16 | dirty_sum |
|
UInt16 | dirty_last |
|
void * | future_enhancements |
|
A container is a collection of individual values. Each value has its own ID and type. Container can also carry any number of child containers.
90% of Cinema 4D's internal values are stored in containers and all messages are working with container, so this class is an essential part of the Cineware SDK.
Containers can store any GeData type, including custom data types. Use GetCustomDataType() to access these values in a safe manner.
- Warning
- Keep in mind that there is no guarantee for a value to be in the container. Use default values whenever possible when accessing container's ID data.
Please use the typed access methods (for example GetBool()) whenever possible, instead of the low-level GetData().
Once a container value has been set using one type you must neither try to access it using another type, nor overwrite it with a value of another type! Using the wrong access will not crash, but it is illegal.
Example: Set and get data.
if (op->SetParameter(12345, GeData(
Vector(1.0,2.0,3.0))))
{
if (op->GetParameter(12345, data))
{
Vector vec = data.GetVector();
printf(" - VTEST: %f %f %f\n", vec.x, vec.y, vec.z);
data = 5.0;
{
if (op->GetParameter(12345, data))
{
vec = data.GetVector();
printf(" - VTEST: %f %f %f\n", vec.x, vec.y, vec.z);
}
printf(" - VTEST: %f", data.GetReal());
}
}
}