-+-+-+-+-+-+-+-+ START OF PART 221 -+-+-+-+-+-+-+-+ X case PEL_ANNOTATION_TEXT_PATH: X#ifdef SUN X writephigsenum(dest, PTKETXPATH, elcont->eldata.tx_path); X#endif X#ifdef VMS X writephigsenum(dest, PTKETXPATH, elcont->eldata.text_path); X#endif X break; X X case PEL_TEXT_ALIGNMENT: X case PEL_ANNOTATION_TEXT_ALIGNMENT: X#ifdef SUN X writephigsenum(dest, PTKETXHOR, elcont->eldata.tx_align.hor); X writephigsenum(dest, PTKETXVER, elcont->eldata.tx_align.ver); X#endif X#ifdef VMS X writephigsenum(dest, PTKETXHOR, elcont->eldata.text_align.hor); X writephigsenum(dest, PTKETXVER, elcont->eldata.text_align.ver); X#endif X break; X X case PEL_INTERIOR_STYLE: X#ifdef SUN X writephigsenum(dest, PTKEINTERSTYLE, elcont->eldata.int_style); X#endif X#ifdef VMS X writephigsenum(dest, PTKEINTERSTYLE, elcont->eldata.interior_style); X#endif X break; X X case PEL_EDGE_FLAG: X writephigsenum(dest, PTKEEDGEF, elcont->eldata.edge_flag); X break; X X case PEL_PATTERN_SIZE: X case PEL_PATTERN_REFERENCE_POINT: X writepoint(dest, &elcont->eldata.pt); X break; X X case PEL_PATTERN_REFERENCE_POINT_AND_VECTORS: X#ifdef SUN X writepoint3(dest, &elcont->eldata.pat.pt); X writevector3(dest, &elcont->eldata.pat.vec`5B0`5D); X writevector3(dest, &elcont->eldata.pat.vec`5B1`5D); X#endif X#ifdef VMS X writepoint3(dest, &elcont->eldata.pat_pt_vectors.pt); X writevector3(dest, &elcont->eldata.pat_pt_vectors.vectors`5B0`5D); X writevector3(dest, &elcont->eldata.pat_pt_vectors.vectors`5B1`5D); X#endif X break; X X case PEL_ADD_NAMES_TO_SET: X case PEL_REMOVE_NAMES_FROM_SET: X writeintlst(dest, &elcont->eldata.name_set, PTKENAME); X break; X X case PEL_INDIVIDUAL_ASF: X#ifdef SUN X writephigsenum(dest, PTKEATTRID, elcont->eldata.asf.id); X writephigsenum(dest, PTKEASF, elcont->eldata.asf.asf); X#endif X#ifdef VMS X writephigsenum(dest, PTKEATTRID, elcont->eldata.asf_info.attr_id); X writephigsenum(dest, PTKEASF, elcont->eldata.asf_info.asf); X#endif X break; X X case PEL_LOCAL_MODELLING_TRANSFORMATION3: X#ifdef SUN X writematrix3(dest, elcont->eldata.mtran3.mat); X writephigsenum(dest, PTKECOMPTYPE, elcont->eldata.mtran3.comp); X#endif X#ifdef VMS X writematrix3(dest, elcont->eldata.local_xform_3.mat3); X writephigsenum(dest, PTKECOMPTYPE,`20 X elcont->eldata.local_xform_3.compose_type); X#endif X break; X X case PEL_LOCAL_MODELLING_TRANSFORMATION: X#ifdef SUN X writematrix3(dest, elcont->eldata.m_tran.mat); X writephigsenum(dest, PTKECOMPTYPE, elcont->eldata.m_tran.comp); X#endif X#ifdef VMS X writematrix(dest, elcont->eldata.local_xform.mat); X writephigsenum(dest, PTKECOMPTYPE,`20 X elcont->eldata.local_xform.compose_type); X#endif X break; X X case PEL_GLOBAL_MODELLING_TRANSFORMATION3: X#ifdef SUN X writematrix3(dest, elcont->eldata.gbl_tran3); X#endif X#ifdef VMS X writematrix3(dest, elcont->eldata.mat3); X#endif X break; X X case PEL_GLOBAL_MODELLING_TRANSFORMATION: X#ifdef SUN X writematrix(dest, elcont->eldata.gbl_tran); X#endif X#ifdef VMS X writematrix(dest, elcont->eldata.mat); X#endif X break; X X#ifdef SUN X case PEL_MODELLING_CLIPPING_VOLUME3: X writeinteger(dest, elcont->eldata.mclip3.op); X /* half space list */ X break; X X case PEL_MODELLING_CLIPPING_VOLUME: X writeinteger(dest, elcont->eldata.mclip.op); X /* half space list */ X break; X X case PEL_MODELLING_CLIPPING_INDICATOR: X writephigsenum(dest, PTKECLIP, elcont->eldata.clip_ind); X break; X X case PEL_RESTORE_MODELLING_CLIPPING_VOLUME: X break; X#endif X X case PEL_APPLICATION_DATA: X#ifdef SUN X writeinteger(dest, elcont->eldata.appl_data.size); X phinprintf(dest, "\"%s\"\n", elcont->eldata.appl_data.data); X#endif X#ifdef VMS X writeinteger(dest, elcont->size); X phinprintf(dest, "\"%s\"\n", elcont->eldata.data); X#endif X break; X X case PEL_GSE: X writeinteger(dest, elcont->eldata.gse.id); X break; X `7D X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writelnbundl(C(ptkedest) dest, C(Plnbundl *) bundl) XPreANSI(ptkedest dest) XPreANSI(Plnbundl *bundl) X`7B X phinprintf(PTKEINFORM, "linetype = "); X writeinteger(dest, bundl->type); X phinprintf(PTKEINFORM, "linewidth scale factor = "); X writereal(dest, bundl->width); X phinprintf(PTKEINFORM, "line colour = "); X writeintvalue(dest, bundl->colour, PTKECOLOURIND); X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writemkbundl(C(ptkedest) dest, C(Pmkbundl *) bundl) XPreANSI(ptkedest dest) XPreANSI(Pmkbundl *bundl) X`7B X phinprintf(PTKEINFORM, "markertype = "); X writeinteger(dest, bundl->type); X phinprintf(PTKEINFORM, "marker size scale factor = "); X writereal(dest, bundl->size ); X phinprintf(PTKEINFORM, "marker colour = "); X writeintvalue(dest, bundl->colour, PTKECOLOURIND); X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writetxbundl(C(ptkedest) dest, C(Ptxbundl *) bundl) XPreANSI(ptkedest dest) XPreANSI(Ptxbundl *bundl) X`7B X phinprintf(PTKEINFORM, "text font = "); X writeinteger(dest, bundl->font); X phinprintf(PTKEINFORM, "text precision = "); X writephigsenum(dest, PTKETXPREC, bundl->precision); X phinprintf(PTKEINFORM, "character expansion factor = "); X writereal(dest, bundl->exp); X phinprintf(PTKEINFORM, "character spacing = "); X writereal(dest, bundl->space); X phinprintf(PTKEINFORM, "text colour = "); X writeintvalue(dest, bundl->colour, PTKECOLOURIND); X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writeinterbundl(C(ptkedest) dest, C(Pinterbundl *) bundl) XPreANSI(ptkedest dest) XPreANSI(Pinterbundl *bundl) X`7B X phinprintf(PTKEINFORM, "interior style = "); X writephigsenum(dest, PTKEINTERSTYLE, bundl->style); X phinprintf(PTKEINFORM, "interior style index = "); X writeinteger(dest, bundl->index); X phinprintf(PTKEINFORM, "interior colour = "); X writeintvalue(dest, bundl->colour, PTKECOLOURIND); X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writeedgebundl(C(ptkedest) dest, C(Pedgebundl *) bundl) XPreANSI(ptkedest dest) XPreANSI(Pedgebundl *bundl) X`7B X phinprintf(PTKEINFORM, "edge flag = "); X writephigsenum(dest, PTKEEDGEF, bundl->flag); X phinprintf(PTKEINFORM, "edge type = "); X writeinteger(dest, bundl->type); X phinprintf(PTKEINFORM, "edgewidth scale factor = "); X writereal(dest, bundl->scale); X phinprintf(PTKEINFORM, "edge colour = "); X writeintvalue(dest, bundl->colour, PTKECOLOURIND); X`7D X X/*-------------------------------------------------------------------------- V*/ X X#ifdef VMS Xstatic void writelnattr(C(ptkedest) dest, C(Plnattr *) attr) XPreANSI(ptkedest dest) XPreANSI(Plnattr *attr) X`7B X phinprintf(PTKEINFORM, "linetype asf = "); X writephigsenum(dest, PTKEASF, attr->type); `20 X phinprintf(PTKEINFORM, "line width asf = "); X writephigsenum(dest, PTKEASF, attr->width); `20 X phinprintf(PTKEINFORM, "line colour asf = "); X writephigsenum(dest, PTKEASF, attr->colour); X phinprintf(PTKEINFORM, "line bundle index = "); X writeinteger(dest, attr->index); X writelnbundl(dest, &attr->bundl); `20 X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writeinterattr(C(ptkedest) dest, C(Pinterattr *) attr) XPreANSI(ptkedest dest) XPreANSI(Pinterattr *attr) X`7B X phinprintf(PTKEINFORM, "interior asf = "); X writephigsenum(dest, PTKEASF, attr->interior); `20 X phinprintf(PTKEINFORM, "interior style asf = "); X writephigsenum(dest, PTKEASF, attr->style); `20 X phinprintf(PTKEINFORM, "interior colour asf = "); X writephigsenum(dest, PTKEASF, attr->colour); X phinprintf(PTKEINFORM, "interior bundle index = "); X writeinteger(dest, attr->index); X writeinterbundl(dest, &attr->bundl); `20 X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writeedgeattr(C(ptkedest) dest, C(Pedgeattr *) attr) XPreANSI(ptkedest dest) XPreANSI(Pedgeattr *attr) X`7B X phinprintf(PTKEINFORM, "edge flag asf = "); X writephigsenum(dest, PTKEASF, attr->flag); `20 X phinprintf(PTKEINFORM, "edge width asf = "); X writephigsenum(dest, PTKEASF, attr->width); `20 X phinprintf(PTKEINFORM, "edge colour asf = "); X writephigsenum(dest, PTKEASF, attr->colour); X phinprintf(PTKEINFORM, "edge bundle index = "); X writeinteger(dest, attr->index); X writeedgebundl(dest, &attr->bundl); `20 X`7D X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writemkattr(C(ptkedest) dest, C(Pmkattr *) attr) XPreANSI(ptkedest dest) XPreANSI(Pmkattr *attr) X`7B X phinprintf(PTKEINFORM, "marker type asf = "); X writephigsenum(dest, PTKEASF, attr->type); `20 X phinprintf(PTKEINFORM, "marker size asf = "); X#ifdef SUN X writephigsenum(dest, PTKEASF, attr->style); `20 X#endif X#ifdef VMS X writephigsenum(dest, PTKEASF, attr->size); `20 X#endif X phinprintf(PTKEINFORM, "marker colour asf = "); X writephigsenum(dest, PTKEASF, attr->colour); X phinprintf(PTKEINFORM, "marker bundle index = "); X writeinteger(dest, attr->index); X writemkbundl(dest, &attr->bundl); `20 X`7D X#endif X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writechoicerec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Pchoicerec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Pchoicerec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X case 2: X case 3:`20 X switch (pet) X `7B X case 1: X break; X X case 3: X `7B X Pint i; X Pchar **chstrings; X X phinprintf(PTKEINFORM, "number of choice strings"); X writeinteger(dest, rec->choicepet3_datarec.number); X for (i = 0; i < rec->choicepet3_datarec.number; i++) X phinprintf(dest, "choice string = %s\n",`20 X rec->choicepet3_datarec.strings`5Bi`5D); X/* if (rec->choicepet1_datarec.title_string != NULL) X phinprintf(dest, "title string = %s\n",`20 X rec->choicepet1_datarec.title_string); */ X `7D X break; X `7D X break; X X default: break; X `7D X#endif X`7D /* writechoicerec */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void writelocrec(C(ptkedest) dest, C(Pint) device, C(Pint) pet,`20 X C(Plocrec *) rec) XPreANSI(ptkedest dest) XPreANSI(Pint device) XPreANSI(Pint pet) XPreANSI(Plocrec *rec) X`7B X#ifdef SUN X switch (device) X `7B X case 1:`20 X case 2: X case 3:`20 X case 4: X case 5: X switch (pet) X `7B X case 1: X case 2: X case 3: X break; X X case -2: X phinprintf(dest, "crosshair colour index"); X writeintvalue(dest, rec->ulocpet2_datarec.crosshair_colour, PTKECO VLOURIND); X break; X X case -4: X writelnbundl(dest, &rec->ulocpet4_datarec.ln_bundl); X break; X X case -5: X writelnbundl(dest, &rec->ulocpet5_datarec.ln_bundl); X break; X `7D X X default: break; X `7D X#endif X#ifdef VMS X switch (device) X `7B X case 1:`20 X case 2: X case 3:`20 X case 4: X switch (pet) X `7B X case 1: X case 2: X case 3: X break; X X case 4: X writelnattr(dest, &rec->locpet4_datarec.ln); X break; X X case 5: X phinprintf(dest, "polyline/fillarea control flag"); X writephigsenum(dest, PTKEPFCF, rec->locpet5_datarec.pfcf); X switch(rec->locpet5_datarec.pfcf) X`09 `7B X case PPF_POLYLINE: X writelnattr(dest, &rec->locpet5_datarec.attr.ln); X break; X X case PPF_FILLAREA: X writeinterattr(dest, &rec->locpet5_datarec.attr.in); X break; X X case PPF_FILLAREA_SET: X writeinterattr(dest, &rec->locpet5_datarec.attr.fas.in); X writeedgeattr(dest, &rec->locpet5_datarec.attr.fas.edge); X break; X`09 `7D X break; X X case 6: X/* if (rec->locpet6_datarec.title_string != NULL) X phinprintf(dest, "title string = %s\n",`20 X rec->locpet6_datarec.title_string); */ X break; X `20 X case -1: X phinprintf(dest, "box width"); X writereal(dest, rec->locpet_1_datarec.box_x); X phinprintf(dest, "box height"); X writereal(dest, rec->locpet_1_datarec.box_y); X break; X X case -2: X phinprintf(dest, "polyline/fillarea control flag"); X writephigsenum(dest, PTKEPFCF, rec->locpet_2_datarec.pfcf); X switch(rec->locpet_2_datarec.pfcf) X`09 `7B X case PPF_POLYLINE: X writelnattr(dest, &rec->locpet_2_datarec.attr.ln); X break; X X case PPF_FILLAREA: X writeinterattr(dest, &rec->locpet_2_datarec.attr.in); X break; X X case PPF_FILLAREA_SET: X writeinterattr(dest, &rec->locpet_2_datarec.attr.fas.in); X writeedgeattr(dest, &rec->locpet_2_datarec.attr.fas.edge); X break; X`09 `7D X break; X X case -3: X writelnattr(dest, &rec->locpet_3_datarec.ln); X phinprintf(dest, "point 1 for echo"); X writepoint3(dest, &rec->locpet_3_datarec.point1); X phinprintf(dest, "point 2 for echo"); X writepoint3(dest, &rec->locpet_3_datarec.point2); X break; X X case -4: X writelnattr(dest, &rec->locpet_4_datarec.ln); X break; X X case -5: +-+-+-+-+-+-+-+- END OF PART 221 +-+-+-+-+-+-+-+-