Copyright ©1995 by NeXT Computer, Inc.  All Rights Reserved.

N3DRenderPanel



Inherits From: Panel : Window : Responder : Object
Declared In: 3Dkit/N3DRenderPanel.h



Class Description

N3DRenderPanel provides a user interface for controlling rendering with the PhotoRealistic RenderMan renderer.  The Render panel lets the user select the host or hosts on which to perform  rendering and the resolution of that rendering.  Each application has at most one instance of N3DRenderPanel.

An N3DRenderPanel is presented anytime RIB is printed (either through an N3DCamera or an N3DRIBImageRep).  When an application prints RIB code, the PhotoRealistic RenderMan renderer generates a TIFF image of the 3D scene, which is then merged into the PostScript stream being spooled to the printer.  The Render panel is also presented anytime as image is generated using the N3DCamera methods renderAsTIFF and renderAsEPS.

You generally won't need to use this class directly:  The 3D Graphics Kit ensures that an instance of N3DRenderPanel is created and presented to the user at the appropriate times.  However, you may want to send messages to that instance to add an accessory view or perform other customization.



Instance Variables

id browser

id nametext

id notetext

id resolution

char **hostnames

id accessoryView


browser NXBrowser instance that lists rendering host names
nametext TextField instance that lists the selected host
notetext TextField instance that displays notes about the host
resolution TextField instance that displays rendering resolution
hostnames Pointer to array of names of selected hosts
accessoryView Optional View added by the application



Method Types

Initializing the class + initialize
+ new
Setting accessory view accessoryView
setAccessoryView:
Running modal runModal
Setting resolution resolution
Host management numSelectedHosts
hostNames
Browser delegate method browser:fillMatrix:inColumn:



Class Methods

initialize
+ initialize

Initializes the N3DRenderPanel class by reading data from the defaults database.  You never invoke this method directly; it is invoked for you the first time an instance of N3DRenderPanel is created by your application.



new
+ new

Creates, if necessary, and returns the application's sole instance of N3DRenderPanel.  Use this method to get the id of this instance--for example, to add an accessory View to the N3DRenderPanel.  It is invoked automatically when an application starts printing a View that generates RIB code, either directly or through a subview.



Instance Methods

accessoryView
accessoryView

Returns the accessory View, an optional View added to the Render panel by the application.

See also:  setAccessoryView:



browser:fillMatrix:inColumn:
(int)browser:hostBrowser
fillMatrix:matrix
inColumn:(int)col

This method fills the panel's browser with a list of available hosts.  The Render panel is hostBrowser's delegate, and NXBrowser objects send this message whenever a column needs to be updated.  This method fills matrix with the host names and returns the number of names placed in the matrix.



hostNames
(char **)hostNames

Returns an array of selected host names--the list of names in the Render panel's browser that the user has highlighted.  The number of entries in this array is returned by numSelectedHosts.

See also:  numSelectedHosts



numSelectedHosts
(int)numSelectedHosts

Returns the number of rendering hosts that the user has selected in the Render panel's browser.  The array of selected host names is returned by hostNames.

See also:  hostNames



resolution
(int)resolution

Returns the rendering resolution specified by the user.  This value represents the number of pixels per inch for images to be rendered by the PhotoRealistic RenderMan renderer.



runModal
(int)runModal

Presents the Render panel in a modal loop.  Before displaying the panel, this method loads the browser with host names and sets the selected host to that previously selected.  Returns 1 if the modal loop was ended by the user choosing the Render button, 0 if the modal session was ended by the user choosing Cancel.



setAccessoryView:
setAccessoryView:aView

Sets the receiver's accessory View to aView.  Use this method to add a View containing custom user interface features to your application's instance of N3DRenderPanel.  Returns self.

See also:  accessoryView