BaseDraw Class Reference

#include <c4d_basedraw.h>

Inheritance diagram for BaseDraw:

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 (cineware::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 GetType () const
 
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 ()
 

Private Attributes

BaseDrawPref _bpref
 
BaseLink s_link
 
BaseObjected_camera
 

Friends

class BaseDocument
 
class ViewPanel
 

Constructor/Destructor

 BaseDraw ()
 
 ~BaseDraw ()
 

Alloc/Free

static BaseDrawAlloc ()
 
static void Free (BaseDraw *&bd)
 

Get/Set Parameter

GeData GetParameterData (Int32 id, const GeData &data=GeData())
 
virtual Bool GetParameter (const DescID &id, GeData &t_data)
 
virtual Bool SetParameter (const DescID &id, const GeData &t_data)
 

Clone/Copy

virtual BaseList2DGetClone (COPYFLAGS flags, AliasTrans *trans)
 

Editor Camera

BaseObjectGetSceneCamera (const BaseDocument *doc)
 
void SetSceneCamera (BaseObject *op, Bool animate=false)
 
BaseObjectGetEditorCamera ()
 

Private

virtual Bool CopyToX (PrivateChunk *dst, COPYFLAGS flags, AliasTrans *trn)
 
const BaseDrawPrefGetBaseDrawPrefs ()
 
virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
 
virtual Bool Write (HyperFile *hf)
 

Additional Inherited Members

- Protected Member Functions inherited from BaseList2D
void SetID (Int32 id)
 
virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 
virtual Int32 GetInstanceType () const
 
- Protected Attributes inherited from BaseList2D
Int32 m_id
 
RootShader mp_rootshader
 
RootShader mp_rootshader_hidden
 
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
 

Detailed Description

Represents a Cinema 4D view window that can be drawn into.

Note
Has to be created with Alloc() and destroyed with Free().

Member Typedef Documentation

◆ SUPER

typedef BaseList2D SUPER

Constructor & Destructor Documentation

◆ BaseDraw()

BaseDraw ( )

Default constructor.

◆ ~BaseDraw()

~BaseDraw ( )

Default destructor.

Member Function Documentation

◆ IsInstanceOf()

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

Reimplemented from BaseList2D.

◆ Alloc()

static BaseDraw* Alloc ( )
static

Allocates a base draw. Destroy the allocated base draw with Free().

Returns
The allocated base draw, or nullptr if the allocation failed.

◆ Free()

static void Free ( BaseDraw *&  bd)
static

Destructs base draws allocated with Alloc().

Parameters
[in,out]bdThe base draw to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆ GetParameterData()

GeData GetParameterData ( Int32  id,
const GeData data = GeData() 
)

Convenience method to get base draw parameters:

{
GeData t_data;
BaseList2D::GetParameter(DescLevel(id), t_data, 0);
return t_data;
}
Parameters
[in]idA parameter ID. See dbasedraw.h description file.
[in]dataOptionally assign the parameter data.
Returns
The parameter data for id.

◆ GetParameter()

virtual Bool GetParameter ( const DescID id,
GeData t_data 
)
virtual

Gets a base draw parameter.

Parameters
[in]idThe ID of the parameter.
[in]t_dataAssigned the parameter data.
Returns
true if the parameter was retrieved, otherwise false.

◆ SetParameter()

virtual Bool SetParameter ( const DescID id,
const GeData t_data 
)
virtual

Sets a base draw parameter.

Parameters
[in]idThe ID of the parameter.
[in]t_dataThe parameter data to set.
Returns
true if the parameter was set, otherwise false.

◆ GetClone()

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

Gets a clone/copy of the base draw.

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

Reimplemented from BaseList2D.

◆ GetSceneCamera()

BaseObject* GetSceneCamera ( const BaseDocument doc)

Gets the current scene camera from the passed document.

Since
17.008
Parameters
[in]docThe document to get the scene camera from. The caller owns the pointed document.
Returns
The scene camera, or nullptr if no scene camera is used.

◆ SetSceneCamera()

void SetSceneCamera ( BaseObject op,
Bool  animate = false 
)

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

Since
17.008
Parameters
[in]opThe new camera.
[in]animatePrivate.

◆ GetEditorCamera()

BaseObject* GetEditorCamera ( )

Gets the editor camera.

Returns
The editor camera. Cineware SDK owns the pointed camera.

◆ CopyToX()

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

Private.

Reimplemented from BaseList2D.

◆ GetBaseDrawPrefs()

const BaseDrawPref& GetBaseDrawPrefs ( )

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

◆ BaseDocument

friend class BaseDocument
friend

◆ ViewPanel

friend class ViewPanel
friend

Member Data Documentation

◆ _bpref

BaseDrawPref _bpref
private

◆ s_link

BaseLink s_link
private

◆ ed_camera

BaseObject* ed_camera
private
cineware::BaseDraw::GetParameterData
GeData GetParameterData(Int32 id, const GeData &data=GeData())
cineware::Int32
int32_t Int32
32 bit signed integer datatype.
Definition: c4d_system.h:186
cineware::PrivateChunk::GetParameter
Bool GetParameter(Int32 id, GeData &data)