RootObject Class Reference

#include <c4d_rootobject.h>

Inheritance diagram for RootObject:

Public Types

typedef RootList2D SUPER
 
- Public Types inherited from RootList2D
typedef GeListNode SUPER
 
- Public Types inherited from GeListNode
typedef PrivateChunk SUPER
 

Public Member Functions

virtual Bool IsInstanceOf (cineware::Int32 id) const
 
 RootObject ()
 
virtual BaseObject * AllocObject (Int32 id)
 
virtual Bool CopyToX (PrivateChunk *dst, COPYFLAGS flags, AliasTrans *trans)
 
virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
 
virtual Bool Write (HyperFile *hf)
 
- Public Member Functions inherited from RootList2D
 RootList2D ()
 
 ~RootList2D ()
 
void SetParent (GeListNode *main)
 
GeListNode * GetParent () const
 
Bool Insert (GeListNode *bl)
 
Bool InsertBefore (GeListNode *bl, GeListNode *next)
 
Bool InsertAfter (GeListNode *bl, GeListNode *pred)
 
Bool InsertLast (GeListNode *bl)
 
void Remove (GeListNode *bl)
 
virtual Bool IsListHead ()
 
void FlushAll ()
 
GeListNode * GetFirst ()
 
GeListNode * GetLast ()
 
- Public Member Functions inherited from GeListNode
 GeListNode ()
 
 ~GeListNode ()
 
virtual Bool IsBaseList ()
 
virtual Bool GetNBit (Int32 bit) const
 
virtual Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
 
BaseDocument * GetDocument ()
 
virtual Int32 GetInfo ()
 
virtual Int32 GetDiskType () const
 
GeListNode * GetPred ()
 
GeListNode * GetNext ()
 
GeListNode * GetUp ()
 
GeListNode * GetDown ()
 
GeListNode * GetDownLast ()
 
void InsertBefore (GeListNode *op)
 
void InsertAfter (GeListNode *op)
 
void Remove ()
 
void InsertUnder (GeListNode *op)
 
void InsertUnderLast (GeListNode *op)
 
RootList2D * GetListHead ()
 
Int32 GetNodeID (Int32 index=0) const
 
- Public Member Functions inherited from PrivateChunk
 PrivateChunk ()
 
Bool ReadChunk (HyperFile *hf, Bool keepin=false, Bool noheader=false)
 
virtual Int32 GetType () const
 
virtual Int32 GetInstanceType () const
 
Bool ReadObject (HyperFile *hf, Bool readheader)
 
Bool WriteObject (HyperFile *hf, Int32 type)
 
Bool CopyTo (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 
Bool GetParameter (Int32 id, GeData &data)
 
Bool SetParameter (Int32 id, const GeData &data)
 
Bool GetParameter (const DescID &id, GeData &data)
 
Bool SetParameter (const DescID &id, const GeData &data)
 
virtual Int32 GetChunkLevel ()
 
- Public Member Functions inherited from GeTempPublicNode2D< PrivateChunk >
PrivateChunk * GetNext () const
 
PrivateChunk * GetPrev () const
 
void InsertBefore (PrivateChunk *n)
 
void InsertAfter (PrivateChunk *n)
 
void Remove ()
 

Additional Inherited Members

- Protected Member Functions inherited from GeListNode
virtual GeListNode * GetClone (COPYFLAGS flags, AliasTrans *trans)
 
virtual Bool TranslateDescID (const DescID &id, DescID &res_id, GeListNode *&res_at)
 
- Protected Attributes inherited from RootList2D
GeListNode * t_real_parent
 
- Protected Attributes inherited from GeListNode
GeAliasGoal m_xgoal
 
UInt32 m_bits [4]
 
RootList2D * t_rootlist_parent
 
RootList2D * m_children
 
BaseDocument * parent_doc
 
void * unknownData
 
Int unknownDataSize
 
Int32 unknownDataLevel
 
Int32 pluginID
 

Detailed Description

Almost private except AllocObject().

Member Typedef Documentation

◆ SUPER

typedef RootList2D SUPER

Constructor & Destructor Documentation

◆ RootObject()

Default constructor.

Member Function Documentation

◆ IsInstanceOf()

virtual Bool IsInstanceOf ( cineware::Int32  id) const
virtual

Reimplemented from RootList2D.

◆ AllocObject()

virtual BaseObject* AllocObject ( Int32  id)
virtual

Overload this method to allocate an object for the root/list.
Example:

BaseObject *AlienRootObject::AllocObject(Int32 id)
{
BaseObject *obj = nullptr;
switch (id)
{
case Oline:
case Ospline:
obj = (BaseObject*)NewObj(AlienSplineObject);
if (!obj)
return nullptr;
((AlienSplineObject*)obj)->SetNodeData(NewObj(PointObjectData));
((AlienSplineObject*)obj)->GetNodeData()->SetNode((AlienSplineObject*)obj);
break;
case Oplugin:
if (!obj)
return nullptr;
break;
case Opoint:
if (!obj)
return nullptr;
break;
default:
obj = BaseObject::Alloc(id);
}
return obj;
}
Parameters
[in]idThe object type ID.
Returns
The allocated object.

◆ CopyToX()

virtual Bool CopyToX ( PrivateChunk *  dst,
COPYFLAGS  flags,
AliasTrans *  trans 
)
virtual

Private.

Reimplemented from RootList2D.

◆ HandleSubChunk()

virtual Bool HandleSubChunk ( HyperFile *  hf,
Int32  id,
Int32  level 
)
virtual

Private.

Reimplemented from RootList2D.

◆ Write()

virtual Bool Write ( HyperFile *  hf)
virtual

Private.

Reimplemented from RootList2D.

Ospline
#define Ospline
Spline - SplineObject.
Definition: c4d_parameter_ids.h:624
cineware::RootList2D::BaseObject
friend class BaseObject
Definition: c4d_rootlist2d.h:25
NewObj
#define NewObj(T,...)
Definition: c4d_system.h:224
cineware::BaseObject::Alloc
static BaseObject * Alloc(Int32 type)
Opoint
#define Opoint
Point - PointObject. For instanceof parameters in the API.
Definition: c4d_parameter_ids.h:674
Oline
#define Oline
Line.
Definition: c4d_parameter_ids.h:657
Oplugin
#define Oplugin
Object plugin - pass the plugin ID.
Definition: c4d_parameter_ids.h:672
cineware::Int32
int32_t Int32
32 bit signed integer datatype.
Definition: c4d_system.h:186