pfvmLoader(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
NAMEpfvmLoader - Loader module for pfvViewer
FUNCTION SPECIFICATION
#include <Performer/pfvm/pfvmLoader.h>
pfvmLoader::pfvmLoader();
char* pfvmLoader::getFilePath();
void pfvmLoader::setFilePath(char*path);
int pfvmLoader::getNumModels();
pfvmLoaderModel* pfvmLoader::getModel(int i);
pfvmLoaderModel* pfvmLoader::findModel(char*_name);
int pfvmLoader::addModel(pfvmLoaderModel* model);
pfvmLoaderModel* pfvmLoader::addModel(char* filename);
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfvmLoader is derived from the parent class
pfvModule, so each of these member functions of class pfvModule are also
directly usable with objects of class pfvmLoader. This is also true for
ancestor classes of class pfvModule.
int pfvModule::getScope();
int pfvModule::getScopeIndex();
pfvObject* pfvModule::getScopeTarget();
int pfvModule::autoScope( int*scopeIndex );
void pfvModule::bindCallback(int which);
void pfvModule::unbindCallback(int which);
int pfvModule::getCBMask();
virtual void pfvModule::preConfig();
virtual void pfvModule::postConfig();
virtual void pfvModule::enterView(pfvView*v);
virtual void pfvModule::exitView(pfvView*v);
virtual void pfvModule::enterWorld();
virtual void pfvModule::exitWorld();
virtual void pfvModule::sync();
virtual void pfvModule::frame();
virtual void pfvModule::preCull(pfvDispChan*chan);
virtual void pfvModule::postCull(pfvDispChan*chan);
virtual void pfvModule::preDraw(pfvDispChan*chan);
virtual void pfvModule::postDraw(pfvDispChan*chan);
virtual void pfvModule::overlay(pfvDispChan*chan);
int pfvModule::bindKeys(char*keys);
int pfvModule::unbindKeys(char*keys)
Page 1
pfvmLoader(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
char* pfvModule::getEventMask()
void pfvModule::setEventMask(char* str);
virtual int pfvModule::handleEvent(int evType, char key);
uint64_t pfvModule::getViewMask();
Since the class pfvModule is itself derived from the parent class
pfvobject, objects of class pfvmLoader can also be used with these
functions designed for objects of class pfvobject.
virtual int pfvObject::parseXml(pfvXmlNode*xml);
virtual int pfvObject::setXmlField(pfvXmlNode*xml);
char* pfvObject::getName();
void pfvObject::setName(char*_name);
Since the class pfvobject is itself derived from the parent class
pfObject, objects of class pfvmLoader can also be used with these
functions designed for objects of class pfObject.
void* pfObject::operator new(size_t);
void* pfObject::operator new(size_t, pfFluxMemory *fmem);
void pfObject::setUserData(void *data);
void pfObject::setUserData(int slot, void *data);
void* pfObject::getUserData(pfObject *obj);
void* pfObject::getUserData(pfObject *obj, int slot);
int pfObject::getNumUserData();
Since the class pfObject is itself derived from the parent class
pfMemory, objects of class pfvmLoader can also be used with these
functions designed for objects of class pfMemory.
void* pfMemory::getData(const void *ptr);
pfType * pfMemory::getType();
int pfMemory::isOfType(pfType *type);
int pfMemory::isExactType(pfType *type);
const char * pfMemory::getTypeName();
int pfMemory::copy(pfMemory *src);
int pfMemory::compare(const pfMemory *mem);
void pfMemory::print(uint which, uint verbose, char *prefix,
FILE *file);
int pfMemory::getArena(void *ptr);
void* pfMemory::getArena();
int pfMemory::ref();
int pfMemory::unref();
int pfMemory::unrefDelete();
int pfMemory::unrefGetRef();
int pfMemory::getRef();
int pfMemory::checkDelete();
Page 2
pfvmLoader(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
int pfMemory::isFluxed();
void * pfMemory::getArena();
int pfMemory::getSize();
DESCRIPTIONpfvmLoader is a basic module that allows models to be loaded into
pfvViewer applications.
setFilePath() sets the filepath in which to look when loading models.
getFilePath() returns the filepath.
getNumModels() returns the number of pfvmLoaderModels in the loader's
model list.
getModel() returns the i'th pfvmLoaderModel from the list of models.
findModel() returns a pointer to the first pfvmLoaderModel in the model
list whose name matches _name. If there is no match, NULL is returned.
addModel(pfvmLoaderModel* model) adds model to pfvmLoader's list of
models, returning the index of added model in list.
addModel(char* filename) creates a new pfvmLoaderModel instance, assignes
it the specified filename, and adds it to pfvmLoader's list of models.
Method returns a pointer to the newly created pfvmLoaderModel.
========
XML tags
========
<module>
<class>pfvmLoader</class>
<data>
...
parameters
...
</data>
</module>
where parameters is one of the following:
<Name>string</Name> where string is the name assigned to the module.
<FilePath>string</FilePath> sets the filepath for loading models to
Page 3
pfvmLoader(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
string.
<Model>pfvmLoaderModel</Model> is for for adding a new model to the
loader's model list. The XML tags for the pfvmLoaderModel class go
inside the <Model> tags here. See man pfvmLoaderModel for the tags
specific to this class.
=======
Scoping
=======
A pfvmLoader module can be scoped globally, to a single view, or to a
single world.
If scoped to a world, pfvmLoader will add loaded geometry to the pfScene
associated with its target world.
If scoped to a view, pfvmLoader will add loaded geometry to the pfvView
itself, through method pfvView::addNode. Such geometry will be
dynamically added and removed from pfvWorld's scenes when view switches
from one world to another. Also, such geometry will only be visible
inside module's target view, even though other views may be viewing the
same world. See man page for pfvSetNodeChanMask.
If scoped globally, pfvmLoader will add loaded geometry to the pfScene
associated with world0 (the first world in pfvViewer's world list).
NOTES
The source code for the pfvmLoader Module is provided and can be found in
/usr/share/Performer/src/pguide/libpfv/viewer/modules/pfvmLoader
For examples of pfvViewer XML configuration files, look at the sample
.pfv files in /usr/share/Performer/config.
SEE ALSO
pfvmLoaderModel, pfvModule, pfvViewer, pfvXml, pfdLoadFile, pfFilePath
Page 4