TypedWritable

from panda3d.core import TypedWritable
class TypedWritable

Bases: TypedObject

Base class for objects that can be written to and read from Bam files.

See also TypedObject for detailed instructions.

Inheritance diagram

Inheritance diagram of TypedWritable

__reduce__()object
__reduce_persist__(pickler: object)object
encodeToBamStream()bytes

Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. Returns an empty bytes object on failure.

This is a convenience method particularly useful for cases when you are only serializing a single object. If you have many objects to process, it is more efficient to use the same BamWriter to serialize all of them together.

encodeToBamStream(data: bytes, writer: BamWriter)bool

Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. Returns true on success, false on failure.

This is a convenience method particularly useful for cases when you are only serializing a single object. If you have many objects to process, it is more efficient to use the same BamWriter to serialize all of them together.

fillin(scan: DatagramIterator, manager: BamReader)None

This internal function is intended to be called by each class’s make_from_bam() method to read in all of the relevant data from the BamFile for the new object. It is also called directly by the BamReader to re-read the data for an object that has been placed on the stream for an update.

getBamModified()UpdateSeq

Returns the current bam_modified counter. This counter is normally incremented automatically whenever the object is modified.

static getClassType()TypeHandle
markBamModified()None

Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. This should normally not need to be called by user code; it should be called internally when the object has been changed in a way that legitimately requires its retransmission to any connected clients.