pfvDisplayMngr(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
NAMEpfvDisplayMngr - Set up multi-channel, multi-pipe and multi-view Display
Configurations through XML files or API calls.
FUNCTION SPECIFICATION
#include <Performer/pfv/pfvDisplay.h>
pfvDisplayMngr::pfvDisplayMngr();
pfvDisplayMngr::pfvDisplayMngr(char* filename);
pfvDisplayMngr::pfvDisplayMngr(pfvXmlNode* xml);
static pfvDisplayMngr* pfvDisplayMngr::getMngr();
virtual int pfvDisplayMngr::loadFile(char* filename);
virtual int pfvDisplayMngr::parseXml(pfvXmlNode* xml);
virtual void pfvDisplayMngr::preConfig();
virtual void pfvDisplayMngr::postConfig();
virtual pfvDispPipe* pfvDisplayMngr::createPipe(pfvXmlNode* xml);
int pfvDisplayMngr::getNumPipes();
pfvDispPipe* pfvDisplayMngr::getPipe(int i);
pfvDispPipe* pfvDisplayMngr::findPipe(char* _name);
virtual pfvDispView* pfvDisplayMngr::createView(pfvXmlNode* xml);
int pfvDisplayMngr::getNumViews();
pfvDispView* pfvDisplayMngr::getView(int i);
pfvDispView* pfvDisplayMngr::findView(char* _name);
int pfvDisplayMngr::getNumPWins();
pfvDispPWin* pfvDisplayMngr::getPWin(int i);
pfvDispPWin* pfvDisplayMngr::findPWin(char* _name);
pfvDispPWin* pfvDisplayMngr::findPWin(pfPipeWindow* pw);
int pfvDisplayMngr::getNumChans();
pfvDispChan* pfvDisplayMngr::getChan(int i);
Page 1
pfvDisplayMngr(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
pfvDispChan* pfvDisplayMngr::findChan(char* _name);
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfvDisplayMngr is derived from the parent
class pfObject, so each of these member functions of class pfObject are
also directly usable with objects of class pfvDisplayMngr. This is also
true for ancestor classes 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 pfvDisplayMngr 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();
int pfMemory::isFluxed();
void * pfMemory::getArena();
int pfMemory::getSize();
DESCRIPTION
The pfvDisplayMngr class provides an easy way to manage the configuration
of display objects (pipes, windows and channels) and allows user to set
up multiple views across multiple graphics pipes. All libpfv display
objects can be fully configured through XML files and/or through API
calls.
new pfvDisplayMngr() creates and returns a handle to a pfvDisplayMngr.
Only a single pfvDisplayMngr may be created in the course of an
application. Deletion of the Display Manager is not supported.
Page 2
pfvDisplayMngr(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
new pfvDisplayMngr(char* filename) creates and returns a handle to a
pfvDisplayMngr. Before returning, the XML file named filename is parsed
and its contents are used to create and configure any number of display
objects (pipes, pwins, channels and views).
new pfvDisplayMngr(pfvXmlNode*xml) creates and returns a handle to a
pfvDisplayMngr. Before returning, the pfvXmlNode is examined and its
contents are used to create and configure any number of display objects
(pipes, pwins, channels and views).
pfvDisplayMngr::getMngr returns a handle to the Display Manager, if one
has been created, NULL otherwise.
pfvDisplayMngr::loadFile opens and parses the XML file named filename.
Its contents are used to create and configure any number of display
objects (pipes, pwins, channels and views). If the method is called
multiple times new display objects are added to existing ones. This
method must be called before calling pfvDisplayMngr::preConfig.
pfvDisplayMngr::parseXml examines the pfvXmlNode using its contents to
create and configure any number of display objects (pipes, pwins,
channels and views). If the method is called multiple times new display
objects are added to existing ones. This method must be called before
calling pfvDisplayMngr::preConfig.
pfvDisplayMngr::preConfig ensures that at least one pipe is part of the
display configuration and creates a default pfvDispPipe object if
necessary. Then, it calls pfMultipipe() to specify the number of pfPipes
that need to be created by pfConfig. It also ensures that there is at
least one view, and creates a default pfvDispView object if necessary. It
then ensures that all pwins that have been created have at least one
channel, and creates default pfvDispChan objects on pwins that have none.
It then assignes any unassigned channel to the first view in view-list.
Finally, it goes through all views, and creates a pwin (on pipe0) and a
corresponding channel for each channel-less view. This method must be
called before pfConfig.
pfvDisplayMngr::postConfig must be called after calling pfConfig, to
realize all libpfv Display objects. This is where the Performer display
objects (pfPipeWindow and pfChannels) associated with the libpfv objects
get created.
pfvDisplayMngr::createPipe instructs the Display Manager to create a new
pfvDispPipe object, add it to its pipe-list and return a handle to it.
This method must be called before calling pfvDisplayMngr::preConfig.
pfvDisplayMngr::getNumPipes returns the number of pipes currently in
Display Manager's pipe-list.
pfvDisplayMngr::getPipe returns a handle to the ith pipe in Display
Manager's pipe-list, or NULL if i is not a valid index.
Page 3
pfvDisplayMngr(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
pfvDisplayMngr::findPipe returns a handle to the first pipe in Display
Manager's pipe-list whose name matches _name. If no pipe's name matches,
method returns NULL.
pfvDisplayMngr::createView instructs the Display Manager to create a new
pfvDispView object, add it to its view-list and return a handle to it.
This method must be called before calling pfvDisplayMngr::preConfig.
Note that newly created views will have no channels.
pfvDisplayMngr::getNumViews returns the number of views currently in
Display Manager's view-list.
pfvDisplayMngr::getView returns a handle to the ith view in Display
Manager's view-list, or NULL if i is not a valid index.
pfvDisplayMngr::findView returns a handle to the first view in Display
Manager's view-list whose name matches _name. If no view's name matches,
method returns NULL.
pfvDisplayMngr::getNumPWins returns the number of pwins currently in
Display Manager's pwin-list.
pfvDisplayMngr::getPWin returns a handle to the ith pwin in Display
Manager's pwin-list, or NULL if i is not a valid index.
pfvDisplayMngr::findPWin(char* _name) returns a handle to the first pwin
in Display Manager's pwin-list whose name matches _name. If no pwin's
name matches, method returns NULL.
pfvDisplayMngr::findPWin(pfPipeWindow*pw) returns a handle to the first
pwin in Display Manager's pwin-list whose pfPipeWindow handle is pw. If
no pwin's handle is equal to pw, method returns NULL.
pfvDisplayMngr::getNumChans returns the number of channels currently in
Display Manager's chan-list.
pfvDisplayMngr::getChan returns a handle to the ith chan in Display
Manager's chan-list, or NULL if i is not a valid index.
pfvDisplayMngr::findChan returns a handle to the first chan in Display
Manager's chan-list whose name matches _name. If no chan's name matches,
method returns NULL.
XML FILE CONFIGURATION
If a filename is passed on to pfvDisplayMngr constructor or through
parseFile, it is expected to contain a single <display> tag, as shown
below:
Page 4
pfvDisplayMngr(3pf) OpenGL Performer 3.2.2 libpfv C++ Reference Pages
<?xml version="1.0" ?>
<display> ... </display>
Note that in both cases the <display> tag is then parsed through
parseXml(). The list of valid tags inside <display> is:
<pipe> configures a hardware pipe, including pwins and channels.
See man page for pfvDispPipe for details.
<view> sets up a pfDispView. See man page pfDispView for details.
NOTESSEE ALSO
pfMultipipe, pfConfig, pfvXml, pfvDispPipe, pfvDispPWin, pfvDispChan,
pfvViewer, pfvView, pfvWorld, pfvModule, pfvInputMngr
Page 5