#include <c4d_baselist.h>
Represents a C4DAtom that resides in a 2D list.
Private Member Functions | |
BaseList2D () | |
~BaseList2D () | |
Bit | |
static const Int32 | SETBIT_FLAG_NODIRTY |
static const Int32 | SETBIT_FLAG_REMOVE |
void | SetBit (Int32 mask) |
Bool | GetBit (Int32 mask) const |
void | DelBit (Int32 mask) |
void | ToggleBit (Int32 mask) |
Int32 | GetAllBits () const |
void | SetAllBits (Int32 bits) |
void | SetBitEx (Int32 mask, Int32 flags) |
Alloc/Free | |
static BaseList2D * | Alloc (Int32 type) |
static void | Free (BaseList2D *&bl) |
const Char * | GetViewportRenderId (VIEWPORT_RENDER_ID typeId) const |
Navigation | |
BaseList2D * | GetNext () |
const BaseList2D * | GetNext () const |
BaseList2D * | GetPred () |
const BaseList2D * | GetPred () const |
Container | |
BaseContainer | GetData () |
void | SetData (const BaseContainer &bc, Bool add=true) |
const BaseContainer & | GetDataInstanceRef () const |
BaseContainer & | GetDataInstanceRef () |
const BaseContainer * | GetDataInstance () const |
BaseContainer * | GetDataInstance () |
Name | |
String | GetName () const |
void | SetName (const maxon::String &name, Bool setDirty=true) |
Marker | |
void | GetMarkerStampEx (UInt32 *l1, UInt32 *l2) |
const GeMarker & | GetMarker () const |
void | SetMarker (const GeMarker &m) |
Unique ID | |
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 |
Animated Parameter | |
Bool | SetAnimatedParameter (const 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) const |
Shader | |
BaseShader * | GetFirstShader () const |
void | InsertShader (BaseShader *shader, BaseShader *pred=nullptr) |
Keyframe | |
void | ClearKeyframeSelection () |
Bool | FindKeyframeSelection (const DescID &id) |
Bool | SetKeyframeSelection (const DescID &id, Bool selection) |
Bool | KeyframeSelectionContent () |
Layer | |
LayerObject * | GetLayerObject (const BaseDocument *doc) |
const LayerObject * | GetLayerObject (const BaseDocument *doc) const |
Bool | SetLayerObject (const LayerObject *layer) |
const LayerData * | GetLayerData (const BaseDocument *doc, Bool rawdata=false) const |
Bool | SetLayerData (BaseDocument *doc, const LayerData &data) |
Track | |
GeListHead * | GetCTrackRoot (Bool create) |
const GeListHead * | GetCTrackRoot () const |
const CTrack * | GetFirstCTrack () const |
CTrack * | GetFirstCTrack () |
const CTrack * | FindCTrack (const DescID &id) const |
CTrack * | FindCTrack (const DescID &id) |
|
private |
|
private |
|
static |
|
static |
const Char* GetViewportRenderId | ( | VIEWPORT_RENDER_ID | typeId | ) | const |
Gets the Id of the viewport render object. The return value can be nullptr.
[in] | typeId | Defines which Id to return. |
BaseList2D* GetNext | ( | ) |
Gets the next BaseList2D in the list. Convenience version of GeListNode::GetNext().
const BaseList2D* GetNext | ( | ) | const |
BaseList2D* GetPred | ( | ) |
Gets the previous BaseList2D in the list. Convenience version of GeListNode::GetPred().
const BaseList2D* GetPred | ( | ) | const |
void SetBit | ( | Int32 | mask | ) |
Sets the bits denoted by mask to true.
[in] | mask | The mask of the bits: BIT |
Gets the state of the object bits denoted by mask.
[in] | mask | The mask of the bits: BIT |
void DelBit | ( | Int32 | mask | ) |
Deletes the object bits denoted by mask, i.e. sets the corresponding bit to 0.
[in] | mask | The bit mask of the bits: BIT |
void ToggleBit | ( | Int32 | mask | ) |
Toggles the state of the object bits denoted by the mask.
[in] | mask | The bit mask of the bits: BIT |
void SetAllBits | ( | Int32 | bits | ) |
Sets all the object's bits at once.
[in] | bits | The new object's bits. |
BaseContainer GetData | ( | ) |
Retrieves a copy of the object's container. It is recommended to use GetDataInstanceRef() instead because GetData makes a copy of the BaseContainer which can be costly.
void SetData | ( | const BaseContainer & | bc, |
Bool | add = true |
||
) |
Sets the object container.
By default the contents of bc is added to the existing container; control this behavior with add.
[in] | bc | The container with the new values. |
[in] | add | If true the values are merged, otherwise the old values are discarded. |
const BaseContainer& GetDataInstanceRef | ( | ) | const |
Retrieves a reference to the read-only object container.
BaseContainer& GetDataInstanceRef | ( | ) |
Retrieves a reference to the read-only object container.
const BaseContainer* GetDataInstance | ( | ) | const |
Retrieves a pointer to the read-only object container. It is recommended to use GetDataInstanceRef() instead.
BaseContainer* GetDataInstance | ( | ) |
Retrieves a pointer to the read-only object container. It is recommended to use GetDataInstanceRef() instead.
String GetName | ( | ) | const |
Gets the name of the object.
void SetName | ( | const maxon::String & | name, |
Bool | setDirty = true |
||
) |
Sets the name of the object.
[in] | name | The new object's name. |
String GetBubbleHelp | ( | ) |
Gets the bubble help text for the object.
Bool TransferGoal | ( | BaseList2D * | dst, |
Bool | undolink | ||
) |
Transfer goals from the object to dst.
This changes all BaseLink links that point to this object to point to dst instead.
[in] | dst | The destination. The caller owns the pointed object. |
[in] | undolink | This has to be set to false. Private. |
Bool TransferMarker | ( | BaseList2D * | dst | ) | const |
Private.
const GeMarker& GetMarker | ( | ) | const |
Gets the object's marker.
void SetMarker | ( | const GeMarker & | m | ) |
Sets the object's marker.
[in] | m | The new object's marker. |
Adds a unique application ID data to the object.
[in] | appid | A unique application ID. It has to be registered at MAXON, at least it should be obtained from http://www.plugincafe.com. |
[in] | mem | A pointer to a block of memory, used for instance to store the name of a software vendor. |
[in] | bytes | The length of the memory block mem. |
Checks for a specific unique application ID data.
[in] | appid | A unique application ID. It has to be registered at MAXON, at least it should be obtained from http://www.plugincafe.com. |
[out] | mem | Assigned a pointer to a block of memory, used for instance to read the name of a software vendor. |
[out] | bytes | Assigned the length of the memory block mem. |
Int32 GetUniqueIDCount | ( | ) | const |
Gets the number of unique application IDs.
Gets the idx-th unique application ID data (idx ranging from 0 to GetUniqueIDCount()-1).
[in] | idx | The unique ID index. |
[out] | id | Assigned the unique application ID. |
[out] | mem | Assigned a pointer to a block of memory, used for instance to read the name of a software vendor. |
[out] | bytes | Assigned the length of the memory block mem. |
Bool SetAnimatedParameter | ( | const CTrack * | track, |
const DescID & | id, | ||
const GeData & | t_data1, | ||
const GeData & | t_data2, | ||
Float | mix, | ||
DESCFLAGS_SET | flags | ||
) |
Normally not used. Used by the animator to set the interpolated value along with the right and left value.
[in] | track | The animation track. The caller owns the pointed track. |
[in] | id | The ID of the animated parameter. |
[in] | t_data1 | The first data. |
[in] | t_data2 | The second data. |
[in] | mix | The mix value between t_data1 and t_data2. |
[in] | flags | Flags: DESCFLAGS_SET |
Bool GetAnimatedParameter | ( | const DescID & | id, |
GeData & | t_data1, | ||
GeData & | t_data2, | ||
Float & | mix, | ||
DESCFLAGS_GET | flags | ||
) | const |
If a parameter is set to MIX animation use this function to retrieve information about it.
For example, the target expression has a link to its current target and when it is animated it slides between the two targets:
[in] | id | The ID of the parameter. |
[in] | t_data1 | Assigned the first data. |
[in] | t_data2 | Assigned the second data. |
[in] | mix | Assigned the mix value between t_data1 and t_data2. |
[in] | flags | Flags: DESCFLAGS_GET |
Bool CopyDynamicDescriptionFrom | ( | const BaseList2D * | src | ) |
CopyDynamicDescriptionFrom copies the dynamic description from src to this.
[in] | src | Source object. |
Sets the object's scale.
This will scale all parameters with length units by the factor scale.
[in] | scale | The scale factor. |
BaseShader* GetFirstShader | ( | ) | const |
Retrieves the first shader of the object.
Example 1: A tag references a shader. The shader must be inserted into the tag using InsertShader();. Example 2: A Shader (A) references another shader (B): the shader B must be child of the shader A.
void InsertShader | ( | BaseShader * | shader, |
BaseShader * | pred = nullptr |
||
) |
Inserts a shader in the object's shader list.
[in] | shader | The shader to insert. The object takes over the ownership of the pointed shader. |
[in] | pred | The shader to insert the new shader after, or nullptr (default)to insert the new shader first. The pointed shader must already be inserted into the list. |
Bool Edit | ( | ) |
Triggers the edit action for the object.
void GetIcon | ( | IconData * | dat | ) |
Gets the icon for the object, by filling dat.
[out] | dat | Pointer to the icon data to fill. The caller owns the pointed icon data. |
void ClearKeyframeSelection | ( | ) |
Clears the current keyframe selection.
Checks if id is included in the keyframe selection.
[in] | id | The description ID to check. |
Sets the keyframe selection status of id to selection.
[in] | id | The description ID to set. |
[in] | selection | true if the element should be included in the keyframe selection, otherwise false. |
Bool KeyframeSelectionContent | ( | ) |
Checks if there is any active keyframe selections.
LayerObject* GetLayerObject | ( | const BaseDocument * | doc | ) |
Gets the layer of the object.
[in] | doc | The document for the operation. |
const LayerObject* GetLayerObject | ( | const BaseDocument * | doc | ) | const |
Bool SetLayerObject | ( | const LayerObject * | layer | ) |
Sets the layer of the object.
[in] | layer | The new layer. |
const LayerData* GetLayerData | ( | const BaseDocument * | doc, |
Bool | rawdata = false |
||
) | const |
Gets the layer data for the object.
[in] | doc | The document for the operation. |
[in] | rawdata | Usually GetLayerData() takes special global modes like SOLO layer automatically into account. To get the original layer values without any additional global changes set rawdata to true. |
Bool SetLayerData | ( | BaseDocument * | doc, |
const LayerData & | data | ||
) |
Sets the layer data for the object.
[in] | doc | The document for the operation. |
[in] | data | The new layer data. |
GeListHead* GetCTrackRoot | ( | Bool | create | ) |
Gets the track root of the object.
const GeListHead* GetCTrackRoot | ( | ) | const |
Gets the track root of the object.
const CTrack* GetFirstCTrack | ( | ) | const |
Gets the first track of the object.
CTrack* GetFirstCTrack | ( | ) |
Gets the first track of the object.
Finds the track for the specified description id.
[in] | id | The description ID for the searched track. |
Finds the track for the specified description id.
[in] | id | The description ID for the searched track. |
GeListHead* GetNLARoot | ( | Bool | create | ) |
Private.
BaseList2D* AnimationLayerRemap | ( | BaseObject ** | layer = nullptr | ) |
Retrieves a remapped base list pointer if an active animation layer is existent.
If there is no active layer or no layer at all this
will be returned.
Optionally access the layer by passing layer.
[out] | layer | The current active layer. You can then access the layer properties. Cinema 4D owns the pointed layer object. |
String GetTypeName | ( | ) | const |
The name of the object type, for example "Phong", "Spline", "Bone", etc.
const BaseList2D* GetMain | ( | ) | const |
Goes up the next level, e.g. from tag to object or XPresso node to tag, or object to document, etc.
BaseList2D* GetMain | ( | ) |
Goes up the next level, e.g. from tag to object or XPresso node to tag, or object to document, etc.
void InsertTrackSorted | ( | CTrack * | track | ) |
Inserts a track and automatically places it at the right place (so that Y comes after X for example).
[in] | track | The track to insert. |
Bool AddEventNotification | ( | BaseList2D * | bl, |
NOTIFY_EVENT | eventid, | ||
NOTIFY_EVENT_FLAG | flags, | ||
const BaseContainer * | data | ||
) |
Private.
Bool RemoveEventNotification | ( | const BaseDocument * | doc, |
BaseList2D * | bl, | ||
NOTIFY_EVENT | eventid | ||
) |
Private.
Bool FindEventNotification | ( | const BaseDocument * | doc, |
BaseList2D * | bl, | ||
NOTIFY_EVENT | eventid | ||
) |
Private.
Bool SetDescIDState | ( | const DescID & | id, |
DESCIDSTATE | descidstate | ||
) |
Sets the state for the description id.
[in] | id | The description ID. |
[in] | descidstate | The new description ID state: DESCIDSTATE |
DESCIDSTATE GetDescIDState | ( | const DescID & | id, |
Bool | tolerant | ||
) | const |
Gets the state of a description id.
[in] | id | The description ID. |
[in] | tolerant | If set to true a valid state is returned even though the description ID do not match-completly. This can be useful for descriptions with several levels. Take this description ID for example: Definition: lib_description.h:355 |
GeListHead* GetOverrideRoot | ( | Bool | create | ) |
Private.
BaseOverride* GetFirstOverride | ( | ) |
Private.
GeListHead* GetShaderRepositoryRoot | ( | Bool | create | ) |
Private.
GeListHead* GetHiddenShaderRoot | ( | Bool | create | ) |
Private.
maxon::NimbusForwardRef GetNimbusRef | ( | const maxon::Id & | spaceId | ) | const |
Return the owning NimbusRef or NimbusBaseRef corresponding to the provided NodeSpace Id.
[in] | spaceId | The NodeSpace ID. |
maxon::Result<maxon::NimbusForwardRef> PrivateGetOrCreateNimbusRef | ( | const maxon::Id & | spaceId | ) |
Private.
void RemoveNimbusRef | ( | const maxon::Id & | spaceId | ) |
Remove the NimbusRef, and therefore the owned graph, that is corresponding to the provided NodeSpace Id.
[in] | spaceId | The NodeSpace ID. |
maxon::Result<maxon::HashMap<maxon::Id, maxon::NimbusForwardRef> > GetAllNimbusRefs | ( | ) | const |
Retrieve a HashMap of all NodeSpace ID and NimbusRef of the current BaseList is holding.
Bool IsNodeBased | ( | ) | const |
Checks whether the object contains nodes.
maxon::Result<Bool> GetAccessedObjects | ( | METHOD_ID | method, |
AccessedObjectsCallback & | access | ||
) | const |
maxon::Result<Bool> GetAccessedObjectsRec | ( | ACCESSED_OBJECTS_MASK | read, |
ACCESSED_OBJECTS_MASK | write, | ||
METHOD_ID | method, | ||
Bool | withSiblings, | ||
Bool | withChildren, | ||
AccessedObjectsCallback & | access | ||
) | const |
maxon::Result<Bool> GetAccessedObjectsOfHierarchy | ( | ACCESSED_OBJECTS_MASK | read, |
ACCESSED_OBJECTS_MASK | write, | ||
METHOD_ID | method, | ||
AccessedObjectsCallback & | access | ||
) | const |
maxon::Result<Bool> GetAccessedObjectsOfChildren | ( | ACCESSED_OBJECTS_MASK | read, |
ACCESSED_OBJECTS_MASK | write, | ||
METHOD_ID | method, | ||
AccessedObjectsCallback & | access | ||
) | const |
maxon::Result<Bool> GetAccessedObjectsOfFirstChildHierarchy | ( | ACCESSED_OBJECTS_MASK | read, |
ACCESSED_OBJECTS_MASK | write, | ||
METHOD_ID | method, | ||
AccessedObjectsCallback & | access | ||
) | const |
maxon::Result<maxon::GenericData> GroupChanges | ( | ) |
Starts to group subsequent changes to parameters of this BaseList2D. The grouping ends when the lifetime of the returned GenericData ends (i.e., when its destructor or Reset function is called). You can call this function when you know that you'll make several changes (e.g., calls to SetParameter) in a row, then the BaseList2D can avoid costly updates between intermediate changes.
|
static |
Private.
|
static |