Overview
Basic Data Types
The MAXON API provides basic data types in an OS-independent way. Basic data types exist in both 32 and 64 bit size (e.g. maxon::Int32 and maxon::Int64). maxon::Int is the same as maxon::Int64.
See Primitive Data Types Manual (Classic) and Basic Data Types.
Int64 Int
signed 32/64 bit int, size depends on the platform
Definition: apibase.h:202
Float64 Float
Definition: apibase.h:211
int32_t Int32
32 bit signed integer datatype.
Definition: apibase.h:190
#define DiagnosticOutput(formatString,...)
Definition: debugdiagnostics.h:170
There are also special vector and matrix classes. See Vector Manual (Classic), Matrix Manual (Classic), Vectors and Matrices.
void Py_ssize_t * pos
Definition: dictobject.h:50
maxon::Vec3< maxon::Float64, 1 > Vector
Definition: ge_math.h:141
Mat3< Vec3< FLOAT > > GetTranslationMatrix(const Vec3< FLOAT > &translation)
Calculates a matrix to move / translate.
Strings
The API includes both the classic String as well as maxon::String. The String class is based on maxon::String.
See String Manual (Classic) and String Manual.
Definition: string.h:1237
Data Collections
Data can be stored and handled in array, mash maps and lists. These classes allow fast and safe handling of dynamic data.
See BaseArray Manual, Arrays Manual and MAXON API Containers & Data Collections.
{
}
Definition: basearray.h:415
MAXON_ATTRIBUTE_FORCE_INLINE ResultRef< T > Append(ARG &&x)
Appends a new element at the end of the array and constructs it using the forwarded value.
Definition: basearray.h:628
#define iferr_return
Definition: resultbase.h:1524
Classic Data Containers
The container types GeData and BaseContainer are used to store any kind of classic data type. The typical use case is to store the parameter values of objects that are based on C4DAtom like BaseObject, BaseMaterial etc.
See GeData Manual, BaseContainer Manual and C4DAtom Manual.
PyObject * value
Definition: abstract.h:715
Definition: c4d_basecontainer.h:48
Int32 GetInt32(Int32 id, Int32 preset=0) const
Definition: c4d_basecontainer.h:348
Bool SetData(Int32 id, const GeData &n)
Definition: c4d_basecontainer.h:274
const GeData & GetData(Int32 id) const
Definition: c4d_basecontainer.h:290
void SetInt32(Int32 id, Int32 l)
Definition: c4d_basecontainer.h:587
Definition: c4d_gedata.h:83
void SetInt32(Int32 v)
Definition: c4d_gedata.h:645
Int32 GetInt32() const
Definition: c4d_gedata.h:456
maxon::Int32 Int32
Definition: ge_sys_math.h:56
MAXON API Data Containers
The MAXON API equivalent to GeData and BaseContainer are maxon::Data and maxon::DataDictionary. These classes are used to store any kind of MAXON API data type. A maxon::DataDictionary is often used to define settings of a complex operation.
See Data Manual and DataDictionary Manual.
maxon::DataDictionary dictionary;
const maxon::Data & GetData() const
Definition: c4d_gedata.h:535
Definition: datatypebase.h:1740
Definition: datatypebase.h:1229
Result< void > Set(T &&data)
Definition: datatypebase.h:1378
Result< typename std::conditional< GetCollectionKind< T >::value==COLLECTION_KIND::ARRAY, T, typename ByValueParam< T >::type >::type > Get() const
Definition: datatypebase.h:1389
Stream Conversions
maxon::StreamConversionInterface is a generic interface for any kind of data conversion. Examples are data compression, encryption or the calculation of hash values.
See Stream Conversions Manual.
const maxon::StreamConversionRef md5 = maxon::StreamConversions::HashMD5().Create()
iferr_return;
PyObject Py_hash_t hash
Definition: dictobject.h:35
const Py_UNICODE * source
Definition: unicodeobject.h:54
Result< String > GetHashString(const BaseArray< UChar > &hashValue)
PyObject * text
Definition: pycore_traceback.h:70
Custom Data Types
Classic custom data types are based on iCustomDataType and CustomDataTypeClass. Such custom data types can be stored in GeData and BaseContainer objects.
New MAXON API data types are registered using the MAXON_DATATYPE attribute. Such data types can be stored in maxon::Data and maxon:DataDictionary objects.
See MAXON Data Type.