panda3d.core.ModelRoot

class ModelRoot

Bases: ModelNode

A node of this type is created automatically at the root of each model file that is loaded. It may eventually contain some information about the contents of the model; at the moment, it contains no special information, but can be used as a flag to indicate the presence of a loaded model file.

Inheritance diagram

Inheritance diagram of ModelRoot

__init__(fullpath: Filename, timestamp: time_t) → None
__init__(name: str) → None
getModelRefCount() → int

Returns the number of copies that exist of this particular ModelRoot node. Each time ModelRoot::copy_subgraph() or make_copy() is called (or some other copying mechanism, such as copyTo(), is used), this count will increment by one in all copies; when one of the copies is destructed, this count will decrement.

getFullpath() → Filename

Returns the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.

Return type

Filename

setFullpath(fullpath: Filename) → None

Sets the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.

This is normally set automatically when a model is loaded, and should not be set directly by the user. If you change this on a loaded model, then ModelPool.releaseModel() may fail.

getTimestamp() → time_t

Returns the timestamp of the file on disk that was read for this model, at the time it was read, if it is known. Returns 0 if the timestamp is not known or could not be provided. This can be used as a quick (but fallible) check to verify whether the file might have changed since the model was read.

Return type

time_t

setTimestamp(timestamp: time_t) → None

Sets the timestamp of the file on disk that was read for this model. This is normally set automatically when a model is loaded, and should not be set directly by the user.

getReference() → ModelReference

Returns the pointer that represents the object shared between all copies of this ModelRoot. Since there’s not much associated with this object other than a reference count, normally there’s not much reason to get the pointer (though it may be compared pointerwise with other ModelRoot objects).

Return type

ModelReference

setReference(ref: ModelReference) → None

Changes the pointer that represents the object shared between all copies of this ModelRoot. This will disassociate this ModelRoot from all of its copies. Normally, there’s no reason to do this.

static getClassType() → TypeHandle
Return type

TypeHandle

property model_ref_count

Returns the number of copies that exist of this particular ModelRoot node. Each time ModelRoot::copy_subgraph() or make_copy() is called (or some other copying mechanism, such as copyTo(), is used), this count will increment by one in all copies; when one of the copies is destructed, this count will decrement.

Return type

int

property fullpath
Getter

Returns the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.

Setter

Sets the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.

This is normally set automatically when a model is loaded, and should not be set directly by the user. If you change this on a loaded model, then ModelPool.releaseModel() may fail.

Return type

Filename

property timestamp
Getter

Returns the timestamp of the file on disk that was read for this model, at the time it was read, if it is known. Returns 0 if the timestamp is not known or could not be provided. This can be used as a quick (but fallible) check to verify whether the file might have changed since the model was read.

Setter

Sets the timestamp of the file on disk that was read for this model. This is normally set automatically when a model is loaded, and should not be set directly by the user.

Return type

time_t

property reference
Getter

Returns the pointer that represents the object shared between all copies of this ModelRoot. Since there’s not much associated with this object other than a reference count, normally there’s not much reason to get the pointer (though it may be compared pointerwise with other ModelRoot objects).

Setter

Changes the pointer that represents the object shared between all copies of this ModelRoot. This will disassociate this ModelRoot from all of its copies. Normally, there’s no reason to do this.

Return type

ModelReference

class ModelReference

Bases: ReferenceCount

This class is used to unify references to the same model.

__init__() → None
__init__(param0: ModelReference) → None