You can be pretty sure that no existing PHIGS program will compile, link and run. They'll all need conversion. There are six sed scripts in this directory. They are named todis[1-6].sed. While these sed files work and contain most of the changes, they were mainly written for conversion of the API code itself. Some things need to be done by hand. There's no money-back guarantee, The script todis.sh can be run to process a file through the sed scripts. You might need to set the progpath in this script before running. Attached below are some notes made during the conversion. They list some things that need to be done by hand (given the current sed scripts) and a number of PHIGS PLUS changes documented nowhere else. There are a number of changes to the PHIGS PLUS part of the binding, most of them for consistency with the DIS binding ("index" has to be "ind" everywhere). Few functions had parameter changes, although some of the ones that did are high-use types (ppolyline3 and friends). The sed scripts attempt to warn about these. -------------------------------NOTES--------------------------------- * Enumeration name changes sed script * #define changes sed script * Function name changes sed script * Data structure name changes sed script * Data structure field name changes sed script and diff check * PHIGS PLUS function name changes sed script * New error numbers sed script * New function names in phigscfunc.h by hand * Data structure changes by hand * New stuff by hand * Function parameter changes by hand * Set Error Handling by hand * Removed stuff by hand Check all enumerations by hand Make all the vertex and facet data flags enumerations by hand Data type field name changes, by hand -------------------------------------- Ploc_data.ln --> line_attrs (sed script change and warning) Ploc_data3.ln --> line_attrs (sed script change and warning) Pedge_attrs.index --> ind (sed script change and warning) Pint_attrs.index --> ind (sed script change and warning) Pline_attrs.index --> ind (sed script change and warning) Pmarker_attrs.index --> ind (sed script change and warning) Pedge_bundle.colr --> colr_ind Pline_bundle.colr --> colr_ind Pmarker_bundle.colr --> colr_ind Ptext_bundle.colr --> colr_ind Pint_bundle.colr --> colr_ind Ppat_rep.dim --> dims Ppat_rep_plus.dim --> dims Pint_facs.int_styles is now a fixed size array Pcolr_rep changed considerably Pelem_data.nurb_surf.order --> u_order and v_order pcreate_store() loses first parameter Notes ----- Pflush_class went away, replaced by Pin_class. Ppres_inval went away. Pstore_type went away. Pint_point went away. Pint_point3 went away. Pwstype went away. Pws_type_list went away. Pedge_attrs has a new field, type_asf. Pdisp_space_size and Pdisp_space_size3 have new data types. Pcolr_facs loses two fields and has a new one, prim_colrs. New type: Pcieluv. Pelem_data.anno_text3.offset type is now a Pvec3. Pelem_data.anno_text.offset type is now a Pvec. Pelem_data.cell_array3.dim type is now Pint_size. Pelem_data.cell_array.dim type is now Pint_size. Pelem_data.ext_cell_array.dim type is now Pint_size. Ppat_ret.dim type is now Pint_size Pdims is now Pint_size The field Pescape_in_data.escape_in_u2.store has been removed. PHIGS PLUS Changes for consistency with DIS ------------------------------------------- General ------- shading --> shad_meth shades --> shads shadmeths --> shad_meths method --> meth properties --> props area_props --> refl_props reflectance --> refl equation --> eqn approximation --> approx criteria --> crit surface --> surf triangle --> tri quadrilateral --> quad B-spline --> bsp uniform --> uni non-uniform --> nuni extended --> plus characteristics --> characs distinguishing --> disting culling --> cull depth_cue --> dcue vertexdata --> vertex_data edgedata --> edge_data facetdata --> facet_data refplanes --> ref_planes cullmode --> cull_mode distgmode --> disting_mode shadmeths --> shad_meths refeqs --> refl_eqns uvalue --> u_val vvalue --> v_val ratsel --> rationality ext_cell_array --> cell_array_plus normal --> norm index --> ind The seventh parameter, "range", of NON-UNIFORM B-SPLINE SURFACE was removed. Paspect: -------- PPOLYLINE_SHADING_METHOD --> PASPECT_LINE_SHAD_METH PINTERIOR_SHADING_METHOD --> PASPECT_INT_SHAD_METH PAREA_PROPERTIES --> PASPECT_REFL_PROPS PINTERIOR_REFLECTANCE_EQUATION --> PASPECT_INT_REFL_EQN PBACK_INTERIOR_STYLE --> PASPECT_BACK_INT_STYLE PBACK_INTERIOR_STYLE_INDEX --> PASPECT_BACK_INT_STYLE_IND PBACK_INTERIOR_COLOUR --> PASPECT_BACK_INT_COLR PBACK_INTERIOR_SHADING_METHOD --> PASPECT_BACK_INT_SHAD_METH PBACK_AREA_PROPERTIES --> PASPECT_BACK_REFL_PROPS PBACK_INTERIOR_REFLECTANCE_EQUATION --> PASPECT_BACK_INT_REFL_EQN PCURVE_APPROXIMATION_CRITERIA --> PASPECT_CURVE_APPROX_CRIT PSURFACE_APPROXIMATION_CRITERIA --> PASPECT_SURFACE_APPROX_CRIT Pelem_type ---------- PEL_POLYLINE_SET3_DATA --> PELEM_POLYLINE_SET3_DATA PEL_FILL_AREA_SET3_DATA --> PELEM_FILL_AREA_SET3_DATA PEL_TRIANGLE_STRIP3_DATA --> PELEM_TRI_STRIP3_DATA PEL_QUADRILATERAL_MESH3_DATA --> PELEM_QUAD_MESH3_DATA PEL_SET_OF_FILL_AREA_SET3_DATA --> PELEM_SET_OF_FILL_AREA_SET3_DATA PEL_NON_UNIFORM_B_SPLINE_CURVE --> PELEM_NUNI_BSP_CURVE PEL_NON_UNIFORM_B_SPLINE_SURFACE --> PELEM_NUNI_BSP_SURF PEL_EXTENDED_CELL_ARRAY3 --> PELEM_CELL_ARRAY3_PLUS PEL_TEXT_COLR --> PELEM_TEXT_COLR PEL_MARKER_COLR --> PELEM_MARKER_COLR PEL_EDGE_COLR --> PELEM_EDGE_COLR PEL_LINE_COLR --> PELEM_LINE_COLR PEL_CURVE_APPROX_CRITERIA --> PELEM_CURVE_APPROX_CRIT PEL_LINE_SHADING_METHOD --> PELEM_LINE_SHAD_METH PEL_INT_COLR --> PELEM_INT_COLR PEL_BACK_INT_COLR --> PELEM_BACK_INT_COLR PEL_BACK_INT_STYLE --> PELEM_BACK_INT_STYLE PEL_BACK_INT_STYLE_IND --> PELEM_BACK_INT_STYLE_IND PEL_AREA_PROPERTIES --> PELEM_REFL_PROPS PEL_BACK_AREA_PROPERTIES --> PELEM_BACK_REFL_PROPS PEL_INT_SHADING_METHOD --> PELEM_INT_SHAD_METH PEL_BACK_INT_SHADING_METHOD --> PELEM_BACK_INT_SHAD_METH PEL_INT_REFLECTANCE_EQUATION --> PELEM_INT_REFL_EQN PEL_BACK_INT_REFLECTANCE_EQUATION --> PELEM_BACK_INT_REFL_EQN PEL_SURFACE_APPROX_CRITERIA --> PELEM_SURFACE_APPROX_CRIT PEL_PARA_SURF_CHARACTERISTICS --> PELEM_PARA_SURF_CHARACS PEL_FACE_DISTINGUISHING_MODE --> PELEM_FACE_DISTING_MODE PEL_FACE_CULLING_MODE --> PELEM_FACE_CULL_MODE PEL_LIGHT_SOURCE_STATE --> PELEM_LIGHT_SRC_STATE PEL_DEPTH_CUE_IND --> PELEM_DEPTH_CUE_IND PEL_COLR_MAP_IND --> PELEM_COLR_MAP_IND PEL_RENDERING_COLR_MODEL --> PELEM_RENDERING_COLR_MODEL PEL_NUM_EL_TYPES --> PELEM_NUM_EL_TYPES Pdistg_mode ----------- PDISTG_NO --> PDISTING_NO PDISTG_YES --> PDISTING_YES Pext_ws_tables -------------- max_dcue --> dcue_rep max_light_src --> light_src_rep max_colr_map --> colr_map_rep Pmod_ws_plus --> Pdyns_ws_attrs_plus Ppara_surf_charac --> Ppara_surf_characs Pdistg_mode --> Pdisting_mode Pvisibility --> Pedge_flag Pext_line_bundle --> Pline_bundle_plus Pext_marker_bundle --> Pmarker_bundle_plus Pext_int_bundle --> Pint_bundle_plus Pext_edge_bundle --> Pedge_bundle_plus Pext_pat_bundle --> Ppat_rep_plus Pext_line_facs --> Pline_facs_plus Pext_int_facs --> Pint_facs_plus Pext_ws_tables --> Pws_tables_plus Parea_props --> Prefl_props PHIGS PLUS function names ------------------------- pext_cell_array3 --> pcell_array3_plus ptri3_data --> ptri_strip3_data pquad3_data --> pquad_mesh3_data pset_area_prop(properties --> pset_refl_props pset_int_reflect_eq --> pset_refl_eqn pset_back_area_prop --> pset_back_refl_props pset_back_int_reflect_eq --> pset_back_refl_eqn pset_ext_line_rep --> pset_line_rep_plus pset_ext_marker_rep --> pset_marker_rep_plus pset_ext_text_rep --> pset_text_rep_plus pset_ext_int_rep --> pset_int_rep_plus pset_ext_edge_rep --> pset_edge_rep_plus pset_ext_pat_rep --> pset_pat_rep_plus pinq_ext_line_rep --> pinq_line_rep_plus pinq_ext_marker_rep --> pinq_marker_rep_plus pinq_ext_text_rep --> pinq_text_rep_plus pinq_ext_int_rep --> pinq_int_rep_plus pinq_ext_edge_rep --> pinq_edge_rep_plus pinq_ext_pat_rep --> pinq_pat_rep_plus pinq_ext_line_facs --> pinq_line_facs_plus pinq_pred_ext_line_rep --> pinq_pred_line_rep_plus pinq_pred_ext_marker_rep --> pinq_pred_marker_rep_plus pinq_pred_ext_text_rep --> pinq_pred_text_rep_plus pinq_ext_int_facs --> pinq_int_facs_plus pinq_pred_ext_int_rep --> pinq_pred_int_rep_plus pinq_pred_ext_edge_rep --> pinq_pred_edge_rep_plus pinq_pred_ext_pat_rep --> pinq_pred_pat_rep_plus pinq_ext_ws_st_table --> pinq_ws_st_table_plus pset_line_shade_method --> pset_line_shad_meth pset_int_shade_method --> pset_int_shad_meth pset_back_int_shade_method --> pset_back_int_shad_meth pset_face_distg_mode --> pset_face_disting_mode pset_para_surf_charac --> pset_para_surf_characs