Page 1 L. Howell H. Prosper December 20, 1991 PXBUILD.DOC PIXIE SYSTEM TO BUILD AND MODIFY RCP FILES I. PXBUILD The PXBUILD program allows you to modify RCP files interactively along with their corresponding P*INIT and P*EXEC routines. DISPLAY is a picture. SCREEN is a picture drawn within a graphics VIEWPORT, which, in turn, is a rectangular area within the physical graphics display area. A screen is created by a single routine (with no arguments) called an ACTION ROUTINE. SCREEN is a display defined in the PXSCREEN array. VIEW can be a single picture; a combined picture, ovarlayed pictures; or multiple pictures, more that one independent picture. VIEWPORT is the number of independent screens on a view. SINGLE VIEW is a display compose of only one screen. COMBINED VIEW is a view compose of two or more screens, overlaying each other. This view has one viewport. MULTIPLE VIEW is a view compose of two or more screens that are independent form each other. SCREEN PARAMETERS are parameters that define the viewing parameters for a view. GENERAL PARAMTERS are parameters that applied to the package. These parameters values are general values that are use throughout the code. ACTION VERB is the name which is returned when a menu is executed. ACTION ROUTINE is the name of the routine that will be call when the its view (single) is execuetd. SCREEN NAME is the name of a view either single or combined. II. GETTING STARTED: Before running PXBUID a series of definitions should be taken care of: $ DEFINE PXBUILD_RCP D0$PIXIE:PXBUILD.RCP Also if you want to read your own version of a particular RCP file you should defined the logical: $ DEF D0$PIXIE: "The area where your RCP file is"-, D0$ROOT:[TEST.PIXIE.SOURCE],- D0$ROOT:[PIXIE.SOURCE] There is a link file in the PIXIE area that should be use to create the executable: PXBUILD.LNK III. RUNNING PXBUILD PXBUILD: -------- +-----------------------------------------------------------------------------+ | Welcome to PXBUILD V1.00; PIXIE TEST V3.0_07 12-JUL-1991 16:41:06.16 | | | +-----------------------------------------------------------------------------+ | | | | +-----------------------------------------------------------------------------+ | BUILD PIXIE USER INTERFACE ROUTINE | +-----------------------------------------------------------------------------+ ->READ Display File MODIFY RCP File 1. READ: read a RCP file(s) into the PXBUILD framework. If more than one RCP file separate the names using a comma (,). PXBUILD will read the file with the format D0$PIXIE:Name_entered. 2. MODIFY: Lets you modify the RCP file(s) read . If there was more than one RCP file read it will display a list of the current RCP files in the PXBUILD framework for the user to chose the one to be modified. Page 2 MODIFY: ------- +-----------------------------------------------------------------------------+ | Welcome to PXBUILD V1.00; PIXIE TEST V3.0_07 12-JUL-1991 16:41:06.16 | | | +-----------------------------------------------------------------------------+ | | | | +-----------------------------------------------------------------------------+ | MODIFY PX_CDCDIS_RCP | +-----------------------------------------------------------------------------+ ->Edit Menu Edit Screen Parameters Merge With a RCP File Change RCP File Write the current RCP file Write Routines 1. EDIT MENU: Lets you edit the menu items in the RCP file. You can add, remove or list the menu items in this option. 2. EDIT SCREEN: You can edit the screen parameters of the views available in the RCP file. A list of all available views will be displayed so the user can choose the view he/she is going to modify. You can modify viewports or delete viewports, change window paramters, action routine names, 3D paramters and the view name in this option. 3. MERGE: Merges the current RCP file with another RCP file. The user can choose the RCP file to be merge from the library, his/her current area or another area specified. 4. CHANGE RCP: Activate another RCP file into the PXBUILD framework. 5. WRITE RCP: writes the current RCP file in your current area. 6. WRITE ROUTINES: Writes the corresponding EXEC and INIT routines of the current RCP file. This option will prompt the user with the following questions: 'Menu Title>': Menu title use in the EXEC routine. Not very important 'Routine Name (INIT)>': Name of the INIT routine 'Routine Name (EXEC)>': Name of the EXEC routine EDIT MENU: ---------- +-----------------------------------------------------------------------------+ | Welcome to PXBUILD V1.00; PIXIE TEST V3.0_07 12-JUL-1991 16:41:06.16 | +-----------------------------------------------------------------------------+ | | | | +-----------------------------------------------------------------------------+ | EDITING MENUS FOR PX_MUODIS_RCP | +-----------------------------------------------------------------------------+ ->List Menu Items Add menu Item Remove Menu Item Clear Menu 1. LIST: List all the menu items in the RCP file with their corresponding ACTION routine. Page 3 2. ADD: Adds a menu item to the RCP file. This option requires some information from the user: "Enter the menu item name>" : Name of menu item for menu display "Enter the command menu item name>": Action verb for the command "Enter remarks of this view>": Help information for item "Is this a combined/multiple view ?(Y/N)[N]>" N - The view is consider a single view and DI3000 default viewing paramters will be use for it. "Please enter the name of the action routine>": Name of action routine for this view Y - The view will be consider a combined/multiple view. A combined/multiple view is a view compose of more than one screen, either by overlaying screens, combined view, or by separate independent views, multiple views. "Enter the number of views this combined view will have ?[1]>" Total number of screens that this combined/multiple view is compose of. "Enter the number of ports this combined view will have ?[1]>" Number of independent screens on this view. If it is a combined view, (overlaying screens) this number is 1 If it is a multiple view enter the number of independent screens in the view. "Enter Package name for View #N>": Name of the package of the NTH view "Enter Action name for View #N>": Name of the Nth view to use 3. REMOVE: Removes a menu item from the RCP file. A list with all the current menus will be displayed do the user can select the menu item to be removed. 4. CLEAR: Clears all changes made to the RCP file in this editing session. EDIT SCREEN PARAMTERS: ---------------------- +-----------------------------------------------------------------------------+ | Welcome to PXBUILD V1.00; PIXIE TEST V3.0_07 12-JUL-1991 16:41:06.16 | +-----------------------------------------------------------------------------+ | | | | +-----------------------------------------------------------------------------+ | EDITING VIEW TK_BLOUP | +-----------------------------------------------------------------------------+ ->Modify Viewport Delete Viewport Change WINDOW Params Center and Size Window Change Action Routine Modify 3-D Parameters Change View Name 1. MODIFY VIEWPORT: Modify the viewports of the current view letting the user use the mosue to select the two oposit corners of the new viewport. 2. DELETE VIEWPORT: Deletes the viewport of the a view if the view has more than one viewport. 3. CHANGE WINDOW PARAMS: Changes each window parameters manually 4. CENTER AND SIZE WINDOW: Changes the window parameters entering the center of X and center of Y coordenates and the X size. Page 4 5. CHANGE ACTION ROUTINE: Changes the action routines names The name of the old action routine that belongs to the editing view will be displayed. 6. MODIFY 3-D PARAMETERS: Modifies each 3d parameters manually 7. CHANGE SCREEN NAME: Change the name of the screen. IV. BUILD RCP FILE FROM SCRATCH With the PXBUILD program the user can build a new RCP file from scratch. Before invoking PXBUILD the user must create a RCP file withthe basic elements required by PXBUILD: \START PX_TESTDIS_RCP !---------------------------------------------------------------------- ! Name: PX_TESTDIS.RCP ! Package: ! Library: ! Purpose: ! Version ! Created: 17-DEC-1991 Lupe Howell !---------------------------------------------------------------------- ACTIVE TRUE ! Package ON/OFF switch MENDEF FALSE ! Need to be true when not using D0USER \ARRAY COMPACK_MENUS 'TESTDIS' \END \STOP ! PX_TESTDIS_RCP Make sure you define D0$PIXIE to the area where the new file is so it can be found by PXBUILD. VI. EXMAPLES OF RCP FILES EXAMPLE Here is a short RCP file to help you with the PIXIE display terminology. \START TEST_RCP !---------------------------------------------------------------------- ! Name: TEST.RCP ! Purpose: Sample RCP file to show terminology ! Version ! Created: 17-DEC-1991 Lupe Howell !---------------------------------------------------------------------- ACTIVE TRUE ! Package ON/OFF switch MENDEF FALSE ! Need to be true when not using D0USER \ARRAY COMPACK_MENUS 'TEST' ! Package Name \END \ARRAY TEST ! Array containing the menu names and comments of the package TRUE ! Logical flag indicating if item is active FALSE ! Logical flag indicating wheter main title should be display or not 'First view menu' ! Name of 1st menu item as seen on the screen 'FIRTS VIEW MENU' ! 1st Action verb for the command ' First view of the package' ! Help information for item TRUE FALSE 'Side View Display' ! Name of 2nd menu item as seen on the screen 'SIDE_VIEW_DISLAY%' ! 2nd Action verb for the command ' Displays side view of this package' ! Help information TRUE TRUE 'End View Display' ! Name of 3rd menu item as seen on the screen 'END VIEW DISPLAY' ! 3rd Action verb for the command ' Displays a combined view of the side view' FALSE ! This menu is not active so it will not be displayed in the menu FALSE 'Side view 2' ! Name of 4th menu item as seen on the screen 'SIDE VIEW 2' ! 4th Action verb for the command ' Side view number two used in combined view' \END !--------------------------------------------------------- ! Definition of TEST Parameters !--------------------------------------------------------- \ARRAY PXPARAMS ! Array containign general paramteres for the packages 'TEST ONLY' TRUE ' Only FDC displays, not combin.' 'CHOOSE HALF' TRUE ' Use half w. track,else FDC HALF' 'PHI MODE' 0 ' Phi limits,0=full,1=sys,2=user' \END !--------------------------------------------------------- ! Definition of TEST Screens Paramters !--------------------------------------------------------- \ARRAY PXSCREEN ! Array containing the screen parameters for each single view 'NSCREEN' 3 ' Total Number of Screens' 'NAME' 'FIRTS VIEW MENU' 'Firts View Menu' ! Screen parameters for ! first menu item 'ACTION' 'PFVIEW' 'Name of the Action Routine for this view' 'PICKABLE' F ' TRUE if pickable' 'VIEW3D' TRUE ' True if eD viewport' 'KEEPCIRCLE' TRUE ' True if circles are kept' 'VPORTXMIN' -1.0000 ' X min Viewport' 'VPORTXMAX' 1.0000 ' X max Viewport' 'VPORTYMIN' -1.0000 ' Y min Viewport' 'VPORTYMAX' 1.0000 ' Y max Viewport' 'WINDOWXMIN' -100.0000 ' X Min Window limit' 'WINDOWXMAX' 100.0000 ' X Max Window limit' 'WINDOWYMIN' 0.0000 ' Y Min Window limit' 'WINDOWYMAX' -1.0000 ' Y Max Window limit' 'VIEWREFX' 0.0000 ' X View reference pnt' 'VIEWREFY' 0.0000 ' Y View reference pnt' 'VIEWREFZ' 0.0000 ' Z View reference pnt' 'UPVECX' 0.0000 ' X Up vector' 'UPVECY' 1.0000 ' Y Up vector' 'UPVECZ' 0.0000 ' Z Up vector' 'CAMX' 0.0000 ' X Camera point' 'CAMY' 0.0000 ' Y Camera point' 'CAMZ' 1.0000 ' Z Camera point' 'NAME' 'END VIEW DISPLAY' 'End View Display' ! Screen parameters for ! third menu item 'ACTION' 'PEVIEW' 'Name of the Action Routine for this view' 'PICKABLE' F ' TRUE if pickable' 'VIEW3D' TRUE ' True if eD viewport' 'KEEPCIRCLE' TRUE ' True if circles are kept' 'VPORTXMIN' -1.0000 ' X min Viewport' 'VPORTXMAX' 1.0000 ' X max Viewport' 'VPORTYMIN' -1.0000 ' Y min Viewport' 'VPORTYMAX' 1.0000 ' Y max Viewport' 'WINDOWXMIN' -100.0000 ' X Min Window limit' 'WINDOWXMAX' 100.0000 ' X Max Window limit' 'WINDOWYMIN' 0.0000 ' Y Min Window limit' 'WINDOWYMAX' -1.0000 ' Y Max Window limit' 'VIEWREFX' 0.0000 ' X View reference pnt' 'VIEWREFY' 0.0000 ' Y View reference pnt' 'VIEWREFZ' 0.0000 ' Z View reference pnt' 'UPVECX' 0.0000 ' X Up vector' 'UPVECY' 1.0000 ' Y Up vector' 'UPVECZ' 0.0000 ' Z Up vector' 'CAMX' 0.0000 ' X Camera point' 'CAMY' 0.0000 ' Y Camera point' 'CAMZ' 1.0000 ' Z Camera point' 'NAME' 'SIDE VIEW 2' 'Side View 2 ' ! Screen parameters for ! fourh menu item 'ACTION' 'PSVIEW2' 'Name of the Action Routine for this view' 'PICKABLE' F ' TRUE if pickable' 'VIEW3D' TRUE ' True if eD viewport' 'KEEPCIRCLE' TRUE ' True if circles are kept' 'VPORTXMIN' -1.0000 ' X min Viewport' 'VPORTXMAX' 1.0000 ' X max Viewport' 'VPORTYMIN' -1.0000 ' Y min Viewport' 'VPORTYMAX' 1.0000 ' Y max Viewport' 'WINDOWXMIN' -100.0000 ' X Min Window limit' 'WINDOWXMAX' 100.0000 ' X Max Window limit' 'WINDOWYMIN' 0.0000 ' Y Min Window limit' 'WINDOWYMAX' -1.0000 ' Y Max Window limit' 'VIEWREFX' 0.0000 ' X View reference pnt' 'VIEWREFY' 0.0000 ' Y View reference pnt' 'VIEWREFZ' 0.0000 ' Z View reference pnt' 'UPVECX' 0.0000 ' X Up vector' 'UPVECY' 1.0000 ' Y Up vector' 'UPVECZ' 0.0000 ' Z Up vector' 'CAMX' 0.0000 ' X Camera point' 'CAMY' 0.0000 ' Y Camera point' 'CAMZ' 1.0000 ' Z Camera point' \END !--------------------------------------------------------- ! Definition of Combined views !--------------------------------------------------------- \ARRAY SIDE_VIEW_DISPLAY% ! Array containing the description of the ! views that make it '%TITLE' 'SIDE VIEW DISPLAY' ' ' ! Title of the combined view '%PACKAGE' 'TEST' ' ' ! Name of the package of the 1st view '%ACTION' 'FIRST VIEW MENU' ' ' ! Name of the 1st display in the ! combined view '%PARAMS' ' ' ' ' ! Parameters values in this display 'FDC ONLY' TRUE ' ' '%SCREEN' ' ' ' ' ! Screen paramters for this view 'VPORTXMIN' -1.0000 ' ' 'VPORTXMAX' 1.0000 ' ' 'VPORTYMIN' 0.0000 ' ' 'VPORTYMAX' 1.0000 ' ' 'WINDOWXMIN' -200.0000 ' ' 'WINDOWXMAX' 200.0000 ' ' 'WINDOWYMIN' 0.0000 ' ' 'WINDOWYMAX' -1.0000 ' ' '%PACKAGE' 'TEST' ' ' ! Name of the package of 2nd view '%ACTION' 'SIDE VIEW 2' ' ' ! Name of the 2nd display in the combined ! view '%SCREEN' ' ' ' ' ! Screen paramters for this view 'VPORTXMIN' -1.0000 ' ' 'VPORTXMAX' 1.0000 ' ' 'VPORTYMIN' 0.0000 ' ' 'VPORTYMAX' 1.0000 ' ' 'WINDOWXMIN' -200.0000 ' ' 'WINDOWXMAX' 200.0000 ' ' 'WINDOWYMIN' 0.0000 ' ' 'WINDOWYMAX' -1.0000 ' ' \END \STOP ! TEST_RCP VI. APENDIX