Interface PvViewerIf
-
- All Superinterfaces:
- java.util.EventListener, java.awt.event.KeyListener, PsViewerIf
- All Known Implementing Classes:
- PvViewer
public interface PvViewerIf extends PsViewerIf
Interface for a viewer which manages the 3d-display, control window, and list of projects. PvViewer is a central class in JavaView and usually created at the beginning of an applet or application.Add one, or more, projects
PjProjectvia method callsaddProject((String, String, String [])),addProject(String, String, String, String []), oraddProject(PjProject). Once a project has been registered this way, it may be selected byselectProject(String)to become the active project, i.e. its geometry is rendered in the displaygetDisplay(), and its panels may be made visible via the methodshowPanel(int).The 3d-display is be obtained from PvViewerIf by
getDisplay()and can be included in a container, e.g. inside the applet or standalone frame.The control window may be slightly configured by
showPanel(int).- See Also:
PvViewer,PsViewerIf- Author:
- Konrad Polthier
- Version:
- 08.04.00, 1.30 revised (kp) Methods related with frames of displays removed.
02.04.00, 1.20 revised (kp) Added two methods to obtain applet and frame.
12.06.99, 1.00 created (kp) Created the interface from the implementation jv.viewer.PvViewer.
-
-
Field Summary
-
Fields inherited from interface jv.object.PsViewerIf
ABOUT, ABOUT_APPLET, ADD_GEOMETRY, ADD_PROJECT, ANIMATION, AXIS, AXIS_X, AXIS_Y, AXIS_Z, BOUNDARY, CAMERA, CONFIG, CONSOLE, CONTROL, DISPLAY, EXPORT_BUG, EXPORT_BYU, EXPORT_DXF, EXPORT_EPS, EXPORT_FE, EXPORT_GIF, EXPORT_GIF_ANIM, EXPORT_HTML, EXPORT_JPG, EXPORT_JPG_ANIM, EXPORT_JVD, EXPORT_JVX, EXPORT_JVX_SMALL, EXPORT_JVZ, EXPORT_MA, EXPORT_MGS, EXPORT_MPL, EXPORT_MULTIPLE, EXPORT_OBJ, EXPORT_OFF, EXPORT_PDF, EXPORT_PLY, EXPORT_PNG, EXPORT_POV, EXPORT_PPM, EXPORT_PPM_ANIM, EXPORT_PS, EXPORT_STL, EXPORT_U3D, EXPORT_VAL, EXPORT_VALIDATE, EXPORT_VRML, EXPORT_WRL, EXPORT_XML, EXPORT_XYZ, HELP, IMPORT_DISK, IMPORT_JVD, IMPORT_VGP, INFO, LABEL, LICENSE, LIGHT, MATERIAL, MENU_DISPLAY_ADD_ELEMENT, MENU_DISPLAY_ADD_VERTEX, MENU_DISPLAY_DELETE_GEOMETRY, MENU_DISPLAY_DISPLAY_PICK, MENU_DISPLAY_DRAWING, MENU_DISPLAY_INITIAL_PICK, MENU_DISPLAY_MARK_ELEMENT, MENU_DISPLAY_MARK_VERTEX, MENU_DISPLAY_ORBIT, MENU_DISPLAY_PICK_VERTEX, MENU_DISPLAY_SCALE, MENU_DISPLAY_SCALE_RECT, MENU_DISPLAY_TRANSLATE, MENU_DISPLAY_TRANSLATE_Z, MENU_DISPLAY_UNMARK_ELEMENT, MENU_DISPLAY_UNMARK_VERTEX, MENU_DISPLAY_VERTICAL, MENU_FILE, MENU_FILE_CLOSE, MENU_FILE_EXIT, MENU_FILE_EXPORT, MENU_FILE_EXPORT_BYU, MENU_FILE_EXPORT_FE, MENU_FILE_EXPORT_GIF, MENU_FILE_EXPORT_JPG, MENU_FILE_EXPORT_JVD, MENU_FILE_EXPORT_JVX, MENU_FILE_EXPORT_JVX_SMALL, MENU_FILE_EXPORT_MA, MENU_FILE_EXPORT_MGS, MENU_FILE_EXPORT_MPL, MENU_FILE_EXPORT_OBJ, MENU_FILE_EXPORT_OFF, MENU_FILE_EXPORT_PDF, MENU_FILE_EXPORT_PLY, MENU_FILE_EXPORT_POV, MENU_FILE_EXPORT_PPM, MENU_FILE_EXPORT_STL, MENU_FILE_EXPORT_U3D, MENU_FILE_EXPORT_VRML, MENU_FILE_EXPORT_WRL, MENU_FILE_EXPORT_XYZ, MENU_FILE_IMPORT, MENU_FILE_IMPORT_DISK, MENU_FILE_IMPORT_JVD, MENU_FILE_IMPORT_SER, MENU_FILE_IMPORT_VGP, MENU_FILE_NEW, MENU_FILE_NEW_DISPLAY, MENU_FILE_NEW_GEOMETRY, MENU_FILE_NEW_PROJECT, MENU_FILE_PRINT, MENU_FILE_PRINT_EPS, MENU_FILE_PRINT_PS, MENU_FILE_SUBMIT, MENU_HELP, MENU_HELP_ABOUT, MENU_HELP_APPLET, MENU_HELP_FONTS, MENU_HELP_LICENSE, MENU_HELP_RESOURCE, MENU_HELP_SYSTEM, MENU_HELP_VIEWER, MENU_INSPECTOR, MENU_INSPECTOR_AXIS, MENU_INSPECTOR_AXIS_X, MENU_INSPECTOR_AXIS_Y, MENU_INSPECTOR_AXIS_Z, MENU_INSPECTOR_CAMERA, MENU_INSPECTOR_DISPLAY, MENU_INSPECTOR_GEOMETRY, MENU_INSPECTOR_GEOMETRY_BOUNDARY, MENU_INSPECTOR_GEOMETRY_CONFIG, MENU_INSPECTOR_GEOMETRY_INFO, MENU_INSPECTOR_GEOMETRY_LABEL, MENU_INSPECTOR_GEOMETRY_MATERIAL, MENU_INSPECTOR_GEOMETRY_TEXTURE, MENU_INSPECTOR_GEOMETRY_VECTOR, MENU_INSPECTOR_LIGHT, MENU_INSPECTOR_OBJECT, MENU_INSPECTOR_OBJECT_CONFIG, MENU_INSPECTOR_OBJECT_INFO, MENU_INSPECTOR_OBJECT_MATERIAL, MENU_INSPECTOR_OBJECT_TEXTURE, MENU_INSPECTOR_PROJECT, MENU_METHOD, MENU_SEPARATOR, MENU_WINDOW, MENU_WINDOW_ANIMATION, MENU_WINDOW_CONSOLE, MENU_WINDOW_NETWORK, NEW_GEOMETRY, NEW_PROJECT, OBJECT, PRINT, PROJECT, RESOURCE, RSRC, TEXTURE, VECTOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method and Description booleanaddDisplay(java.lang.String name, PvDisplayIf disp)Register a new display.booleanaddProject(java.lang.String name, java.lang.String className, java.lang.String[] parmList)Registers the name and class of a project in the viewer in default category.voiddestroy()Called from an applet.destroy() method to perform clean-up when applet gets destroyed.java.applet.AppletgetApplet()Get current applet.PsDialoggetDialog(int dialog)Get dialog window.PvDisplayIfgetDisplay()Make default display available outside, e.g. for inclusion in applet window.PvDisplayIf[]getDisplays()Get array of registered displays.java.awt.FramegetFrame()Get current frame if running as application.java.awt.PanelgetPanel(int panel)Make panels available outside our environment, i.e. outside control panel and outside our direct influence.java.lang.StringgetParameter(java.lang.String parmLabel)Get value of applet parameter.java.lang.StringgetRecentGeometryFile()Deprecated.since JavaView 3.09.003, use PsJavaView.getFullFileName(int)booleanhasDisplay(PvDisplayIf disp)Check for a registered display by display instance.booleanhasProject(java.lang.String name)Check existence of a project instance with given name.booleanhideDialog(int dialog)Hide visible dialog.java.lang.StringnewDisplay()Create a new AWT display inside a new frame.PvDisplayIfnewDisplay(java.lang.String name)Deprecated.Use method newDisplay(String, boolean)PvDisplayIfnewDisplay(java.lang.String name, boolean bFrame)Create a new empty AWT display which is optionally placed inside a new frame.PvDisplayIfnewDisplay(java.lang.String name, boolean bFrame, boolean bSelect)Create a new empty AWT display which is optionally placed inside a new frame.booleanremoveDisplay(PvDisplayIf disp)Remove a registered display from list of registered displays.booleanremoveProject(java.lang.String aName)Deprecated.since JavaView 2.92.000, use PvViewer#removeProject(PjProject)booleanselectDisplay(PvDisplayIf disp)Select a registered display to become the active display.booleanselectProject(java.lang.String aName)Selects a project to become the active project.booleansetEnabledPanel(int panel, boolean cond)Enable or disable menu entry of panel.voidsetGeometry(PgGeometryIf geom)Set current geometry whose inspector panels are display inside the control panel.voidsetRecentGeometryFile(java.lang.String model)Deprecated.since JavaView 3.09.003, use PsJavaView.setFullFileName(int, String)booleanshowDialog(int dialog)Show dialogs as separate frames.booleanshowPanel(int panel)Make panels visible.voidstart()Start viewer, call start method of current project, and show control panel if requested.voidstop()Stop viewer, call stop() method of current project, and close control panel if shown.-
Methods inherited from interface jv.object.PsViewerIf
addProject, export, export
-
-
-
-
Method Detail
-
getApplet
java.applet.Applet getApplet()
Get current applet. If running as application method returns applet inside frame.
-
getFrame
java.awt.Frame getFrame()
Get current frame if running as application.
-
getParameter
java.lang.String getParameter(java.lang.String parmLabel)
Get value of applet parameter. Calling this method avoids multiple getParameter(String) calls.The first call to getParameter() tries to read all parameters specified in m_applet.m_info from Html page. Reads parameters from the applet's HTML page. Format on Html page:
<PARAM NAME="label" VALUE="some string">.- Returns:
- value of string if string found, else null
- See Also:
Applet.getParameterInfo(),Applet.getParameter(String)
-
getRecentGeometryFile
java.lang.String getRecentGeometryFile()
Deprecated. since JavaView 3.09.003, use PsJavaView.getFullFileName(int)Get the name including full path of the recently used geometry file. This information will be used as the default offer in some dialogs, for example, when exporting a geometry.- Since:
- JavaView 2.43
-
setRecentGeometryFile
void setRecentGeometryFile(java.lang.String model)
Deprecated. since JavaView 3.09.003, use PsJavaView.setFullFileName(int, String)Set the name including full path of the recently used geometry file. This information will be used as the default offer in some dialogs, for example, when exporting a geometry.- Since:
- JavaView 2.30
-
addProject
boolean addProject(java.lang.String name, java.lang.String className, java.lang.String[] parmList)Registers the name and class of a project in the viewer in default category. Later the project must be selected by name to be instantiated and to become the active project in the environment. This method allows to pass a list of parameter strings to the project which may be parsed by the project, e.g. used to receive initial values from an Html page.- Parameters:
name- Unique name of project, used for identification and selectionclassName- Class name of project, used for creationparmList- List of parameters, may benull.- See Also:
PsViewerIf.addProject(String, String, String, String []),hasProject(String),selectProject(String)
-
hasProject
boolean hasProject(java.lang.String name)
Check existence of a project instance with given name. If project is not found in project list, return false. Note, this method queries for instances of projects and not for project class names.
-
removeProject
boolean removeProject(java.lang.String aName)
Deprecated. since JavaView 2.92.000, use PvViewer#removeProject(PjProject)Removes a registered project, project must be added again for further use.Project must be explicitly disposed using
PjProject#disposeafter calling the present method. Explicit disposal allows the individual project to clean-up its allocated resources.- See Also:
hasProject(String),selectProject(String)
-
selectProject
boolean selectProject(java.lang.String aName)
Selects a project to become the active project. Selection may be done via a direct call or interactively by choosing from the menuFILE-->LOAD. Each project must be added to the viewer before it becomes selectable.- See Also:
hasProject(String),removeProject(String)
-
getDisplay
PvDisplayIf getDisplay()
Make default display available outside, e.g. for inclusion in applet window. Just include the display inside the applet in a container.- Returns:
- PvDisplayIf the default 3d-display
- See Also:
getDisplays()
-
getDisplays
PvDisplayIf[] getDisplays()
Get array of registered displays.- Returns:
- array of registered displays
- See Also:
getDisplays()
-
newDisplay
java.lang.String newDisplay()
Create a new AWT display inside a new frame. Method is invoked from menus, name of display is automatically chosen. All geometries of currently selected display are added to new display. Display becomes the selected display in viewer. Note: Method is currently only used by PvDisplay, and method is included in this interface to separate PvDisplay from PvViewer.- Returns:
- Automatically chosen name of new display
- See Also:
newDisplay(String, boolean),newDisplay(String name, boolean bFrame, boolean bSelect)
-
newDisplay
PvDisplayIf newDisplay(java.lang.String name)
Deprecated. Use method newDisplay(String, boolean)Add new AWT display in a new frame.- Parameters:
name- Name of new display. If name is null, then default name is chosen.- Returns:
- New display
- See Also:
newDisplay(String, boolean)
-
newDisplay
PvDisplayIf newDisplay(java.lang.String name, boolean bFrame, boolean bSelect)
Create a new empty AWT display which is optionally placed inside a new frame. Optionally, this display becomes the selected display in this viewer.If a frame is allocated then the frame is not displayed and must be made visible in the application. The idea behind "not showing the frame" is as follows: if the frame is shown immediately then PvViewer must use a default window size and position. If the user would like to adjust this size, then he can do so only after the frame is already visible. Therefore, I do not show the frame in order to avoid instantaneous resizing.
The display is added to the center of the frame. The frame may be obtained from the display via
PvDisplayIf#getFrame().- Parameters:
name- Name of new display. If name is null, then default name is chosen.bFrame- Iftruethen allocate a frame and add display to center.bSelect- Iftruethen select this display as current display.- Returns:
- New display
- See Also:
newDisplay(),newDisplay(String, boolean),addDisplay(String, PvDisplayIf),PvDisplayIf.getFrame()
-
newDisplay
PvDisplayIf newDisplay(java.lang.String name, boolean bFrame)
Create a new empty AWT display which is optionally placed inside a new frame. Display becomes the selected display in viewer.If a frame is allocated then the frame is not displayed and must be made visible in the application. The display is added to the center of the frame. The frame may be obtained from the display via
PvDisplayIf#getFrame().- Parameters:
name- Name of new display. If name is null, then default name is chosen.bFrame- Iftruethen allocate a frame and add display to center.- Returns:
- New display
- See Also:
newDisplay(),newDisplay(String name, boolean bFrame, boolean bSelect),addDisplay(String, PvDisplayIf),PvDisplayIf.getFrame()
-
hasDisplay
boolean hasDisplay(PvDisplayIf disp)
Check for a registered display by display instance.- Parameters:
disp- display to be checked- Returns:
falseif display is not registered.- See Also:
addDisplay(String, PvDisplayIf)- Version:
- 16.03.01, 1.50 revised (kp) Returned value change to boolean from String.
-
addDisplay
boolean addDisplay(java.lang.String name, PvDisplayIf disp)Register a new display.- Parameters:
name- name of displaydisp- display to be added- Returns:
falseif same name already exists.- See Also:
hasDisplay(PvDisplayIf),selectDisplay(PvDisplayIf)
-
removeDisplay
boolean removeDisplay(PvDisplayIf disp)
Remove a registered display from list of registered displays.- Parameters:
disp- display to be removed- Returns:
falseif display is not registered.- See Also:
addDisplay(String, PvDisplayIf),hasDisplay(PvDisplayIf)
-
selectDisplay
boolean selectDisplay(PvDisplayIf disp)
Select a registered display to become the active display.- Parameters:
disp- display to selected- Returns:
falseif display is not registered.- See Also:
addDisplay(String, PvDisplayIf),hasDisplay(PvDisplayIf)
-
showDialog
boolean showDialog(int dialog)
Show dialogs as separate frames. Possible arguments jv.object.PsViewerIf.ABOUT etc.
Possible arguments for dialogs are PsViewerIf.ABOUT, PsViewerIf.EXPORT_JVX etc, see static variables inPsViewerIf.- Parameters:
dialog- Integer identifier of dialog to be shown- Returns:
- true if success, false if dialog class not found.
- See Also:
getDialog(int),hideDialog(int)
-
getDialog
PsDialog getDialog(int dialog)
Get dialog window. Possible arguments jv.object.PsViewerIf.ABOUT,...
Possible arguments for dialogs are currentlyjv.object.PsViewerIf#ANIMATION,jv.object.PsViewerIf#CONSOLE. See static variables inPsViewerIf.- Parameters:
dialog- Integer identifier of dialog to be received- Returns:
- Requested dialog, or null.
- See Also:
hideDialog(int),showDialog(int)
-
hideDialog
boolean hideDialog(int dialog)
Hide visible dialog. For possible arguments seejv.object.PsViewerIf#ABOUT,... Hides visible dialogs. Possible arguments for dialogs are currentlyjv.object.PsViewerIf#ANIMATION,jv.object.PsViewerIf#CONSOLE,jv.object.PsViewerIf#CONTROL,jv.object.PsViewerIf#HELP. See static variables inPsViewerIf.- Parameters:
dialog- Integer identifier of dialog to be hidden- Returns:
- true if success, false if dialog not found.
- See Also:
getDialog(int),showDialog(int)
-
showPanel
boolean showPanel(int panel)
Make panels visible. They appear either inside the control window or as separate frames, e.g. the control window appears as frame, and project, display, camera, and object panels as panels inside control frame. If panel has already been requested by a call to getPanel then a call to showPanel is void and returns false.- Parameters:
panel- Id of panel to be shown- Returns:
trueif success, false if panel not found or used outside via method getPanel().- See Also:
getPanel(int)
-
setEnabledPanel
boolean setEnabledPanel(int panel, boolean cond)Enable or disable menu entry of panel.- Parameters:
panel- Id of panel to enablecond- If true, enables this panel's menu entry; if false, disables it.- Returns:
trueif panel exists, otherwisefalse.- See Also:
showPanel(int)- Version:
- 25.07.03, 1.10 revised (kp) Renamed to setEnabledPanel() from enablePanel().
-
getPanel
java.awt.Panel getPanel(int panel)
Make panels available outside our environment, i.e. outside control panel and outside our direct influence. E.g. an applet may include a panel or it may create a separate frame for the panel.If a panel is requested via this method, then it will no longer be selectable via its menu entry in the control window neither by a call to method
showPanel. Menu entries will be disabled but still visible.- Parameters:
panel- Id of requested panel- Returns:
- Requested panel if it exists, otherwise null.
- See Also:
showPanel(int)- Version:
- 10.10.03, 1.60 revised (kp) Return type changed back to Panel from PsPanel to prevent need for recompilation of old JARs.
13.08.03, 1.50 revised (kp) Return type changed to PsPanel from Panel.
-
setGeometry
void setGeometry(PgGeometryIf geom)
Set current geometry whose inspector panels are display inside the control panel. Note: Method is currently only used by PvDisplay, and method is included in this interface to separate PvDisplay from PvViewer.
-
destroy
void destroy()
Called from an applet.destroy() method to perform clean-up when applet gets destroyed. Here we just close and dispose all control windows.
-
start
void start()
Start viewer, call start method of current project, and show control panel if requested.- See Also:
PjProject.start()
-
stop
void stop()
Stop viewer, call stop() method of current project, and close control panel if shown.- See Also:
PjProject.stop()
-
-
"