18 #include "pandabase.h"
21 #include "loaderOptions.h"
23 #include "pandaNode.h"
25 #include "dSearchPath.h"
27 #include "asyncTaskManager.h"
28 #include "asyncTask.h"
59 INLINE Results(
const Results ©);
60 INLINE
void operator = (
const Results ©);
64 INLINE
int get_num_files()
const;
65 INLINE
const Filename &get_file(
int n)
const;
66 MAKE_SEQ(get_files, get_num_files, get_file);
68 MAKE_SEQ(get_file_types, get_num_files, get_file_type);
78 Loader(
const string &name =
"loader");
82 INLINE
void set_task_chain(
const string &task_chain);
83 INLINE
const string &get_task_chain()
const;
85 BLOCKING INLINE
void stop_threads();
93 INLINE
void load_async(
AsyncTask *request);
95 INLINE
bool save_sync(const
Filename &filename, const LoaderOptions &options,
98 const LoaderOptions &options,
100 INLINE
void save_async(
AsyncTask *request);
102 BLOCKING PT(
PandaNode) load_bam_stream(istream &in);
104 virtual
void output(ostream &out) const;
106 INLINE static
Loader *get_global_ptr();
109 PT(
PandaNode) load_file(const
Filename &filename, const LoaderOptions &options) const;
110 PT(
PandaNode) try_load_file(const
Filename &pathname, const LoaderOptions &options,
113 bool save_file(const
Filename &filename, const LoaderOptions &options,
115 bool try_save_file(const
Filename &filename, const LoaderOptions &options,
118 static
void make_global_ptr();
123 static
void load_file_types();
124 static
bool _file_types_loaded;
126 static PT(
Loader) _global_ptr;
132 static void init_type() {
133 TypedReferenceCount::init_type();
134 Namable::init_type();
135 register_type(_type_handle,
"Loader",
136 TypedReferenceCount::get_class_type(),
137 Namable::get_class_type());
140 return get_class_type();
142 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
A basic node of the scene graph or data graph.
A class to manage a loose queue of isolated tasks, which can be performed either synchronously (in th...
Specifies parameters that may be passed to the loader.
A convenient class for loading models from disk, in bam or egg format (or any of a number of other fo...
A base class for things which need to inherit from both TypedObject and from ReferenceCount.
A base class for all things which can have a name.
The name of a file, such as a texture file or an Egg file.
This class represents a concrete task performed by an AsyncManager.
This is the base class for a family of scene-graph file types that the Loader supports.
A class object that manages a single asynchronous model load request.
TypeHandle is the identifier used to differentiate C++ class types.