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
-
class ModelReference
Bases:
ReferenceCount
This class is used to unify references to the same model.
-
ModelReference(void)
-
ModelReference(ModelRoot::ModelReference const&) = default
-
ModelReference(void)
-
explicit ModelRoot(std::string const &name)
-
static TypeHandle get_class_type(void)
-
Filename const &get_fullpath(void) const
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 theModelPool
.
-
int get_model_ref_count(void) const
Returns the number of copies that exist of this particular
ModelRoot
node. Each timeModelRoot::copy_subgraph()
ormake_copy()
is called (or some other copying mechanism, such asNodePath.copy_to()
, is used), this count will increment by one in all copies; when one of the copies is destructed, this count will decrement.
-
ModelReference *get_reference(void) const
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 otherModelRoot
objects).
-
time_t get_timestamp(void) const
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.
-
void set_fullpath(Filename const &fullpath)
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 theModelPool
.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::release_model()
may fail.
-
void set_reference(ModelRoot::ModelReference *ref)
Changes the pointer that represents the object shared between all copies of this
ModelRoot
. This will disassociate thisModelRoot
from all of its copies. Normally, there’s no reason to do this.
-
void set_timestamp(time_t timestamp)
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.
-
class ModelReference