Re: How do I render a pfPipeWindow into a motif widget?
Ethan Phelps-Goodman (ethan++at++coral.arc.nasa.gov)
Wed, 20 Aug 1997 08:20:43 -0700
Brian Furtaw wrote:
>
> On Aug 19, 1:22pm, Ethan Phelps-Goodman wrote:
> > Subject: How do I render a pfPipeWindow into a motif widget?
> > I am trying to port a simulation package from Inventor to Performer. I
> > am having trouble making a pfPipeWindow draw into a Widget. I have a
> > window with several widgets, and in some of them I am trying to put a
> > pfPipeWindow. I create the pfPipeWindow and the widget, and then call
> > pfPipeWindow::setWSWindow(). When I call pfPipeWindow::open() a whole
> > new motif window is created outside of my origonal window. How do I make
> > Performer render to just one area of a window?
> >
> > Here is the code I am using:
> >
> > /* pfPipeWindow created here
> > ...
> > */
> >
> > // I need a void** to pass to pfChooseFBConfigData()
> > int* foo = (int*)pfMalloc( sizeof(int), pfGetSharedArena() );
> > // I create an OpenGL rendering widget
> > windowWidget = XtVaCreateManagedWidget( name,
> > glwMDrawingAreaWidgetClass, parentWidget,
> > GLwNvisualInfo,
> > pfChooseFBConfigData( (void**)&foo,
> > XtDisplay(parentWidget), -1, NULL,
> > pfGetSharedArena() ), NULL );
> > _win->setWSDrawable( NULL, XtWindow( windowWidget ) );
> > _win->setWSWindow( NULL, XtWindow( parentWidget ) );
> >
> >
> > /* pfPipeWindow::open() called later
> > ...
> > */
> >
> >
> > The widget is always black, and the seperate pfPipeWindow draws
> > properly. Its like I never called setWSWindow().
> >
> > Does anyone know what's going wrong?
> >
> > --
> >
> > Ethan Phelps-Goodman
> > ethan++at++coral.arc.nasa.gov
> >
>
> Do you call pfPipeWindow::setOrigin(int xo, int yo); or
> pfPipeWindow::setOriginSize(int xo, int yo, int xs, int ys);
> Don't because I had problems getting performer to use a separate window
> when using theses calls. Looks like you are doing everything
> correctly maybe it is where you are calling the PfPipeWindow::open()
> where do you do that?
>
> Brian
>
> --
> o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o
>
> Brian Furtaw (brian++at++sgi.com)
> VisSim Technical Consultant
> 12200-G Plum Orchard Drive Office:(301)572-3293 Fax: (301)872-3293
> Silver Spring, Maryland 20904 OpenGL/ImageVision/OpenInventor/Performer
I call pfPipeWindow::open() later in the program when I want to show the
viewer. open() is called in the application process.
--
Ethan Phelps-Goodman
ethan++at++coral.arc.nasa.gov
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:55:45 PDT