testcases/archive/archall.pi ----- archall.pi - Test archive all structures operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, the suituation where there are more than one structure ids has conflict. Verify the structure identifiers in archive, the structure identifiers fr in CSS after retrieval and the contents of the retrieved structures Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup: in CSS: 0->1->2 3 in archive: 2' operations: archive all strs, del all strs from CSS, retrieve all strs expected results in CSS: maintain: 0->1->2' 3' abandon: 2' 3' update: 0->1->2 3 testcases/archive/archive.pi ----- archive.pi - Test simple archive operations test in particular, archival on an empty structure and retrieve structure identifiers operation archive structures: archive a simple structure archive structure networks: archive a structure network archive all structures : archive two structures Verify by comparing the list of structure ids in archive against the expected testcases/archive/archnet.pi ----- archnet.pi - Test archive structure network operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, that the operation would abort if any one of the structure ids has conflict when the conflict resolution flag has the value ABANDON. Verify the structure identifiers in archive, the structure identifiers fr in CSS after retrieval and the contents of the retrieved structures Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup: in CSS: 0->1->2 3 in archive: 2' operations: archive networks 0&3, del all strs from CSS, retrieve all strs expected results in CSS: maintain: 0->1->2' 3' abandon: 2' update: 0->1->2 3 testcases/archive/archstr.pi ----- archstr.pi - Test archive structure operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, that an archived structure remains intact after an unrelated archive operation. Verify the structure identifiers in archive, the structure identifiers fr in CSS after retrieval and the contents of the retrieved structures Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup: in CSS: 0->1->2 3 in archive: 2' 3' operations: archive 0&3, del all strs from CSS, retrieve all strs expected results in CSS: maintain: 0->1e 2' 3' abandon: 2' 3' update: 0->1e 2' 3 testcases/archive/confres.pi ----- confres.pi - verify default conflict archival resolution flag = UPDATE verify default conflict retrieval resolution flag = ABANDON set conflict resolution flag to: MAINTAIN, ABANDON, UPDATE Verify by inquiring conflict resolution flags and compare against the expected testcases/archive/delallar.pi ----- delallar.pi - Test delete all structures from archive operation Verify the structure identifiers in archive Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup in archive: 0->1->2 3 operations: delete all archived strs expected results in archive: NULL testcases/archive/deletear.pi ----- deletear.pi - Test simple delete structure from archive operations delete structures from archive: delete a simple structure delete structure networks from archive: delete a structure network delete all structures from archive: delete two structures Verify by comparing the list of structure ids in archive against the expected testcases/archive/delnetar.pi ----- delnetar.pi - Test delete structure networks from archive operation Verify the structure identifiers in archive, the structure identifiers and contents in CSS after retrieving all remaining structures in archive Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup in archive: ( a->b => a executes b) 0->1->2 3 operations: delete archived str networks 0 expected results in archive: 3 flag: archive conflict resolution flag @N: number of remaining structure after the delete operation @A-@D: ids of remaining structures st0-st3: structure state for str0-str3 ct0-ct3: element type of the first element of structure testcases/archive/delstrar.pi ----- delstrar.pi - Test delete structure from archive operation Verify the structure identifiers in archive, the structure identifiers and contents in CSS after retrieving all remaining structures in archive Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents setup in archive: 0->1->2 3 operations: delete archived str 0&3 expected results in archive: 1->2 @N: number of remaining structure after the delete operation @A-@D: ids of remaining structures st0-st3: structure state for str0-str3 ct0-ct3: element type of the first element of structure testcases/archive/inqallcf.pi ----- inqallcf.pi - Test inquire all conflicting structures Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents Test the following cases: in CSS in archive conflicting structures case 1: NULL NULL NULL case 2: 0->1->2 3 NULL NULL case 3: 0->1->2 3 0->1->2 3 0->1->2 3 case 4: NULL 0->1->2 3 NULL case 5: 2' 3' 4 0->1->2 3 2 3 Verify by comparing the list of conflicting structures with the expected testcases/archive/inqcfnet.pi ----- inqcfnet.pi - Test inquire conflicting structures in network Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents Test the following cases: in CSS in archive src str conflicting structures case 1: 0->1->2 3 NULL CSS 0 NULL 1 NULL 2 NULL 3 NULL case 2: 0->1->2 3 0->1->2 3 CSS 0 0 1 2 1 1 2 2 2 3 3 case 3: 0->1->2 3 0->1->2 3 archive 0 0 1 2 1 1 2 2 2 3 3 case 4: NULL 0->1->2 3 archive 0 NULL 1 NULL 2 NULL 3 NULL case 5: 2' 3' 4 0->1->2 3 archive 0 2 1 2 2 2 3 3 Verify by comparing the list of conflicting structures with the expected testcases/archive/retrall.pi ----- retrall.pi - Test retrieve all structures operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, the suituation where there are more than one structure ids has conflict. Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents Verify the structure identifiers in CSS after retrieval, and the contents of the retrieved structures setup: in archive: 0->1->2 3 in CSS: 2' 3' operations: retrieve all strs expected results in CSS: maintain: 0->1->2' 3' abandon: 2' 3' update: 0->1->2 3 testcases/archive/retrances.pi ----- retrances.pi - Test retrieve paths to ancestors with different order and depth order: TOP, BOTTOM depth: 0,1,2 ## set up in archive: str1: execute str2 & str3 str2: execute str3 str3: a leaf str Verify by comparing the returned paths with the expected testcases/archive/retrdesc.pi ----- retrdesc.pi - Test retrieve paths to descendants with different order and depth order: TOP, BOTTOM depth: 0,1,2 set up in archive: str1: execute str2 & str3 str2: execute str3 str3: a leaf str Verify by comparing the returned paths with the expected testcases/archive/retrieve.pi ----- retrieve.pi - Test simple retrieve operations retrieve structures: retrieve a simple structure retrieve structure networks: retrieve a structure network retrieve all structures : retrieve two structures Verify by comparing the list of structure ids in CSS against the expected testcases/archive/retrnet.pi ----- Test retrieve structure network operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, that the operation would abort if any one of the structure ids has conflict when the conflict resolution flag has the value ABANDON. Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents Verify the structure identifiers in CSS after retrieval, and the contents of the retrieved structures setup: in archive: 0->1->2 3 in CSS: 2' operations: retrieve str network 0&3 expected results in CSS: maintain: 0->1->2' 3 abandon: 2' update: 0->1->2 3 testcases/archive/retrstr.pi ----- retrstr.pi - Test retrieve structure operation with different conflict resolution flags: MAINTAIN,UPDATE,ABANDON Test in particular, that a structure in CSS remains intact after an unrelated retrieve operation. Note: a->b means str a executes str b, ae means struct a is empty, a' means this str a has same name as str a, but different contents Verify the structure identifiers in CSS after retrieval, and the contents of the retrieved structures setup: in archive: 0->1->2 3 in CSS: 2' 3' operations: retrieve str 0&3 expected results in CSS: maintain: 0->1e 2' 3' (1e means str1 is empty) abandon: 2' 3' update: 0->1e 2' 3 testcases/archive/specar1.pi ----- specar1.pi - Test special cases archive all, retrieve all, and delete all operations Test that nothing bad happens when there is nothing to archive, retrieve or delete from archive. Verify the structure identifiers in archive testcases/archive/specar2.pi ----- specar2.pi - Test special cases archive and retrieve operations archive an open structure, verify the structure ids in archive and that the structure remain open in CSS retrieve, using UPDATE resolution, a structure which is open in CSS, verify that the structure remains open in CSS and verify its contents testcases/archive/specar3.pi ----- specar3.pi - Test special cases archive operation using multiple archive files archive two structures into two archive files Verify the structure ids in both archive files, retrieve the structures and verify the contents. testcases/archive/specar4.pi ----- specar4.pi - archive structures 1,2,3 retrieve structure 2 modify structure 2 archive modified structure 2 retrieve the structures and verify the contents. testcases/dcue/dcue1.pi ----- dcue1.pi - Test depth cue mode, reference planes and scaling testcases/dcue/dcue2.pi ----- dcue2.pi - Test depth cuing with different primitives testcases/dispctl/dccolrep.pi ----- dccolrep.pi - Test requirements: test display update with colour representation modification testcases/dispctl/dcdelstr.pi ----- dcdelstr.pi - Test requirements: test display update with delete structure testcases/dispctl/dclinerep.pi ----- dclinerep.pi - Test requirements: test display update with polyline bundle representation modification testcases/dispctl/dcviewrep.pi ----- dcviewrep.pi - Test requirements: test display update with view representation modification testcases/dispctl/dispupst1.pi ----- dispupst1.pi - Test requirements: Test that the default display Test set and inquire display deferral and modification modes testcases/dispctl/dispupst2.pi ----- dispupst2.pi - Test requirements: test display update with ws transformation modification (WAIT/NIVE,UQUM,UWOR) testcases/dispctl/dispupst3.pi ----- dispupst3.pi - Test requirements: test display update with ws transformation (ASAP,BNIG,BNIL/NIVE,UQUM,UWOR) Note: the cases of ASTI and BNIL/BNIG with no interaction underway are not tested since the effects of which are implementation dependent. testcases/dispctl/redrawstr.pi ----- redrawstr.pi - Test requirements: test redraw all structures with control flags PFLAG_COND and PFLAG_ALWAYS testcases/dispctl/updatews.pi ----- updatews.pi - Test requirements: test update workstation with regeneration flags POSTPONE and PERFORM testcases/dispctl/dcinvis.pi ----- dcinvis.pi - Test requirements: test display update with invisibility filter modification testcases/dispctl/dcrefmod.pi ----- dcrefmod.pi - Test requirements: test display update with reference modification testcases/error/errhandle1.c ----- errhandle1.c: Verify that error output is directed to standard error by default, or to the specified error file. Verify the default error handling mode is OFF, set and inquire the current error handling mode. Verify that if error handling mode is turn OFF, no error messages are genreated. testcases/error/errhandle2.c ----- errhand2.c: Install an error handler, verify that it is called upon a PHIGS error. testcases/face/cull1.pi ----- testcases/face/cull2.pi ----- cull2.pi - Test face culling with different primitives testcases/fillarea/fa1.pi ----- fa1.pi - Test fill area geometry . triangle . quadrilateral . bowtie . self crossing area . n vertexes: n = 129 Test individual interior attributes: . interior style . interior colour index testcases/fillarea/fa2.pi ----- fa2.pi - Test fill area geometry, test adjacent fill areas also test interior colour and interior colour index attributes testcases/fillarea/fa3.pi ----- fa3.pi - Test fill area bundle attributes . interior style . interior colour index testcases/fillarea/fas1.pi ----- fas1.pi - Test fill area set geometry with 1-set and with edge ON . triangle . quadrilateral . bowtie . self crossing area . n vertexes: n = 129 Test individual interior attributes: . interior style . interior colour index . edge flag . edge width . edge colour index testcases/fillarea/fas2.pi ----- fas2.pi - Test normal fill area set geometry, with 2-set and n-set, n=150 testcases/fillarea/fas3.pi ----- fas3.pi - Test adjacent fill area set edges also test interior and edge colour, interior and edge colour indices testcases/fillarea/fas4.pi ----- fas4.pi - Test fill area set with combinations of edge type, edge colour and interior style testcases/fillarea/fas5.pi ----- fas5.pi - Test fill area set with combinations of edge type and edge width testcases/fillarea/fas6.pi ----- fas6.pi - Test fill area set bundle attributes . interior style . interior colour index . interior colour . edge flag . edge colour index . edge colour . edge width testcases/fillarea/fas7.pi ----- fas7.pi - Test requirements: Test that fill area set attributes ,which are set in a parent structure, are inherited by a child structure. individual fill area set attributes : edge type: edge width scale factor: edge colour index: fill area interior style: fill area interior colour index: testcases/fillarea/fa4.pi ----- testcases/fillarea/fas8.pi ----- testcases/filter/highl.pi ----- highl.pi - Test combinations of highlight filters and name sets Verify the highlighting of the primitive accordingly. testcases/filter/invis.pi ----- invis.pi - Test combinations of invisibility filters and name sets Verify the invisibility of the primitive accordingly. testcases/filter/pick.pi ----- pick.pi - Test combinations of pick filters and name sets Verify the picking of the primitive accordingly. testcases/input/loc1.pi ----- loc1.pi - Test initialize locator, inquire locator state (verify initialized values) Sample locator, verify the values is same as intialized testcases/input/loc2.pi ----- loc2.pi - Test setting locator mode, inquire locator state (verify values that are set) testcases/input/loc3.pi ----- loc3.pi - Test locator in SAMPLE mode, fake a locator input, verify the result testcases/input/loc4.pi ----- loc4.pi - Test locator in REQUEST mode, fake a locator input, verify the result testcases/input/loc5.pi ----- loc5.pi - Test locator in EVENT mode, fake a locator input, verify the result testcases/input/event1.pi ----- event1.pi - Test await event with multiple workstation testcases/input/event2.pi ----- event2.pi - Test await event with different timeout values testcases/input/event3.pi ----- event3.pi - Test await event with sucessive events verify that the events are detected in order testcases/input/event4.pi ----- event4.pi - Test flush events with locator events verify that all locator events are removed from the input queue after a flush locator event operation testcases/input/event5.pi ----- event5.pi - Test inquire more simultaneous events verify that simultaneous events are handled properly testcases/input/event6.pi ----- event5.pi - Test inquire input overflow verify that when no input overflow, the error 257 is returned testcases/input/choice1.pi ----- choice1.pi - Test initialize choice, inquire choice state (verify initialized values) Sample choice, verify the value is same as the initialized testcases/input/choice2.pi ----- choice2.pi - Test setting choice mode, inquire choice state (verify values that are set) testcases/input/val1.pi ----- val1.pi - Test initialize valuator, inquire valuator state (verify initialized values) Sample valuator, verify the value is same as initialized testcases/input/val2.pi ----- val2.pi - Test setting valuator mode, inquire valuator state (verify values that are set) testcases/input/viewpri1.pi ----- viewpri1.pi - Test setting of view tranform input priority, inquire list of view indices and verify the order of the view indices testcases/input/viewpri2.pi ----- viewpri2.pi - Test view tranform input priority with locator input set view 1 to be of the highest priority, perform SAMPLE locator, verify that the resulting locator position has been transfromed using view 1. testcases/input/string1.pi ----- string1.pi - Test initialize string, inquire string state (verify initialized values) Sample string, verify that value is same as initialized testcases/input/string2.pi ----- string2.pi - Test setting string mode, inquire string state (verify values that are set) testcases/input/pick1.pi ----- pick1.pi - Test initialize pick, inquire pick state (verify initialized values) Sample pick, verify the pick path and status is as initialized testcases/input/pick2.pi ----- pick2.pi - Test setting pick mode, inquire pick state (verify values that are set) testcases/input/pick3.pi ----- pick3.pi - Test pick in SAMPLE mode, fake a pickator input, verify the result testcases/input/pick4.pi ----- pick4.pi - Test pick in REQUEST mode, fake a pickator input, verify the result testcases/input/pick5.pi ----- pick5.pi - Test pick in EVENT mode, fake a pickator input, verify the result testcases/input/pick6.pi ----- pick6.pi - Test picking structure network, verify that pick path is correctly returned Also test that pick ID attribute inheritance testcases/input/pick7.pi ----- pick7.pi - Test that only unclipped portion of a primitive is pickable testcases/input/pick8.pi ----- pick8.pi - Test picking on modelling transformed primitives, testcases/input/pick9.pi ----- pick9.pi - Test that only visible primitive is pickable testcases/input/pick10.pi ----- pick10.pi - Test picking with different primitives testcases/input/stroke1.pi ----- stroke1.pi - Test initialize stroke, inquire stroke state (verify initialized values) Sample stroke, verify the values is same as initialized testcases/input/stroke2.pi ----- stroke2.pi - Test setting stroke mode, inquire stroke state (verify values that are set) testcases/iss/iss1.pi ----- iss1.pi - Test requirements: Test that incremental spatial search operation works with various starting paths. Test the incremental properties, that is, to use a starting path which resulted path from a previous search operation. testcases/iss/iss2.pi ----- iss2.pi - Test requirements: Test that incremental spatial search operation works with or without a ceiling testcases/iss/iss3.pi ----- iss3.pi - Test requirements: Test that incremental spatial search operation works with search filter testcases/iss/iss4.pi ----- iss4.pi - Test requirements: Test that incremental spatial search(3) operation works with various reference points and distances testcases/iss/iss5.pi ----- iss5.pi - Test requirements: Test that incremental spatial search(3) operation works with model clipping testcases/iss/iss6.pi ----- iss6.pi - Test incremental spatial search with different primitives testcases/light/light1.pi ----- testcases/light/light2.pi ----- testcases/light/light3.pi ----- testcases/light/light4.pi ----- testcases/light/light5.pi ----- testcases/nurbs/nurbsc1.pi ----- nurbsc1.pi test nurbs curve geometry and line attributes . order 3 . order 4 . multiple knots . multiple control points . rational/nonrational curves . line width . line type . line colour index . line colour testcases/nurbs/nurbsc2.pi ----- nurbsc2.pi test nurbs curve approximation criteria . PCURV_WS_DEP . PCURV_CONSTANT_PARAMETRIC_BETWEEN_KNOTS . PCURV_CHORDAL_SIZE_WC . PCURV_CHORDAL_SIZE_NPC . PCURV_CHORDAL_DEVIATION_WC . PCURV_CHORDAL_DEVIATION_NPC Also test bundle attributes testcases/nurbs/nurbss4.pi ----- nurbss4.pi test nurbs surface with reflectance attributes Test triangle strip with data geometry with reflectance attributes . reflectance properties . reflectance charactics . back reflectance properties . back reflectance charactics with positional and ambient light source testcases/nurbs/nurbsc3.pi ----- nurbsc3.pi test nurbs curve bundle attributes . LINE_COLR_IND . LINETYPE . LINEWIDTH . CURVE_APPROX_CRITERIA . CURVE_APPROX_VALUE testcases/nurbs/nurbss1.pi ----- nurbss1.pi test nurbs surface geometry with trimming curves . 1 trim curve consisting of 1 curve . 1 trim curve consisting of 2 curves . 2 trim curves each consisting of 1 curve testcases/nurbs/nurbss2.pi ----- nurbss2.pi test nurbs surface with edge and interior attributes and face distingush mode . back int colour . back int style . int colour . int style . edge flag . edge colour . edge type . edge width testcases/nurbs/nurbss3.pi ----- testcases/nurbs/nurbss5.pi ----- nurbss5.pi test nurbs surface approximation criteria . PSURF_WS_DEP . PSURF_CONSTANT_PARAMETRIC_BETWEEN_KNOTS . PSURF_CHORDAL_SIZE_WC . PSURF_CHORDAL_SIZE_NPC . PSURF_PLANAR_DEVIATION_WC . PSURF_PLANAR_DEVIATION_NPC testcases/nurbs/nurbss6.pi ----- nurbss6.pi test nurbs parametric surface . UNIFORM, NON-UNIFORM placement . different u,v count test with multiple knots testcases/pdtwdt/pdt.c ----- pdt.c : compares the implementation dependent data in PHIGS description table against the values returned from inquiries: 1: to test pinq_phigs_facs 2: to test pinq_list_avail_gse_facs 3: to test pinq_model_clip_facs, 4: to test pinq_list_avail_ws_types testcases/pdtwdt/wdt1.c ----- wdt1.c : compares the implementation dependent data in workstation description table against the values returned from inquiries: Testing inqure xxx facilities: 1: to test pinq_hlhsr_mode_facs, pinq_hlhsr_id_facs 2: to test pinq_view_facs 3: to test pinq_line_facs 4: to test pinq_marker_facs 5: to test pinq_text_facs 6: to test pinq_anno_facs 7: to test pinq_int_facs 8: to test pinq_pat_facs 9: to test pinq_edge_facs 10:to test pinq_colr_model_facs 11:to test pinq_colr_facs testcases/pdtwdt/wdt2.c ----- wdt2.c : compares the implementation dependent data in workstation description table against the values returned from inquiries: Testing "inqure predefined xxx representations" and "inquire list of xxx indices": 1: to test pinq_list_view_inds, pinq_pred_view_rep 2: to test pinq_list_line_inds, pinq_pred_line_rep 3: to test pinq_list_marker_inds, pinq_pred_marker_rep 4: to test pinq_list_text_inds, pinq_pred_text_rep 5: to test pinq_list_int_inds, pinq_pred_int_rep 6: to test pinq_list_edge_inds, pinq_pred_edge_rep 7: to test pinq_list_pat_inds, pinq_pred_pat_rep 8: to test pinq_list_colr_inds, pinq_pred_colr_rep testcases/pdtwdt/wdt3.c ----- wdt3.c : compares the implementation dependent data in workstation description table against the values returned from inquiries. Testing miscellaneous workstation dependent inquires: 1: to test pinq_ws_conn_type 2: to test pinq_ws_cat, 3: to test pinq_ws_class 4: to test pinq_ws_st_table 5: to test pinqdisplayspacesize, 6: to test pinqdisplayspacesize3 7: to test pinq_dyns_ws_attrs 8: to test pinq_dyns_structs 9: to test pinq_num_disp_pris 10:to test pinq_def_disp_upd_st 11:to test pinq_gdp, pinq_list_avail_gdp 12:to test pinq_gdp3, pinq_list_avail_gdp3 13:to test pinq_list_avail_gse testcases/pdtwdt/wdt4.c ----- wdt4.c : compares the implementation dependent data in workstation description table against the values returned from inquiries. Testing input inquires: 1: to test pinq_num_avail_in 2: to test pinq_def_loc_data 3: to test pinq_def_loc_data3 4: to test pinq_def_choice_data 5: to test pinq_def_choice_data3 6: to test pinq_def_pick_data 7: to test pinq_def_pick_data3 8: to test pinq_def_string_data 9: to test pinq_def_string_data3 10:to test pinq_def_stroke_data 11:to test pinq_def_stroke_data3 12:to test pinq_def_val_data 13:to test pinq_def_val_data3 testcases/pdtwdt/wdt5.c ----- wdt5.c : compares the implementation dependent data in workstation description table against the values returned from inquiries: Testing PHIGS+ inqure xxx facilities and ws state tables 1: to test pinq_line_facs_plus 2: to test pinq_int_facs_plus 3: to test pinq_dcue_facs 4: to test pinq_light_src_facs 5: to test pinq_curv_surf_facs 6: to test pinq_direct_colr_model_facs 7: to test pinq_rendering_colr_model_facs 8: to test pinq_colr_map_facs 9: to test pinq_ws_st_table_plus 10: to test pinq_dyns_ws_attrs_plus testcases/pdtwdt/wdt6.c ----- wdt6.c : compares the implementation dependent data in workstation description table against the values returned from inquiries: Testing PHIGS+'s "inqure predefined xxx representations" and "inquire list of xxx indices": 1: to test pinq_list_light_src_inds, pinq_pred_light_src_rep 2: to test pinq_list_dcue_inds, pinq_pred_dcue_rep 3: to test pinq_list_colr_map_inds, pinq_pred_colr_map_rep 4: to test pinq_pred_line_rep_plus 5: to test pinq_pred_marker_rep_plus 6: to test pinq_pred_int_rep_plus 7: to test pinq_pred_text_rep_plus 8: to test pinq_pred_edge_rep_plus 9: to test pinq_pred_pat_rep_plus testcases/plinedata/pldata1.pi ----- pldata1.pi - test ppolyline_set3_data with a few different geometries and widths, with vertex data. Combinations tested: - set of one single-vertex polyline (not expected to draw) - set of one multi-vertex polyline - set of two single-vertex polylines (also not expected to draw) - set of three polylines, of 3, 1, and 4 vertices testcases/plinedata/pldata2.pi ----- pldata2.pi - test ppolyline_set3_data with different types and widths. For each of several widths, render polyline sets of 4 types. testcases/plinedata/pldata3.pi ----- pldata3.pi - test ppolyline_set3_data with index color. Draw a multi-segment polyline set, and automatically confirm color at 3 midpoints. testcases/plinedata/pldata4.pi ----- pldata4.pi - test ppolyline_set3_data with no vertex color. Draw four polyline sets, each with a different line colour and line type set. testcases/plinedata/pld_inher.pi ----- pld_inher.pi - Test that polyline attributes ,which are set in a parent structure, are inherited by a child structure, while attributes set in child are not passed up to parent. attributes used: line type line width testcases/poly/polyline1.pi ----- @(#)polyline1.pi 5.1 2/13/91 polyline1 - test /*WARNING: parameters changed */ ppolyline with all default attributes, and different numbers of points: 0, 1, 2, 3, and 10 testcases/poly/polyline2.pi ----- @(#)polyline2.pi 5.1 2/13/91 polyline2 - test /*WARNING: parameters changed */ ppolyline with all various combinations of widths and line types. testcases/poly/polyline3.pi ----- @(#)polyline3.pi 5.1 2/13/91 polyline3 - test ppolyline with colors 0-7 testcases/poly/polyline4.pi ----- @(#)polyline4.pi 5.1 2/13/91 polyline4- test ppolyline with all combinations of widths and line types - based on polyline2, but ordering differently to work around bug. testcases/poly/polymark1.pi ----- polymark1 - test ppolymarker with all default attributes, and different numbers of points: 0, 1, 2, 3, and 10 testcases/poly/pl_inher.pi ----- pl_inher.pi - Test that polyline attributes ,which are set in a parent structure, are inherited by a child structure. individual line attributes : line colour index line type line width testcases/poly/pm_inher.pi ----- pm_inher.pi - Test that polymarker attributes, which are set in a parent structure, are inherited by a child structure. individual text attributes : marker colour index marker type marker scale factor testcases/poly/polymark3.pi ----- polymark3.pi - test centering and appearance of five polymarker types. Draw a large polymarker of each type against a differently-colored crosshair of polylines. The lines are in a structure posted at lower priority, so they should be underneath. testcases/poly/polymark2.pi ----- polymark2.pi - test polymarker with different combinations of size and type. Draws a grid of 5 marker types at 5 different sizes. testcases/poly/polymark4.pi ----- polymark4.pi - test for interference of polymarker and polyline attributes. Draw primitives with different combinations of color and size, overlapping the setting of attributes. testcases/rep/colrep.pi ----- colourrep.pi - Test set and inquire colour representation Verify by inquiring the colour representation and test against the expected testcases/rep/edgerep.pi ----- edgerep.pi - Test set and inquire edge representation Verify by inquiring the edge representation and test against the expected testcases/rep/interrep.pi ----- interrep.pi - Test set and inquire interior representation Verify by inquiring the interior representation and test against the expected testcases/rep/linerep.pi ----- linerep.pi - Test set and inquire polyline representation Verify by inquiring the polyline representation and test against the expected testcases/rep/markerrep.pi ----- markerrep.pi - Test set and inquire polymarker representation Verify by inquiring the polymarker representation and test against the expected testcases/rep/patrep.pi ----- patrep.pi - Test set and inquire pattern representation Verify by inquiring the pattern representation and test against the expected testcases/rep/textrep.pi ----- textrep.pi - Test set and inquire text representation Verify by inquiring the text representation and test against the expected testcases/rep/viewrep.pi ----- viewrep.pi - Test set and inquire view representation Verify by inquiring the view representation and test against the expected testcases/rep/dcuerep.pi ----- dcuerep.pi - Test set and inquire depth cue representation Verify by inquiring the depth cue representation and test against the expected testcases/rep/lightrep.pi ----- lightrep.pi - Test set and inquire light source representation Verify by inquiring the light source representation and test against the expected testcases/search/elemsrch1.pi ----- elemsrch1.pi - Test requirements: Test that element search operation works with various starting elements, and search directions. Test with an inclusion set which contains three search elements, and an exclusion set which contains one search elements. testcases/search/elemsrch2.pi ----- elemsrch2.pi - Test requirements: Test that element search operation works with different starting elements, and search directions. Test with an inclusion set that contains the search element PELEM_ALL, and an exclusion set that contains the search element PELEM_NIL. testcases/search/elemsrch3.pi ----- elemsrch3.pi - Test requirements: Test that element search operation works with different starting elements, and search directions. Test with an inclusion set which contains the search element PELEM_ALL and a search element that corresponds to an existing element of the structure to be searched, and an empty exclusion set. Test with a closed structure. testcases/search/elemsrch4.pi ----- elemsrch4.pi - Test requirements: Test that element search operation works with different starting elements and search directions. Test with an empty structure. testcases/shared/macro.pi ----- testcases/shared/apimacro.pi ----- testcases/shared/strmacro.pi ----- testcases/shared/xpmacro.pi ----- testcases/shared/shmacro.pi ----- testcases/shared/scmacro.pi ----- testcases/shared/dcmacro.pi ----- dcmacro.pi - testcases/shared/armacro.pi ----- testcases/statectl/archivest.pi ----- archivest.pi - Test archive operating state Test the following sequences: open archfile1, close archfile1, open archfile1 open archfile2, close archfile2, close archfile1 Verify archive state changes Verify the list of opened archive files testcases/statectl/emclphigs.pi ----- emclphigs.pi - Test emergency close phigs Test pemergency_close_phigs under PSYS_ST_PHOP,PSTRUCT_ST_STOP,PWS_ST_WSOP and PST_AROP, Verify that system state = PHCL. Try open phigs after emergencyclosephigs verify that system state = PHOP testcases/statectl/structst.pi ----- structst.pi - Test structure operating state Test the following sequences: open str1, close str1, open str2 close str2, open str1 Verify structure state changes Verify the list of structure identifiers testcases/statectl/systemst.pi ----- systemst.pi - Test system operating state Test the following sequences: open phigs, close phigs, open phigs, close phigs Verify system state changes open phigs testcases/statectl/wsst1.pi ----- wsst1.pi - Test X drawable workstation operating state Test the following sequences: open ws1, close ws1, open ws1, open ws2, close ws2 Verify workstation states changes Verify the set of opened workstations testcases/statectl/wsst2.pi ----- wsst2.pi - Test X tool workstation operating state Test the following sequences: open ws1, close ws1, open ws1, open ws2, close ws2 Verify workstation states changes Verify the set of opened workstations testcases/strcon/copyall2.c ----- copyall2.c - test pcopy_all_elems_struct() on some variable-length data - copy a structure with some variable-length elements, confirm with pinq_elem_content(). testcases/strcon/elemcon9.c ----- elemcon9.c - test pinq_elem_type_size, pinq_elem_content, pinq_cur_elem_type_size, and pinq_cur_elem_content, as well as archiving and structure copying, for all element types. Command line switches turn on or off the different types of testing, and integer arguments specify structure elements to be stored; these two types of arguments can be freely intermixed. Test execution scripts may choose to execute this test multiple times with different sets of elements. * ADD NAMES TO SET * ANNOTATION STYLE * ANNOTATION TEXT ALIGNMENT * ANNOTATION TEXT CHARACTER HEIGHT * ANNOTATION TEXT CHARACTER UP VECTOR * PELEM_ANNO_PATH * PELEM_ANNO_TEXT_REL * PELEM_ANNO_TEXT_REL3 * PELEM_APPL_DATA * PELEM_CELL_ARRAY * PELEM_CELL_ARRAY3 * PELEM_CHAR_EXPAN * PELEM_CHAR_HT * PELEM_CHAR_SPACE * PELEM_CHAR_UP_VEC * PELEM_EDGE_COLR_IND * PELEM_EDGE_FLAG * PELEM_EDGE_IND * PELEM_EDGETYPE * PELEM_EDGEWIDTH * PELEM_EXEC_STRUCT * PELEM_FILL_AREA * PELEM_FILL_AREA_SET * PELEM_FILL_AREA_SET3 * PELEM_FILL_AREA3 * PELEM_GLOBAL_MODEL_TRAN * PELEM_GLOBAL_MODEL_TRAN3 * PELEM_HLHSR_ID * PELEM_INDIV_ASF * PELEM_INT_COLR_IND * PELEM_INT_IND * PELEM_INT_STYLE * PELEM_INT_STYLE_IND * PELEM_LABEL * PELEM_LINETYPE * PELEM_LINEWIDTH * PELEM_LOCAL_MODEL_TRAN * PELEM_LOCAL_MODEL_TRAN3 * PELEM_MARKER_COLR_IND * PELEM_MARKER_SIZE * PELEM_MARKER_TYPE * PELEM_MODEL_CLIP_IND * PELEM_MODEL_CLIP_VOL * PELEM_MODEL_CLIP_VOL3 * PELEM_PAT_REF_POINT * PELEM_PAT_REF_POINT_VECS * PELEM_PAT_SIZE * PELEM_PICK_ID * PELEM_POLYLINE * PELEM_LINE_COLR_IND * PELEM_LINE_IND * PELEM_POLYLINE3 * PELEM_POLYMARKER * PELEM_MARKER_IND * PELEM_POLYMARKER3 * PELEM_REMOVE_NAMES_SET * PELEM_RESTORE_MODEL_CLIP_VOL * PELEM_TEXT * PELEM_TEXT_ALIGN * PELEM_TEXT_COLR_IND * PELEM_TEXT_ALIGN * PELEM_TEXT_COLR_IND * PELEM_TEXT_FONT * PELEM_TEXT_IND * PELEM_TEXT_PATH * PELEM_TEXT_PREC * PELEM_TEXT3 * PELEM_VIEW_IND * PELEM_REFL_PROPS * PELEM_BACK_REFL_PROPS * PELEM_BACK_INT_COLR * PELEM_BACK_INT_REFL_EQN * PELEM_BACK_INT_SHAD_METH * PELEM_BACK_INT_STYLE * PELEM_BACK_INT_STYLE_IND * PELEM_CURVE_APPROX_CRIT * PELEM_DCUE_IND * PELEM_EDGE_COLR * PELEM_FACE_CULL_MODE * PELEM_FACE_DISTING_MODE * PELEM_FILL_AREA_SET3_DATA * PELEM_INT_COLR * PELEM_INT_REFL_EQN * PELEM_INT_SHAD_METH * PELEM_LIGHT_SRC_STATE * PELEM_LINE_COLR * PELEM_POLYLINE_SET3_DATA * PELEM_LINE_SHAD_METH * PELEM_MARKER_COLR * PELEM_QUAD_MESH3_DATA * PELEM_SURF_APPROX_CRIT * PELEM_TEXT_COLR * PELEM_TRI_STRIP3_DATA testcases/strcon/copyall1.pi ----- copyall1.pi - test pcopy_all_elems_struct() by copying from non-existent and empty structure, and from multi-element structure. Copy into beginning, middle, and end of a structure. testcases/strcon/delelem1.pi ----- delelem1.pi - test pdel_elem on empty structure, single element structure, and with element pointer == 0 testcases/strcon/delelem2.pi ----- delelem2.pi - test pdel_elem(), deleting from beginning, middle, and end of multi-element structure, and calling with struct ptr = 0. testcases/strcon/dellabel1.pi ----- dellabel1.pi - test DELETE ELEMENTS BETWEEN LABELS using labels of different value, and of same value. testcases/strcon/delrange1.pi ----- delrange1.pi - test DELETE ELEMENT RANGE with empty structure, deleting the only element in a structure, and in the middle of a loaded structure with ptr1 {<,>,==} ptr2 testcases/strcon/delrange2.pi ----- delrange2.pi - test DELETE ELEMENT RANGE deleting elements at beginning and end of a structure testcases/strcon/editmode1.pi ----- editmode1.pi - simple test of setting and inquiry of edit mode, with and without workstations open - tests pset_edit_mode(), pinq_edit_mode(). testcases/strcon/editmode2.pi ----- editmode2.pi - test functionality of REPLACE edit mode when element pointer is 0, with empty and non-empty structure testcases/strcon/editmode3.pi ----- editmode3.pi - test functionity of REPLACE (and INSERT) edit mode. Try replacing a first element, last element, and middle element. Also use INSERT mode to build up structure. testcases/strcon/editmode4.pi ----- editmode4.pi - test functionity of INSERT edit mode. Insert elements into an empty structure, and at beginning, middle, and end of existing structure. testcases/strcon/elemptr1.pi ----- elemptr1.pi - basic test of setting & inquiring element pointer. Inquire element pointer before touching structure, after adding elements, after setting to less than 0, after setting to value higher than number of elements, after adding elements in middle of structure. testcases/strcon/emptystr1.pi ----- emptystr1.pi - test pempty_struct() on a non-existent structure, a closed structure, and an open structure (with and without contents). Verify with pinq_struct_status(). testcases/strcon/offset1.pi ----- offset1.pi - test poffset_elem_ptr() with positive, negative, and zero offset, with negative offset where current+offset < 0, and with positive offset where current+offset > length of structure. testcases/strcon/openstr1.pi ----- openstr1.pi - test pinq_open_struct() with no opened structure, with an open structure, and after a structure has been opened and closed. testcases/strcon/openstr2.pi ----- openstr2.pi - after opening a workstation, test pinq_open_struct() with no opened structure, with an open structure, and after a structure has been opened and closed. testcases/strcon/ptrlabel1.pi ----- ptrlabel1.pi - test SET ELEMENT POINTER AT LABEL under following conditions: before first, middle, last occurrence; with different label between ptr and argument label testcases/strcon/ptrlabel2.pi ----- ptrlabel2.pi - test SET ELEMENT POINTER AT LABEL under error conditions: with no occurrence of the specified label, and after the last occurrence of the label testcases/strcon/strstat1.pi ----- strstat1.pi - test pinq_struct_status() on a non-existent structure, an empty structure, and a non-empty structure. testcases/strman/changeid1.pi ----- changeid1.pi - test pchange_struct_id() where original structure is non-existent or empty. testcases/strman/delstr1.pi ----- delstr1.pi - test pdel_struct() on non-existent structure, and simple open and closed single-level structures. testcases/strman/delstr2.pi ----- delstr2.pi - test Delete Structure on multi-level structures. test that deleting a child causes the reference in the parent to be deleted (rendering the structure empty if it's the only element) Test that deleting a parent does not delete a child. testcases/strman/delstr3.pi ----- delstr3.pi -- deleting empty and non-empty open structures. Structure should still exist, but be empty. References to it should be deleted. testcases/strman/delstr4.pi ----- delstr4.pi - deleting posted structures: delete empty and non-empty posted structures, and empty and non-empty open posted structures. testcases/strman/delstr5.pi ----- delstr5.pi - Deleting structures referenced in current open struct. test that deleting a child causes the reference in the open parent to be deleted, and the current element pointer adjusted appropriately. testcases/strman/delallst1.pi ----- delallst1.pi - test pdel_all_structs() on nonexistent, simple open and closed single-level structures. Confirm by not core dumping, and with pinq_struct_status, pinq_struct_ids. testcases/strman/delallst2.pi ----- delallst2.pi - test pdel_all_structs() with multi-level posted structures. Create some, and delete, confirming with pinq_struct_status() and by inquiring posted structures. testcases/strman/delstnet1.pi ----- delstnet1.pi - test pdel_struct() on non-existent structure, and simple open and closed single-level structures. testcases/strman/delstnet2.pi ----- delstnet2.pi - test pdel_struct() on simple open and closed single-level structures. testcases/strman/delstr6.pi ----- delstr6.pi - Deleting structures referenced in a different, closed struct. The reference in the closed structure should be deleted. testcases/strman/poststr1.pi ----- poststr1.pi - post non-existent, open, and closed structures, test with pinq_posted_structs() pinq_struct_status(), plus pixel retrieval (reading back polymarkers). Non-existent structure should be created, open and closed structs should be successfully posted. testcases/strman/poststr2.pi ----- poststr2.pi - post overlapping structures with different priority. Re-post the lower priority structure at a higher priority. Confirm that the fill area in the higher-priority structure is drawn on top, using pixel readback. testcases/strman/poststr3.pi ----- poststr3.pi - post two structures at different priorities on two different workstations. On each workstation, confirm that the fill area in the higher-priority structure is drawn on top, using pixel readback. testcases/strman/unpostal1.pi ----- unpostal1.pi - test punpost_all_structs() by posting multiple structures to multiple workstations, unposting from one, and confirming with pinq_posted_structs. testcases/text/atx1.pi ----- atx1.pi - Test annotation text geometry and style testcases/text/atx10.pi ----- atx10.pi - Test annotation text bundle attributes char expansion: char spacing: text colour index: text colour: text font: text precision testcases/text/atx11.pi ----- atx11.pi - Test that annotation text attributes ,which are set in a parent structure, are inherited by a child structure. individual text attributes : annotation char height: annotation char upvector: annotation text path: annotation text alignment: annotation style: char expansion: char spacing: text colour index: testcases/text/atx2.pi ----- atx2.pi - Test individual annotation text attributes : text colour index: testcases/text/tx2.pi ----- tx2.pi - Test individual text attributes : text colour index: testcases/text/atx4.pi ----- atx4.pi - Test individual annotation text attributes : annotation char upvector: testcases/text/atx5.pi ----- atx5.pi - Test individual annotation text attributes : char expansion: testcases/text/atx7.pi ----- atx7.pi - Test individual annotation text attributes : annotation char height: testcases/text/atx8.pi ----- atx8.pi - Test individual annotation text attributes : annotation text alignment: testcases/text/atx9.pi ----- atx9.pi - Test individual annotation text attributes : text font: text precision: text colour: testcases/text/tx1.pi ----- tx1.pi - Test text geometry testcases/text/tx6.pi ----- tx6.pi - Test char spacing : char spacing: testcases/text/atx6.pi ----- atx6.pi - Test annotation text attributes : char spacing: testcases/text/tx10.pi ----- tx10.pi - Test text bundle attributes char expansion: char spacing: text colour index: text colour: text font: text precision testcases/text/tx3.pi ----- tx3.pi - Test individual text attributes : text path: testcases/text/atx3.pi ----- atx3.pi - Test individual annotation text attributes : annotation text path: testcases/text/tx4.pi ----- tx4.pi - Test individual text attributes : char upvector: testcases/text/tx8.pi ----- tx8.pi - Test individual text attributes : text alignment: testcases/text/tx5.pi ----- tx5.pi - Test individual text attributes : char expansion: testcases/text/tx11.pi ----- tx11.pi - Test that text attributes ,which are set in a parent structure, are inherited by a child structure. individual text attributes : char height: char upvector: text path: text alignment: char expansion: char spacing: text colour index: testcases/text/tx7.pi ----- tx7.pi - Test individual text attributes : char height: testcases/text/tx9.pi ----- tx9.pi - Test individual text attributes : text font: text precision: text colour: testcases/triquad/ts1.pi ----- ts1.pi Test triangle strip geometry and facet/vertex colour . 3 vertices FACET_COLOUR (indirect) VERT_COORD . 4 vertices FACET_NONE,VERT_COORD_COLOUR (RGB) . 4 vertices FACET_COLOUR (RGB) VERT_COORD . 5 vertices FACET_NONE,VERT_COORD . 3 vertices FACET_COLOUR (RGB) VERT_COORD_COLOUR (RGB) testcases/triquad/qm1.pi ----- qm1.pi Test Quad Mesh geometry and facet/vertex colour . 2*2 quad mesh FACET_COLOUR (indirect), VERT_COORD . 3*3 quad mesh FACET_NONE, VERT_COORD_COLOUR (RGB) . 3*3 quad mesh FACET_COLOUR (RGB), VERT_COORD . 3*2 quad mesh FACET_NONE, VERT_COORD . 2*2 quad mesh FACET_COLOUR (RGB), VERT_COORD_COLOUR (RGB) testcases/triquad/faswd1.pi ----- faswd1.pi Test fill area set geometry and facet/vertex colour . 1-set vertices FACET_COLOUR (indirect) VERT_COORD . 2-set vertices FACET_NONE,VERT_COORD_COLOUR (RGB) . 2-set vertices FACET_COLOUR (RGB) VERT_COORD . 2-set vertices with edges data FACET_NONE,VERT_COORD . 2-set vertices with edges data FACET_NONE,VERT_COORD . 1-set vertices FACET_COLOUR (RGB) VERT_COORD_COLOUR (RGB) testcases/triquad/faswd2.pi ----- faswd2.pi Test fill area set with data interior attributes: . back int colour . back int style . int colour . int style . edge flag . edge colour . edge type . edge width testcases/triquad/qm2.pi ----- qm2.pi Test quad mesh interior attributes: . back int colour . back int style . int colour . int style . edge flag . edge colour . edge type . edge width testcases/triquad/ts2.pi ----- ts2.pi Test triangle strip interior attributes: . back int colour . back int style . int colour . int style . edge flag . edge colour . edge type . edge width testcases/triquad/ts5.pi ----- ts5.pi Test triangle strip interior attributes inheritance: . int colour . int style . back int colour . back int style . edge colour index . edge type . edge width testcases/triquad/ts6.pi ----- ts6.pi Test triangle strip interior attributes inheritance: . reflectance characteristic . reflectance properties . back reflectance characteristic . back reflectance properties testcases/triquad/ts3.pi ----- ts3.pi Test triangle strip bundle interior, edge and reflectance attributes: . int index . int colour . int style . edge index . edge flag . edge colour . edge type . edge width . int reflectance eq . int shading method . area properties . back int style . back int colour . back int reflectance eq . back int shading method . back area properties testcases/triquad/qm3.pi ----- qm3.pi Test quad mesh bundle interior, edge and reflectance attributes: . int index . int colour . int style . edge index . edge flag . edge colour . edge type . edge width . int reflectance eq . int shading method . area properties . back int style . back int colour . back int reflectance eq . back int shading method . back area properties testcases/triquad/faswd3.pi ----- faswd3.pi Test fill area set with data bundle interior, edge and reflectance attributes: . int index . int colour . int style . edge index . edge flag . edge colour . edge type . edge width . int reflectance eq . int shading method . area properties . back int style . back int colour . back int reflectance eq . back int shading method . back area properties testcases/triquad/ts4.pi ----- ts4.pi Test triangle strip with data geometry with reflectance attributes . reflectance properties . reflectance charactics . back reflectance properties . back reflectance charactics with positional and ambient light source and the following triangle strip geometry: . 4 vertices FACET_NONE/VERT_COORD . 4 vertices FACET_NORMAL/VERT_COORD . 4 vertices FACET_COLOUR_NORMAL/VERT_COORD . 4 vertices FACET_NONE/VERT_COORD_NORMAL . 4 vertices FACET_NONE/VERT_COORD_COLOUR_NORMAL testcases/triquad/faswd4.pi ----- faswd4.pi Test fill area with data with data geometry with reflectance attributes . reflectance properties . reflectance charactics . back reflectance properties . back reflectance charactics with positional and ambient light source and the following triangle strip geometry: . 4 vertices FACET_NONE/VERT_COORD . 4 vertices FACET_NORMAL/VERT_COORD . 4 vertices FACET_COLOUR_NORMAL/VERT_COORD . 4 vertices FACET_NONE/VERT_COORD_NORMAL . 4 vertices FACET_NONE/VERT_COORD_COLOUR_NORMAL testcases/triquad/qm4.pi ----- qm4.pi Test quad mesh with data geometry with lighting attribute positional and ambient light source . 4 vertices FACET_NONE/VERT_COORD . 4 vertices FACET_NORMAL/VERT_COORD . 4 vertices FACET_COLOUR_NORMAL/VERT_COORD . 4 vertices FACET_NONE/VERT_COORD_NORMAL . 4 vertices FACET_NONE/VERT_COORD_COLOUR_NORMAL testcases/triquad/sofas1.pi ----- sofas1.pi Test set of fill area set geometry and facet/vertex colour . ((1-set)) FACET_COLOUR (indirect),VERT_COORD . ((1-set),(1-set)) FACET_NONE,VERT_COORD_COLOUR (RGB) . ((2-set),(1-set)) FACET_COLOUR (RGB) VERT_COORD . ((2-set),(1-set)) with edges data FACET_NONE,VERT_COORD . ((1-set),(1-set)) FACET_NONE,VERT_COORD testcases/triquad/sofas2.pi ----- sofas2.pi Test set of fill area set with data interior attributes: . back int colour . back int style . int colour . int style . edge flag . edge colour . edge type . edge width testcases/triquad/sofas3.pi ----- sofas3.pi Test set of fill area set with data bundle interior, edge and reflectance attributes: . int index . int colour . int style . edge index . edge flag . edge colour . edge type . edge width . int reflectance eq . int shading method . area properties . back int style . back int colour . back int reflectance eq . back int shading method . back area properties testcases/triquad/sofas4.pi ----- sofas4.pi Test set of fill area with data with data geometry with reflectance attributes . reflectance properties . reflectance charactics . back reflectance properties . back reflectance charactics with positional and ambient light source and the following triangle strip geometry: . 4 vertices FACET_NONE/VERT_COORD . 4 vertices FACET_NORMAL/VERT_COORD . 4 vertices FACET_COLOUR_NORMAL/VERT_COORD . 4 vertices FACET_NONE/VERT_COORD_NORMAL . 4 vertices FACET_NONE/VERT_COORD_COLOUR_NORMAL testcases/utils/buildtran.pi ----- buildtran.pi - Test matrix utility functions pbuild_tran_matrix, pbuild_tran_matrix3 Test using different reference points: origin,non-origin tranlation vectors: some values scaling vectors: some values rotation angles: some values The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/compmtx.pi ----- compmtx.pi - Test matrix utility functions composematrix, composematrix3 Test using different matrices: identity,non-identity The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/comptran.pi ----- comptran.pi - Test matrix utility functions pcompose_tran_matrix, pcompose_tran_matrix3 Test using different matrices: non-identity reference points: origin,non-origin tranlation vectors: some values scaling vectors: some values rotation angles: some values The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/evalmap.pi ----- evalmap.pi - Test matrix utility functions peval_view_map_matrix, peval_view_map_matrix3 Test using different window,viewport: default,square,non-square,different aspect ratio projection types: PARALLEL,PERSPECTIVE projection reference point: orthogonal,oblique front,view,back plane distances: F==V,V==B,F>V>B The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/evalori.pi ----- evalori.pi - Test matrix utilities peval_view_ori_matrix, peval_view_ori_matrix3 Test using different view reference points: origin/non-origin, view up vectors: any values view plane normals: any values The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/rotate.pi ----- rotate.pi - Test matrix utility functions protate, protate_x, protate_y, protate_z Test using different rotation angles: 0,<0,>0 The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/scale.pi ----- scale.pi - Test matrix utility functions pscale, pscale3 Test using different scaling vectors: <1,1,>1 in x,y,z directions The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/tranpt.pi ----- tranpt.pi - Test matrix utility functions ptran_point, ptran_point3 Test using different matrices: identity/non-identity The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/utils/translate.pi ----- translate.pi - Test matrix utility functions ptranslate, ptranslate3 Test using different translation vectors: 0,<0,>0 in x,y,z directions The resulting matrix from the utility is compared to the matrix from the same operation performed in the test code. testcases/xform/modelxf1.pi ----- modelxf1.pi - Test requirements: Test that local transformation, set with different compositiion types, is correctly applied to an output primitive testcases/xform/modelxf2.pi ----- modelxf2.pi - Test requirements: Test that composite transformation is correctly applied to output primitives. The composite transformation is formed from the local transformation and the composite transformation inherited from the parent's structure. testcases/xform/modelxf3.pi ----- modelxf3.pi - Test requirements: Test that global transformation attribute,which is set in a parent structure, is inherited by a child structure. Test that global transformation attribute, which is set in a child structure, affects the child structure, but not the parent. testcases/xform/modelxf4.pi ----- modelxf4.pi - Test requirements: Test that the modelling clipping indicator is used to determine whether subsequent output primitives will be clipped against the modelling clipping volume during structure traversal. Also verify that the default modelling clip indicator is PIND_NO_CLIP testcases/xform/modelxf5.pi ----- modelxf5.pi - Test requirements: Test that modelling clipping indicator attribute,which is set in a parent structure, is inherited by a child structure. Test that modelling clipping indicator attribute, which is set in a child structure, affects only the child structure, not the parent. testcases/xform/modelxf6.pi ----- modelxf6.pi - Test requirements: Test modelling clipping volume(3) with operators PMC_INTERSECT and PMC_REPLACE testcases/xform/modelxf7.pi ----- modelxf7.pi - Test requirements: Test that modelling clipping volume(3) attribute,which is set in a parent structure, is inherited by a child structure. Test that modelling clipping volume(3) attribute, which is set in a child structure, affects only the child structure, not the parent. testcases/xform/modelxf8.pi ----- modelxf8.pi - Test requirements: Test restore modelling clipping volume resets the current modelling clipping volume to the value inherited by the structure being traversed. testcases/xform/modelxf9.pi ----- modelxf9.pi - Test requirements: Test the the half-spaces are transformed by the composite transformation testcases/xform/viewxf1.pi ----- viewxf1.pi - Test that the view orientation transformation matrix is applied to output primitives. Test with non-default view reference point, view plane normal(case 3D only) and view up vector Draw polylines and verify the presence of pixels in transformed locations testcases/xform/viewxf2.pi ----- viewxf2.pi - Test that the view mapping transformation matrix is applied to output primitives. Test with non-default view reference point, view plane normal(case 3D only) and view up vector Draw polylines and verify the presence of pixels in transformed locations testcases/xform/viewxf3.pi ----- viewxf3.pi - Test view clipping Draw several polylines and verify the presence of pixels inside the viewport and the absence of pixels outside the viewport. testcases/xform/viewxf4.pi ----- viewxf4.pi - Test view index attribute inheritance Test that view index attribute, which is set in a parent structure, is inherited by a child structure. Test that view index attribute, which is set in a child structure, affects the child structure, but not the parent. Draw polylines and verify the presence of pixels in the expected locations testcases/xform/wsxf1.pi ----- wsxf1.pi - Verify the default workstation transformation Set and inquire workstation transformation verify by comparing the values inquired against expected testcases/xform/wsxf2.pi ----- wsxf2.pi - Verify the consistency of 2D/3D workstation transformation Set workstation transformation(2D), inquire workstation transformation (3D) Set workstation transformation(3D), inquire workstation transformation (2D) verify by comparing the values inquired against expected testcases/xform/wsxf3.pi ----- wsxf3.pi - Set workstation transformation Test rendering with workstation transformation using square workstation Try different combinations of window and viewport: same asp ratio, different asp ratio, square, non-square Draw a polyline and verify pixels testcases/xform/wsxf4.pi ----- wsxf4.pi - Set workstation transformation Test rendering with workstation transformation using non-square workstation Try different combinations of window and viewport: same asp ratio, different asp ratio, square, non-square Draw a polyline and verify pixels testcases/xform/wsxf5.pi ----- wsxf5.pi - Test workstation clipping Draw several polylines and verify the presence of pixels inside the ws window and the absence of pixels outside the ws window. testcases/xform/viewxf5.pi ----- viewxf5.pi - Test that the view clipping is applied to front and back plane testcases/xform/primxf1.pi ----- primxf1.pi - Test transformation with different primitives modelling : rotation view orientation : translation view mapping : perspective workstation : scaling testcases/xform/primxf2.pi ----- primxf2.pi - Test view clipping with different primitives testcases/xform/primxf3.pi ----- primxf3.pi - Test modelling clipping with different primitives