BaseDocument Class Reference

#include <c4d_basedocument.h>

Inheritance diagram for BaseDocument:

Public Types

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

Public Member Functions

virtual Bool IsInstanceOf (melange::Int32 id) const
 
- Public Member Functions inherited from BaseList2D
 BaseList2D ()
 
virtual ~BaseList2D ()
 
BaseList2DGetNext ()
 
BaseList2DGetPred ()
 
NodeDataGetNodeData ()
 
void SetNodeData (NodeData *data)
 
void SetBit (Int32 mask)
 
Bool GetBit (Int32 mask)
 
void DelBit (Int32 mask)
 
void ToggleBit (Int32 mask)
 
Int32 GetAllBits ()
 
void SetAllBits (Int32 bits)
 
BaseContainer GetData ()
 
BaseContainerGetDataInstance ()
 
BaseContainerGetDataInstanceRef ()
 
const StringGetName ()
 
void SetName (const String &new_name)
 
const GeMarkerGetMarker () 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
 
BaseShaderGetFirstShader ()
 
Bool InsertShader (BaseShader *shader, BaseShader *pred=nullptr)
 
Bool InsertShaderLast (BaseShader *shader)
 
RootCTrackGetCTrackRoot ()
 
CTrackGetFirstCTrack ()
 
CTrackFindCTrack (const DescID &id)
 
Bool AppendCTrack (CTrack *t)
 
void InsertTrackSorted (CTrack *track)
 
virtual Int32 GetDiskType () const
 
LayerObjectGetLayerObject ()
 
void SetLayerObject (LayerObject *layer)
 
const LayerDataGetLayerData (BaseDocument *doc, Bool rawdata=false)
 
Bool SetLayerData (BaseDocument *doc, const LayerData &data)
 
DynamicDescriptionGetDynamicDescription ()
 
virtual Bool IsBaseList ()
 
virtual void Remove ()
 
Bool SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
 
DESCIDSTATE GetDescIDState (const DescID &id, Bool tolerant) const
 
RootPluginNodeGetOverrideRoot ()
 
BaseOverrideGetFirstOverride ()
 
virtual Bool TranslateDescID (const DescID &id, DescID &res_id, GeListNode *&res_at)
 
- Public Member Functions inherited from GeListNode
 GeListNode ()
 
 ~GeListNode ()
 
virtual Bool GetNBit (Int32 bit) const
 
virtual Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
 
BaseDocumentGetDocument ()
 
virtual Int32 GetInfo ()
 
GeListNodeGetPred ()
 
GeListNodeGetNext ()
 
GeListNodeGetUp ()
 
GeListNodeGetDown ()
 
GeListNodeGetDownLast ()
 
void InsertBefore (GeListNode *op)
 
void InsertAfter (GeListNode *op)
 
void Remove ()
 
void InsertUnder (GeListNode *op)
 
void InsertUnderLast (GeListNode *op)
 
RootList2DGetListHead ()
 
Int32 GetNodeID (Int32 index=0) const
 
- Public Member Functions inherited from PrivateChunk
 PrivateChunk ()
 
Bool ReadChunk (HyperFile *hf, Bool keepin=false, Bool noheader=false)
 
virtual Bool IsListHead ()
 
Bool ReadObject (HyperFile *hf, Bool readheader)
 
Bool WriteObject (HyperFile *hf, Int32 type)
 
Bool CopyTo (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
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 >
PrivateChunkGetNext () const
 
PrivateChunkGetPrev () const
 
void InsertBefore (PrivateChunk *n)
 
void InsertAfter (PrivateChunk *n)
 
void Remove ()
 

Protected Member Functions

void CopyToPresetSettings (const CKey &fromKey)
 
void RestoreFromPresetSettings (CKey &toKey) const
 
- Protected Member Functions inherited from BaseList2D
void SetID (Int32 id)
 
virtual Int32 GetInstanceType () const
 

Protected Attributes

CDefaultKey cdefaultkey
 
CDefaultKey cCustomkey
 
- Protected Attributes inherited from BaseList2D
Int32 m_id
 
RootShader mp_rootshader
 
RootShader root_shader_repository
 
Int32 l_bitfeld
 
RootCTrack mp_rootctrack
 
RootPluginNode root_override
 
NotifyListnotify_events
 
DescIdStorekeyframestore
 
DescIdStorepropstore
 
BaseContainer m_bc
 
NodeDatam_data
 
- Protected Attributes inherited from GeListNode
GeAliasGoal m_xgoal
 
UInt32 m_bits [4]
 
RootList2Dt_rootlist_parent
 
RootList2Dm_children
 
BaseDocumentparent_doc
 
void * unknownData
 
Int unknownDataSize
 
Int32 unknownDataLevel
 
Int32 pluginID
 

Private Member Functions

virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 
virtual Bool CopyToX (PrivateChunk *dst, COPYFLAGS flags, AliasTrans *trn)
 
ViewPanelGetFirstViewPanel ()
 
void ClearDocument ()
 

Private Attributes

RootObjectmp_ops
 
RootMaterialmp_mats
 
RootLayermp_layers
 
RootRenderDatamp_rdata
 
RootViewPanelmp_viewpanel
 
RootSceneHookmp_scenehook
 
Bool caches
 
BaseBitmap m_previewbitmap
 
Int32 m_loadflags
 
Int32 loadedc4dversion
 
BaseTime d_time
 
Int32 d_modus
 
Int32 l_mode
 
Int32 d_action
 
Int32 l_action
 
Int32 t_action
 
AxisState state [4]
 
Filename pfad
 
Filename name
 
DocumentPref docpref
 
BaseContainer tl_data
 
BaseContainer obj_data
 
BaseContainer mat_data
 
BaseContainer coo_data
 
BaseContainer modeling_data
 
BaseContainer modeling_plugin_data
 
TakeData _takeData
 

Friends

class CKey
 
class CCurve
 
class PrivateChunk
 
BaseDocumentLoadDocument (const Filename &name, SCENEFILTER loadflags)
 

Constructor/Destructor

 BaseDocument ()
 
virtual ~BaseDocument ()
 

Allocation/Free

virtual Int32 GetType () const
 
static BaseDocumentAlloc ()
 
static void Free (BaseDocument *&v)
 

Navigation

BaseDocumentGetNext ()
 
BaseDocumentGetPred ()
 

Cloning

virtual BaseList2DGetClone (COPYFLAGS flags, AliasTrans *trans)
 

Create from/to Cinema 4D

virtual Bool CreateSceneFromC4D ()
 
virtual Bool CreateSceneToC4D (Bool selectedOnly)
 
virtual Bool CreateObjectFromC4D (BaseObject *obj)
 
virtual Bool CreateLayerFromC4D (LayerObject *lay)
 

Get First Object/Material/RenderData/Layer

BaseObjectGetFirstObject ()
 
BaseMaterialGetFirstMaterial ()
 
RenderDataGetFirstRenderData ()
 
BaseSceneHookGetFirstSceneHook ()
 
BaseSceneHookFindSceneHook (Int32 id)
 
LayerObjectGetFirstLayer ()
 

Insert Object/Material/RenderData/Layer

Bool InsertObject (BaseObject *op, BaseObject *parent, BaseObject *pred=nullptr)
 
Bool InsertMaterial (BaseMaterial *mat, BaseMaterial *pred=nullptr)
 
Bool InsertRenderData (RenderData *rd, RenderData *parent, RenderData *pred=nullptr)
 
Bool InsertRenderDataLast (RenderData *rd)
 
Bool InsertLayer (LayerObject *pLay, LayerObject *parent, LayerObject *pred=nullptr)
 

Get/Set RenderData

RenderDataGetActiveRenderData () const
 
void SetActiveRenderData (RenderData *rd)
 

Time/Mode/Action/Fps

const BaseTimeGetTime () const
 
void SetTime (const BaseTime &new_time)
 
Int32 GetMode () const
 
void SetMode (Int32 m)
 
Int32 GetAction () const
 
void SetAction (Int32 a)
 
Int32 GetFps ()
 
void SetFps (Int32 fps)
 

Editor Views

BaseDrawGetActiveBaseDraw ()
 
BaseDrawGetRenderBaseDraw ()
 
BaseDrawGetBaseDraw (Int32 num)
 
Int32 GetBaseDrawCount ()
 
void GetDefaultClippingPlanes (Float &near, Float &far, const GeData *d=nullptr)
 

Melange Convenience Methods

BaseObjectGetSceneCamera ()
 
Bool SetSceneCamera (BaseObject *opCam)
 
BaseObjectCreateSky ()
 

Miscellaneous

virtual Bool Execute ()
 
BaseBitmapGetDocPreviewBitmap ()
 
Bool GetDefaultKey (CKey *pKey, Bool &bOverdub) const
 
void SetDefaultKey (CKey *pKey, Bool bOverdub)
 
Int32 GetLastAction () const
 
AxisStateGetState ()
 
Bool HasCaches ()
 
TakeDataGetTakeData ()
 

Private

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

Detailed Description

Contains the complete description of a Cinema 4D document.

Member Typedef Documentation

◆ SUPER

typedef BaseList2D SUPER

Constructor & Destructor Documentation

◆ BaseDocument()

Default constructor.

◆ ~BaseDocument()

virtual ~BaseDocument ( )
virtual

Default destructor.

Member Function Documentation

◆ IsInstanceOf()

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

Reimplemented from BaseList2D.

◆ GetDParameter()

virtual Bool GetDParameter ( const DescID id,
GeData data 
)
privatevirtual

Reimplemented from BaseList2D.

◆ SetDParameter()

virtual Bool SetDParameter ( const DescID id,
const GeData data 
)
privatevirtual

Reimplemented from BaseList2D.

◆ CopyToX()

virtual Bool CopyToX ( PrivateChunk dst,
COPYFLAGS  flags,
AliasTrans trn 
)
privatevirtual

Reimplemented from BaseList2D.

◆ GetFirstViewPanel()

ViewPanel* GetFirstViewPanel ( )
private

◆ ClearDocument()

void ClearDocument ( )
private

◆ CopyToPresetSettings()

void CopyToPresetSettings ( const CKey fromKey)
protected

◆ RestoreFromPresetSettings()

void RestoreFromPresetSettings ( CKey toKey) const
protected

◆ Alloc()

static BaseDocument* Alloc ( )
static

Allocates a document. Destroy the allocated document with Free().

Returns
The allocated document, or nullptr if the allocation failed.

◆ Free()

static void Free ( BaseDocument *&  v)
static

Destructs documents allocated with Alloc().

Parameters
[in,out]vThe document to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆ GetType()

virtual Int32 GetType ( ) const
virtual

Gets the object type for a document.

Note
Always returns Tbasedocument.
Returns
The object type for a BaseDocument i.e. Tbasedocument.

Reimplemented from BaseList2D.

◆ GetNext()

BaseDocument* GetNext ( )

Gets the next document in the list. Convenience version of BaseList2D::GetNext() returning a pointer to a BaseDocument.

Returns
The next document, or nullptr if there is none. Melange owns the pointed document.

◆ GetPred()

BaseDocument* GetPred ( )

Gets the previous document in the list. Convenience version of GeListNode::GetPred() returning a pointer to a BaseDocument.

Returns
The previous document, or nullptr if there is none. Melange owns the pointed document.

◆ GetClone()

virtual BaseList2D* GetClone ( COPYFLAGS  flags,
AliasTrans trans 
)
virtual

Gets a clone/copy of the document.

Parameters
[in]flagsFlags for the clone.
[in]transAn alias translator for the operation. Can be nullptr. The caller owns the pointed object.
Returns
The cloned document. The caller owns the pointed document.

Reimplemented from BaseList2D.

◆ CreateSceneFromC4D()

virtual Bool CreateSceneFromC4D ( )
virtual

Creates a scene from a Cinema 4D file in the external application.
The method goes through the scene structure (objects, material, layer) and build the scene, it calls the execute function of the Alien classes.

See also
The articles Implementation (Melange) and Implementation on the External Side.
Returns
true if successful, otherwise false.

◆ CreateSceneToC4D()

melange::Bool CreateSceneToC4D ( melange::Bool  selectedOnly)
virtual

Must be overloaded by the user.
Creates a Cinema 4D file from the external application. The user should go through the external scene structure (objects, materials, layers) and build the Cinema 4D document.

Parameters
[in]selectedOnlyPass true to export the selection only, otherwise false.
Returns
true if successful, otherwise false.

◆ CreateObjectFromC4D()

virtual Bool CreateObjectFromC4D ( BaseObject obj)
virtual

Private.

◆ CreateLayerFromC4D()

virtual Bool CreateLayerFromC4D ( LayerObject lay)
virtual

Private.

◆ GetFirstObject()

BaseObject* GetFirstObject ( )

Gets the first object of the document. The objects in the document can be looped through with BaseObject::GetNext(), BaseObject::GetPred(), BaseObject::GetDown() etc.

Returns
The first object of the document, or nullptr if there are no objects in the document. The document owns the pointed object.

◆ GetFirstMaterial()

BaseMaterial* GetFirstMaterial ( )

Gets the first material of the document. The other materials in the document can be be looped through with BaseMaterial::GetNext() and BaseMaterial::GetPred().

Returns
The first material of the document, or nullptr if there are no materials in the document. The document owns the pointed material.

◆ GetFirstRenderData()

RenderData* GetFirstRenderData ( )

Gets the first render data/settings of the document. The other render settings in the document can be looped trough with RenderData::GetNext(), RenderData::GetPred(), RenderData::GetDown() etc.

Returns
The first render data/settings of the document, or nullptr if there are no render data/settings associated with the document. The document owns the pointed render data.

◆ GetFirstSceneHook()

BaseSceneHook* GetFirstSceneHook ( )

Gets the first scene hook of the document. The other scene hooks in the document can be looped trough with BaseSceneHook::GetNext() and BaseSceneHook::GetPred().

Since
17.008
Returns
The first scene hook of the document, or nullptr if there are no scene hook associated with the document. The document owns the pointed scene hook.

◆ FindSceneHook()

BaseSceneHook* FindSceneHook ( Int32  id)

Finds a scene hook by ID.

Since
17.008
Parameters
[in]idThe scene hook ID.
Returns
The found scene hook, or nullptr if there is no scene hook with the searched id. The document owns the pointed scene hook.

◆ GetFirstLayer()

LayerObject* GetFirstLayer ( )

Gets the first layer in the document. The other layers in the document can be looped trough with LayerObject::GetNext(), LayerObject::GetPred(), LayerObject::GetDown() etc.

Returns
The first layer of the document, or nullptr if there are no layers in the document. The document owns the pointed layer.

◆ InsertObject()

Bool InsertObject ( BaseObject op,
BaseObject parent,
BaseObject pred = nullptr 
)

Inserts the object into the document's object hierarchy.
Optionally the insertion position can either be specified by the parent parameter, inserting the object as the first child of the specified parent, or by the pred parameter, inserting the object below the specified pred object.
If neither is given, the object is inserted at the top of the hierarchy.

Note
If both parent and pred are provided then pred has precedence.
Parameters
[in]opThe object to insert into the document. The document takes over the ownership of the pointed object.
[in]parentAn optional parent object in the document to insert the object as a child of. Can be nullptr. The caller owns the pointed object.
[in]predAn optional object in the document to use as insertion point. The caller owns the pointed object.
Returns
true if successful, otherwise false.

◆ InsertMaterial()

Bool InsertMaterial ( BaseMaterial mat,
BaseMaterial pred = nullptr 
)

Inserts the material into the document's material list.
Optionally the insertion position can be specified by the pred parameter, giving the material before (just to the left of) the wanted position. Otherwise the material is inserted at the first position in the list.

Parameters
[in]matThe material to insert into the document. The document takes over the ownership of the pointed material.
[in]predAn optional material in the document to use as insertion point. The caller owns the pointed material.
Returns
true if successful, otherwise false.

◆ InsertRenderData()

Bool InsertRenderData ( RenderData rd,
RenderData parent,
RenderData pred = nullptr 
)

Inserts the render data into the document's render settings hierarchy.
Optionally the insertion position can either be specified by the parent parameter, inserting the render data as the first child of the specified parent, or by the pred parameter, inserting the render data below the specified pred render data.
If neither is given, the render data is inserted at the top of the hierarchy.

Note
If both parent and pred are provided then pred has precedence.
Parameters
[in]rdThe render data to insert. The document takes over the ownership of the pointed render data.
[in]parentAn optional parent to insert the render data as a child of. The caller owns the pointed render data.
[in]predAn optional render data of the document to use as insertion point. The caller owns the pointed render data.
Returns
true if successful, otherwise false.

◆ InsertRenderDataLast()

Bool InsertRenderDataLast ( RenderData rd)

Inserts the render data as last child into the document's render data list.

Parameters
[in]rdThe render data to insert. The document takes over the ownership of the pointed render data.
Returns
true if successful, otherwise false.

◆ InsertLayer()

Bool InsertLayer ( LayerObject pLay,
LayerObject parent,
LayerObject pred = nullptr 
)

Inserts the layer into the document's layer list.
The insertion position can either be specified by the parent parameter, inserting the layer as the first child of the specified parent, or by the pred parameter, inserting the layer below the specified pred layer.
If neither is given, the layer is inserted at the top of the hierarchy.

Note
If both parent and pred are provided then pred has precedence.
Parameters
[in]pLayThe layer to insert. The document takes over the ownership of the pointed object.
[in]parentAn optional parent to insert the layer as a child of. The caller owns the pointed layer.
[in]predAn optional layer of the document to use as insertion point. The caller owns the pointed layer.
Returns
true if successful, otherwise false.

◆ GetActiveRenderData()

RenderData* GetActiveRenderData ( ) const

Gets the active render data for the document. These are the settings used for rendering the document.

Returns
The active render data/settings. The document owns the pointed render data.

◆ SetActiveRenderData()

void SetActiveRenderData ( RenderData rd)

Sets the active render data for the document. These are the settings used for rendering the document.

Parameters
[in]rdThe render data/settings to make active. Must be in the document already. The document owns the pointed render data.

◆ GetTime()

const BaseTime& GetTime ( ) const

Gets the current time for the document's Timeline.
Here is how to get the current frame with GetTime():

Int32 fps = doc.GetFps();
BaseTime time = doc->GetTime();
frame = time.GetFrame(fps);
See also
GetFps()
Returns
The current time of the Timeline.

◆ SetTime()

void SetTime ( const BaseTime new_time)

Sets the current time for the document's Timeline.

Parameters
[in]new_timeThe new current time of the Timeline.

◆ GetMode()

Int32 GetMode ( ) const

Gets the main editor mode.

Returns
The main editor mode.

◆ SetMode()

void SetMode ( Int32  m)

Sets the main editor mode.

Parameters
[in]mThe main editor mode.

◆ GetAction()

Int32 GetAction ( ) const

Gets the current action tool in the editor.

Returns
The current action tool: ID_MODELING_MOVE, ID_MODELING_SCALE, ID_MODELING_ROTATE etc.

◆ SetAction()

void SetAction ( Int32  a)

Sets the current action tool in the editor.

Parameters
[in]aThe new action tool: ID_MODELING_MOVE, ID_MODELING_SCALE, ID_MODELING_ROTATE etc.

◆ GetFps()

Int32 GetFps ( )

Gets the number of Frames per Second (FPS).

Returns
The number of Frames per Second.

◆ SetFps()

void SetFps ( Int32  fps)

Sets the number of Frames per Second (FPS).

Parameters
[in]fpsThe new number of Frames per Second.

◆ GetActiveBaseDraw()

BaseDraw* GetActiveBaseDraw ( )

Gets the activate view in the editor.

Returns
The active view in the editor or nullptr if there is no active view. The document owns the pointed BaseDraw.

◆ GetRenderBaseDraw()

BaseDraw* GetRenderBaseDraw ( )

Gets the view the user has chosen as Render View in the editor (see View menu in Cinema 4D).

Returns
The render view in the editor or nullptr if there is no render view. The document owns the pointed BaseDraw.

◆ GetBaseDraw()

BaseDraw* GetBaseDraw ( Int32  num)

Gets the BaseDraw from one of the editor views.

Parameters
[in]numIf there are multiple views this selects the view. 0 <= num < GetBaseDrawCount()
Returns
The requested view in the editor, or nullptr if it is not available. The document owns the pointed BaseDraw.

◆ GetBaseDrawCount()

Int32 GetBaseDrawCount ( )

Gets the number of views in the editor.

Returns
The view count.

◆ GetDefaultClippingPlanes()

void GetDefaultClippingPlanes ( Float near,
Float far,
const GeData d = nullptr 
)

Gets the default near and far clipping planes values from a clipping preset or from the document clipping preset.

Parameters
[out]nearAssigned the default near clipping plane value.
[out]farAssigned the default far clipping plane value.
[in]dPass a clipping preset ID to get the near/far values for this preset instead of the values from the document preset. See DOCUMENT_CLIPPING_PRESET enum in parameter_ids\ddoc.h.

◆ GetSceneCamera()

BaseObject* GetSceneCamera ( )

Gets the current scene camera.

Returns
The scene camera, or nullptr if no scene camera is used.

◆ SetSceneCamera()

Bool SetSceneCamera ( BaseObject opCam)

Sets a new scene camera. If opCam is nullptr, the editor camera is used.

Parameters
[in]opCamThe new scene camera. If nullptr, the editor camera is used. The caller owns the pointed camera.
Returns
true if the camera could be set, otherwise false.

◆ CreateSky()

BaseObject* CreateSky ( )

Creates a Physical Sky object within the document and returns it. Basically the same as calling the Physical Sky command in Cinema 4D.
Example:
Adding sky shader object.

BaseObject *sky = newC4DDoc->CreateSky();
Returns
The newly created sky object. The document owns the pointed sky object.

◆ Execute()

virtual Bool Execute ( )
virtual

Overload this for self defined Alien document classes. Called when Melange loads a document. Example:

class AlienBaseDocument : public BaseDocument
{
public:
virtual Bool Execute();
};
Bool AlienBaseDocument::Execute()
{
// Do something with the document, for instance access the document settings
GeData data;
if (GetParameter(DOCUMENT_DOCUNIT, data) && data.GetType() == CUSTOMDATATYPE_UNITSCALE)
{
UnitScaleData* ud = (UnitScaleData*)data.GetCustomDataType(CUSTOMDATATYPE_UNITSCALE);
DOCUMENT_UNIT docUnit;
Real docScale;
ud->GetUnitScale(docScale, docUnit);
}
return true;
}
Returns
true if successful, otherwise false.

◆ GetDocPreviewBitmap()

BaseBitmap& GetDocPreviewBitmap ( )

Gets the preview bitmap for the document.
This is the same as the preview bitmap of the Windows Explorer / OS X Finder thumbnails.

Returns
The preview bitmap for the document.

◆ GetDefaultKey()

Bool GetDefaultKey ( CKey pKey,
Bool bOverdub 
) const

Gets the document's default keying settings.

Parameters
[in]pKeyAssigned the default keying settings. Melange owns the pointed key.
[in]bOverdubAssigned the document's default overdub.
Returns
true if the document's default keying settings were retrieved successfully, otherwise false.

◆ SetDefaultKey()

void SetDefaultKey ( CKey pKey,
Bool  bOverdub 
)

Sets the document's default keying settings.

Since
17.008
Parameters
[in]pKeyThe new default keying settings. Melange owns the pointed key.
[in]bOverdubThe new document's default overdub.
If a keyframe already exists, the existing keyframe's interpolation type will be maintained when a new keyframe is recorded (only the Value Key will be overwritten).

◆ GetLastAction()

Int32 GetLastAction ( ) const

Private.

◆ GetState()

AxisState* GetState ( )

Gets the state of the Axis locks and the World/Object coordinate switch.

Returns
The state of the Axis locks and the World/Object coordinate switch. Melange owns the pointed AxisState structure.

◆ HasCaches()

Bool HasCaches ( )

Checks if the scene has a polygonal object cache.
Cinema 4D has a special safe flag in the document preferences where a polygonal object cache can be saved in every file.

See also
The article Polygon and Object Caches.
Returns
true if the document was saved with polygonal caches, otherwise false.

◆ GetTakeData()

TakeData* GetTakeData ( )

Gets the take data for the document.

Since
17.008
Returns
The take data. The document owns the pointed take data.

◆ GetDocument()

virtual BaseDocument* GetDocument ( ) const
virtual

Private.

◆ HandleSubChunk()

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

Private.

Reimplemented from BaseList2D.

◆ Write()

virtual Bool Write ( HyperFile hf)
virtual

Private.

Reimplemented from BaseList2D.

Friends And Related Function Documentation

◆ CKey

friend class CKey
friend

◆ CCurve

friend class CCurve
friend

◆ PrivateChunk

friend class PrivateChunk
friend

◆ LoadDocument

BaseDocument* LoadDocument ( const Filename name,
SCENEFILTER  loadflags 
)
friend

Loads a document.

Parameters
[in]nameFile to load the document from.The caller owns the pointed document.
[in]loadflagsFlags for the load.
Returns
The document that was loaded, or nullptr if it failed.

Member Data Documentation

◆ mp_ops

RootObject* mp_ops
private

◆ mp_mats

RootMaterial* mp_mats
private

◆ mp_layers

RootLayer* mp_layers
private

◆ mp_rdata

RootRenderData* mp_rdata
private

◆ mp_viewpanel

RootViewPanel* mp_viewpanel
private

◆ mp_scenehook

RootSceneHook* mp_scenehook
private

◆ caches

Bool caches
private

◆ m_previewbitmap

BaseBitmap m_previewbitmap
private

◆ m_loadflags

Int32 m_loadflags
private

◆ loadedc4dversion

Int32 loadedc4dversion
private

◆ d_time

BaseTime d_time
private

◆ d_modus

Int32 d_modus
private

◆ l_mode

Int32 l_mode
private

◆ d_action

Int32 d_action
private

◆ l_action

Int32 l_action
private

◆ t_action

Int32 t_action
private

◆ state

AxisState state[4]
private

◆ pfad

Filename pfad
private

◆ name

Filename name
private

◆ docpref

DocumentPref docpref
private

◆ tl_data

BaseContainer tl_data
private

◆ obj_data

BaseContainer obj_data
private

◆ mat_data

BaseContainer mat_data
private

◆ coo_data

BaseContainer coo_data
private

◆ modeling_data

BaseContainer modeling_data
private

◆ modeling_plugin_data

BaseContainer modeling_plugin_data
private

◆ _takeData

TakeData _takeData
private

◆ cdefaultkey

CDefaultKey cdefaultkey
protected

◆ cCustomkey

CDefaultKey cCustomkey
protected