TypedWritable

from panda3d.core import TypedWritable
class TypedWritable

Bases:

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)

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()

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.