Panda3D

- Main Page
- Packages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Classes | Public Member Functions | Static Public Member Functions

# PandaLoader Class Reference

A convenient class for loading models from disk, in bam or egg format (or any of a number of other formats implemented by a LoaderFileType, such as ptloader). More...

Inheritance diagram for PandaLoader:

List of all members.

## Classes
class | Results
## Public Member Functions
| PandaLoader (string name)
| PandaLoader ()
string | getTaskChain ()
| Returns the task chain that is used for asynchronous loads.
AsyncTaskManager | getTaskManager ()
| Returns the task manager that is used for asynchronous loads.
| loadAsync (AsyncTask request)
| Begins an asynchronous load request.
PandaNode | loadBamStream (istream in)
| Attempts to read a bam file from the indicated stream and return the scene graph defined there.
PandaNode | loadSync (Filename const filename, LoaderOptions const options)
| Loads the file immediately, waiting for it to complete.
PandaNode | loadSync (Filename const filename)
| Loads the file immediately, waiting for it to complete.
AsyncTask | makeAsyncRequest (Filename const filename, LoaderOptions const options)
| Returns a new AsyncTask object suitable for adding to load_async() to start an asynchronous model load.
AsyncTask | makeAsyncRequest (Filename const filename)
| Returns a new AsyncTask object suitable for adding to load_async() to start an asynchronous model load.
| output (ostream out)
| Outputs the Namable.
bool | remove (AsyncTask task)
| Removes a pending asynchronous load request.
| setTaskChain (string task_chain)
| Specifies the task chain that is used for asynchronous loads.
| setTaskManager (AsyncTaskManager task_manager)
| Specifies the task manager that is used for asynchronous loads.
| stopThreads ()
| Stop any threads used for asynchronous loads.
## Static Public Member Functions
static TypeHandle | getClassType ()
static PandaLoader | getGlobalPtr ()
| Returns a pointer to the global Loader.

## Detailed Description

A convenient class for loading models from disk, in bam or egg format (or any of a number of other formats implemented by a LoaderFileType, such as ptloader).

This class supports synchronous as well as asynchronous loading. In asynchronous loading, the model is loaded in the background by a thread, and an event will be generated when the model is available. If threading is not available, the asynchronous loading interface may be used, but it loads synchronously.

## Constructor & Destructor Documentation

PandaLoader | ( | string | name | ) |

PandaLoader | ( |  | ) |

## Member Function Documentation

static TypeHandle getClassType | ( |  | ) | `[static]`

Reimplemented from TypedReferenceCount.

static PandaLoader getGlobalPtr | ( |  | ) | `[static]`

Returns a pointer to the global Loader.

This is the Loader that most code should use for loading models.

string getTaskChain | ( |  | ) |

Returns the task chain that is used for asynchronous loads.

AsyncTaskManager getTaskManager | ( |  | ) |

Returns the task manager that is used for asynchronous loads.

loadAsync | ( | AsyncTask | request | ) |

Begins an asynchronous load request.

To use this call, first create a new ModelLoadRequest object with the filename you wish to load, and then add that object to the Loader with load_async. This function will return immediately, and the model will be loaded in the background.

To determine when the model has completely loaded, you may poll request->is_ready() from time to time, or set the done_event on the request object and listen for that event. When the model is ready, you may retrieve it via request->get_model().

PandaNode loadBamStream | ( | istream | in | ) |

Attempts to read a bam file from the indicated stream and return the scene graph defined there.

PandaNode loadSync | ( | Filename const | filename | ) |

Loads the file immediately, waiting for it to complete.

If search is true, the file is searched for along the model path; otherwise, only the exact filename is loaded.

PandaNode loadSync | ( | Filename const | filename,
|  | LoaderOptions const | options
| ) |  |

Loads the file immediately, waiting for it to complete.

If search is true, the file is searched for along the model path; otherwise, only the exact filename is loaded.

AsyncTask makeAsyncRequest | ( | Filename const | filename,
|  | LoaderOptions const | options
| ) |  |

Returns a new AsyncTask object suitable for adding to load_async() to start an asynchronous model load.

AsyncTask makeAsyncRequest | ( | Filename const | filename | ) |

Returns a new AsyncTask object suitable for adding to load_async() to start an asynchronous model load.

output | ( | ostream | out | ) |

Outputs the Namable.

This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

Reimplemented from Namable.

bool remove | ( | AsyncTask | task | ) |

Removes a pending asynchronous load request.

Returns true if successful, false otherwise.

setTaskChain | ( | string | task_chain | ) |

Specifies the task chain that is used for asynchronous loads.

The default is the initial name of the Loader object.

setTaskManager | ( | AsyncTaskManager | task_manager | ) |

Specifies the task manager that is used for asynchronous loads.

The default is the global task manager.

stopThreads | ( |  | ) |

Stop any threads used for asynchronous loads.

All Classes Namespaces Functions Variables Enumerations Enumerator Properties