c4d.DescID

class c4d.DescID

An ID class for description elements. Contains a stack of DescLevel objects.

The description ID is used to exactly identify a parameter value.

Constants

c4d.DESCID_ROOT

Root description ID.

c4d.ID_USERDATA

User data ID.

c4d.DESCID_DYNAMICSUB

User data/dynamic parameters description level.

Methods Signatures

DescID.__init__(self[, id1, id2, id3])

Create a DescID instance up to three levels

DescID.__str__(self)

Returns a string representation of the DescID object.

DescID.__lshift__(self, other)

Returns the result of popping shift levels from the bottom of the stack

DescID.__getitem__(self, key)

Returns the level at position key in the stack

DescID.__eq__(self, other)

Checks if all levels are equal.

DescID.__ne__(self, other)

The reverse of __eq__.

DescID.SetId(self, subid)

Set the highest level to subid.

DescID.PushId(self, subid)

Push a new level onto the stack.

DescID.PopId(self)

Pops the highest level from the stack.

DescID.GetDepth(self)

Return the depth.

DescID.Write(self, hf)

Writes the description to a file.

DescID.Read(self, hf)

Reads the description from a file.

DescID.GetHashCode(self)

Gets a hash code for the description ID.

DescID.IsPartOf(self, cmp)

Checks if the description ID is part of cmp and returns the length of the match.

Methods Documentation

DescID.__init__(self, id1=0, id2=0, id3=0)

Create a DescID instance up to three levels

dId = c4d.DescID()
dId = c4d.DescID(dId) #copy constructor
dId = c4d.DescID(10) #first level with given ID
dId = c4d.DescID(DescLevel(10), DescLevel(20), DescLevel(30)) #set three levels
Parameters
DescID.__str__(self)
Returns a string representation of the DescID object.

Called if str() is invoked on a DescID object. See object.__str__() for more information on Python’s data model.
>>> dId = c4d.DescID(c4d.DescLevel(30))
>>> print(dId)
(30, 0, 0)
Return type

str

Returns

The DescID as string.

DescID.__lshift__(self, other)

Returns the result of popping shift levels from the bottom of the stack

>>> dId = c4d.DescID(c4d.DescLevel(30), c4d.DescLevel(40), c4d.DescLevel(50))
>>> dId<<2
(50, 0, 0)
Parameters

other (int) – Number of levels to pop.

Raises

IndexError – If other is out of range : 0<=other<GetDepth().

Return type

c4d.DescID

Returns

Result.

DescID.__getitem__(self, key)

Returns the level at position key in the stack

>>> dId = c4d.DescID(c4d.DescLevel(30), c4d.DescLevel(40), c4d.DescLevel(50))
>>> dId[2]
<c4d.DescLevel object at 0x00000265FBB1F600>
Parameters

key (int) – The position.

Raises

IndexError – If other is out of range : 0<=key<GetDepth().

Return type

c4d.DescLevel

Returns

The level at the specified position.

DescID.__eq__(self, other)

Checks if all levels are equal.

DescID.__ne__(self, other)

The reverse of __eq__.

DescID.SetId(self, subid)

Set the highest level to subid.

Parameters

subid (c4d.DescLevel) – New toplevel.

DescID.PushId(self, subid)

Push a new level onto the stack.

Parameters

subid (c4d.DescLevel) – Level to push.

DescID.PopId(self)

Pops the highest level from the stack.

DescID.GetDepth(self)

Return the depth.

Return type

int

Returns

The depth.

DescID.Write(self, hf)

Writes the description to a file.

Parameters

hf (c4d.storage.HyperFile) – The hyperfile to write to.

DescID.Read(self, hf)

Reads the description from a file.

Parameters

hf (c4d.storage.HyperFile) – The hyperfile to read from.

Return type

bool

Returns

True if successful, otherwise False.

DescID.GetHashCode(self)

Gets a hash code for the description ID.

New in version R17.048.

Return type

int

Returns

The hash code.

DescID.IsPartOf(self, cmp)

Checks if the description ID is part of cmp and returns the length of the match.

New in version R18.020.

Parameters

cmp (Union[int, list, c4d.DescID]) –

The super description ID.

Changed in version R18.057.

Can be a int, list or DescID

Return type

Tuple[bool, int]

Returns

A tuple with the following information:


bool: True if the description ID matches a lowest part of cmp, otherwise False.
int: The length of the match.