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 the DescID as string. Called if str() is wrapped around an instance of DescID. (See __str__)

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 the DescID as string. Called if str() is wrapped around an instance of DescID. (See __str__)

dId = c4d.DescID(c4d.DescLevel(30))
print dId                # output '(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
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]
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.