This is the material base class that all materials in Cinema 4D are derived from. 
- Note
 - Has to be created with Alloc() and destroyed with Free(). Use AutoAlloc to automate the allocation and destruction based on scope. 
 
 | 
| BaseList2D *  | GetNext () | 
|   | 
| BaseList2D *  | GetPred () | 
|   | 
| void  | SetBit (Int32 mask) | 
|   | 
| Bool  | GetBit (Int32 mask) const | 
|   | 
| void  | DelBit (Int32 mask) | 
|   | 
| void  | ToggleBit (Int32 mask) | 
|   | 
| Int32  | GetAllBits () const | 
|   | 
| void  | SetAllBits (Int32 bits) | 
|   | 
| BaseContainer  | GetData () | 
|   | 
| void  | SetData (const BaseContainer &bc, Bool add=true) | 
|   | 
| const BaseContainer *  | GetDataInstance () const | 
|   | 
| BaseContainer *  | GetDataInstance () | 
|   | 
| const BaseContainer &  | GetDataInstanceRef () const | 
|   | 
| BaseContainer &  | GetDataInstanceRef () | 
|   | 
| String  | GetName () const | 
|   | 
| void  | SetName (const maxon::String &name) | 
|   | 
| String  | GetBubbleHelp () | 
|   | 
| Bool  | TransferGoal (BaseList2D *dst, Bool undolink) | 
|   | 
| Bool  | TransferMarker (BaseList2D *dst) const | 
|   | 
| Bool  | Scale (Float scale) | 
|   | 
| Bool  | Edit () | 
|   | 
| void  | GetIcon (IconData *dat) | 
|   | 
| GeListHead *  | GetNLARoot () | 
|   | 
| BaseList2D *  | AnimationLayerRemap (BaseObject **layer=nullptr) | 
|   | 
| String  | GetTypeName () | 
|   | 
| BaseList2D *  | GetMain () const | 
|   | 
| void  | InsertTrackSorted (CTrack *track) | 
|   | 
| Bool  | AddEventNotification (BaseList2D *bl, NOTIFY_EVENT eventid, NOTIFY_EVENT_FLAG flags, const BaseContainer *data) | 
|   | 
| Bool  | RemoveEventNotification (BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid) | 
|   | 
| Bool  | FindEventNotification (BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid) | 
|   | 
| Bool  | SetDescIDState (const DescID &id, DESCIDSTATE descidstate) | 
|   | 
| DESCIDSTATE  | GetDescIDState (const DescID &id, Bool tolerant) const | 
|   | 
| GeListHead *  | GetOverrideRoot () | 
|   | 
| BaseOverride *  | GetFirstOverride () | 
|   | 
| GeListHead *  | GetShaderRepositoryRoot () | 
|   | 
| GeListHead *  | GetHiddenShaderRoot () | 
|   | 
| maxon::NimbusInterface *  | GetNimbusRef (const maxon::Id &spaceId) const | 
|   | 
| maxon::Result< maxon::NimbusInterface * >  | GetOrCreateNimbusRef (const maxon::Id &spaceId) | 
|   | 
| void  | RemoveNimbusRef (const maxon::Id &spaceId) | 
|   | 
| maxon::Result< maxon::HashMap< maxon::Id, maxon::ForwardRef< maxon::NimbusRef > > >  | GetAllNimbusRefs () const | 
|   | 
| Bool  | IsNodeBased () const | 
|   | 
| void  | GetMarkerStampEx (UInt32 *l1, UInt32 *l2) | 
|   | 
| const GeMarker &  | GetMarker () const | 
|   | 
| void  | SetMarker (const GeMarker &m) | 
|   | 
| Bool  | AddUniqueID (Int32 appid, const Char *const mem, Int bytes) | 
|   | 
| Bool  | FindUniqueID (Int32 appid, const Char *&mem, Int &bytes) const | 
|   | 
| Int32  | GetUniqueIDCount () const | 
|   | 
| Bool  | GetUniqueIDIndex (Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const | 
|   | 
| Bool  | SetAnimatedParameter (CTrack *track, const DescID &id, const GeData &t_data1, const GeData &t_data2, Float mix, DESCFLAGS_SET flags) | 
|   | 
| Bool  | GetAnimatedParameter (const DescID &id, GeData &t_data1, GeData &t_data2, Float &mix, DESCFLAGS_GET flags) | 
|   | 
| BaseShader *  | GetFirstShader () const | 
|   | 
| void  | InsertShader (BaseShader *shader, BaseShader *pred=nullptr) | 
|   | 
| void  | ClearKeyframeSelection () | 
|   | 
| Bool  | FindKeyframeSelection (const DescID &id) | 
|   | 
| Bool  | SetKeyframeSelection (const DescID &id, Bool selection) | 
|   | 
| Bool  | KeyframeSelectionContent () | 
|   | 
| LayerObject *  | GetLayerObject (BaseDocument *doc) | 
|   | 
| Bool  | SetLayerObject (LayerObject *layer) | 
|   | 
| const LayerData *  | GetLayerData (BaseDocument *doc, Bool rawdata=false) | 
|   | 
| Bool  | SetLayerData (BaseDocument *doc, const LayerData &data) | 
|   | 
| GeListHead *  | GetCTrackRoot () | 
|   | 
| CTrack *  | GetFirstCTrack () | 
|   | 
| CTrack *  | FindCTrack (const DescID &id) | 
|   | 
| GeListNode *  | GetNext () | 
|   | 
| GeListNode *  | GetPred () | 
|   | 
| GeListNode *  | GetDown () | 
|   | 
| GeListNode *  | GetUp () | 
|   | 
| GeListNode *  | GetDownLast () | 
|   | 
| void  | InsertBefore (GeListNode *bl) | 
|   | 
| void  | InsertAfter (GeListNode *bl) | 
|   | 
| void  | InsertUnder (GeListNode *bl) | 
|   | 
| void  | InsertUnderLast (GeListNode *bl) | 
|   | 
| void  | Remove () | 
|   | 
| GeListHead *  | GetListHead () | 
|   | 
| Int32  | GetNodeID (Int32 index=0) const | 
|   | 
| template<typename CAST >  | 
| const CAST *  | GetNodeData (Int32 index=0) const | 
|   | 
| template<typename CAST >  | 
| CAST *  | GetNodeData (Int32 index=0) | 
|   | 
| void  | SetCustomData (GeListNode *node) | 
|   | 
| GeListNode *  | GetCustomData () | 
|   | 
| BaseDocument *  | GetDocument () | 
|   | 
| Int32  | GetBranchInfo (BranchInfo *info, Int32 max, GETBRANCHINFO flags) | 
|   | 
| Bool  | IsDocumentRelated () | 
|   | 
| Int32  | GetInfo () | 
|   | 
| Bool  | GetNBit (NBIT bit) const | 
|   | 
| UInt32  | GetNBitMask (Int32 index) const | 
|   | 
| Bool  | ChangeNBit (NBIT bit, NBITCONTROL bitmode) | 
|   | 
| Int32  | GetType () const | 
|   | 
| Int32  | GetRealType () const | 
|   | 
| Int32  | GetDiskType () const | 
|   | 
| Bool  | IsInstanceOf (Int32 id) const | 
|   | 
| Int32  | GetClassification () const | 
|   | 
| Bool  | Message (Int32 type, void *data=nullptr) | 
|   | 
| Bool  | MultiMessage (MULTIMSG_ROUTE flags, Int32 type, void *data) | 
|   | 
| C4DAtom *  | GetClone (COPYFLAGS flags, AliasTrans *trn) | 
|   | 
| Bool  | CopyTo (C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn) | 
|   | 
| Bool  | Read (HyperFile *hf, Int32 id, Int32 level) | 
|   | 
| Bool  | Write (HyperFile *hf) | 
|   | 
| Bool  | ReadObject (HyperFile *hf, Bool readheader) | 
|   | 
| Bool  | WriteObject (HyperFile *hf) | 
|   | 
| Bool  | GetDescription (Description *description, DESCFLAGS_DESC flags) | 
|   | 
| Bool  | GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags) | 
|   | 
| Bool  | SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags) | 
|   | 
| DynamicDescription *  | GetDynamicDescription () | 
|   | 
| Bool  | GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) | 
|   | 
| Bool  | TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at) | 
|   | 
| UInt32  | GetDirty (DIRTYFLAGS flags) const | 
|   | 
| void  | SetDirty (DIRTYFLAGS flags) | 
|   | 
| UInt32  | GetHDirty (HDIRTYFLAGS mask) const | 
|   | 
| void  | SetHDirty (HDIRTYFLAGS mask) | 
|   | 
| static BaseList2D *  | Alloc (Int32 type) | 
|   | 
| static void  | Free (BaseList2D *&bl) | 
|   |