panda3d.direct.DCPackerInterface

class DCPackerInterface

This defines the internal interface for packing values into a DCField. The various different DC objects inherit from this.

Normally these methods are called only by the DCPacker object; the user wouldn’t normally call these directly.

Inheritance diagram

Inheritance diagram of DCPackerInterface

asClassParameter() → DCClassParameter
Return type

DCClassParameter

asClassParameter() → DCClassParameter
Return type

DCClassParameter

asField() → DCField
Return type

DCField

asField() → DCField
Return type

DCField

asSwitchParameter() → DCSwitchParameter
Return type

DCSwitchParameter

asSwitchParameter() → DCSwitchParameter
Return type

DCSwitchParameter

checkMatch(other: DCPackerInterface) → bool

Returns true if the other interface is bitwise the same as this one–that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.

checkMatch(description: str, dcfile: DCFile) → bool

Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. “(uint8, uint8, int16)”, or false otherwise.

If :class:`~DCFile` is not NULL, it specifies the :class:`~DCFile` that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex(name: str) → int

Returns the index number to be passed to a future call to DCPacker.seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.

If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number–you must seek for the field by name.

getName() → str

Returns the name of this field, or empty string if the field is unnamed.