pfvmTrackball man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



pfvmTrackball(3pf)	     OpenGL Performer 3.2.2 libpfv C++ Reference Pages

NAME
     pfvmTrackball - Trackball module for pfvViewer

FUNCTION SPECIFICATION
     #include <Performer/pfvm/pfvmTrackball.h>

	    pfvmTrackball::pfvmTrackball();

     void   pfvmTrackball::resetPivot();

PARENT CLASS FUNCTIONS
     The OpenGL Performer class pfvmTrackball is derived from the parent class
     pfvModule, so each of these member functions of class pfvModule are also
     directly usable with objects of class pfvmTrackball.  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)
     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 pfvmTrackball 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);

									Page 1

pfvmTrackball(3pf)	     OpenGL Performer 3.2.2 libpfv C++ Reference Pages

     char*	   pfvObject::getName();
     void	   pfvObject::setName(char*_name);

     Since the class pfvobject is itself derived from the parent class
     pfObject, objects of class pfvmTrackball 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 pfvmTrackball 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
     pfvmTrackball is a pfvViewer navigation module that allows user to
     examine a scene in a trackball fashion.

     resetPivot() will first compute the overall bounds of the scene which
     pfvmTrackball is navigating. Then it will update eye orientation so that
     view vector points towards the center of scene's bounding box, and
     lastly, it will adjust pivot distance such that pivot is placed exactly
     at the center of scene's bounds.

									Page 2

pfvmTrackball(3pf)	     OpenGL Performer 3.2.2 libpfv C++ Reference Pages

	  Usage:

     Navigation with the pfvmTrackball module works as follows:

     Use Middle mouse button to rotate around trackball's pivot.  Use Middle
     and Left Buttons together to roll, ie rotate around eye direction vector.
     Use Middle and Right buttons together to move closer or farther away from
     pivot.  Use Middle button while pressing <shift> to translate viewpoint
     and pivot wrt scene geometry.

     Press the SPACE key to reset view position (pfvmTrackball calls
     pfvView::autoPos), and also reset pivot (see above).

     Press the SPACE key while holding down <shift> to reset pivot without
     resetting view position.

     Press ESC key to terminate application.

	  ========
	  XML tags
	  ========

	      <module>
		  <class>pfvmTrackball</class>
		  <data>
		      ...
		      parameters
		      ...
		  </data>
	      </module>

     where parameters is one or more of the following:

     <viewIndex>int</viewIndex> where int is the index of the pfvView which
     will be navigated by this trackball. Note that currently, view index is
     over-written by pfvmTrackball in its postConfig callback, and the
     recommended way to associate pfvmTrackball modules to specific views is
     to scope them accordingly.

     <mouseBufferLen>int</mouseBufferLen> where int is the length of the
     buffer the mouse will use for dragging, spinning, rolling, etc.  Valid
     range is from 1 to 15.  The default is 3.

									Page 3

pfvmTrackball(3pf)	     OpenGL Performer 3.2.2 libpfv C++ Reference Pages

	  =======
	  Scoping
	  =======

     A pfvmTrackball module can be scoped globally or to a single view.

     If scoped to a specific view, pfvmTrackball will respond to input over
     that view only and will navigate eyepoint for that view.

     If scoped globally, pfvmTrackball will respond to input over view0 (the
     first view in pfvViewer's view-list), and will navigate its eyepoint.

     Scoping pfvmTrackball modules to specific pfvWorlds is not supported.

     By default, pfvmTrackball modules will automatically scope themselves to
     the currently selected view (see pfvViewer::setCurView), or to view0 if
     no pfvViews have yet been created.

NOTES
     The source code for the pfvmTrackball Module is provided and can be found
     in /usr/share/Performer/src/pguide/libpfv/viewer/modules/pfvmTrackball

     For examples of pfvViewer XML configuration files, look at the sample
     .pfv files in /usr/share/Performer/config.

SEE ALSO
     pfvModule, pfvViewer, pfvXml

									Page 4

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net