PHIGS fuggvenyek a javasolt ill. lehetseges parameterezesekkel ============================================================== A tipusdefiniciokat lasd a phigs.h-ban! ============================================================== Controlling, Workstation ------------------------ popen_phigs( /* phigs nyitasa es inicializalasa */ const char *error_file, /* PDEF_ERR_FILE errorfile neve*/ size_t buffer_size /* PDEF_MEM_SIZE pufferterulet */ ); pclose_phigs( /* PHIGS kornyezet lezarasa */ void ); popen_ws( Pint workstation_id, const void *connection_id, /* NULL */ Pint workstation_type /* phigs_ws_type_x_tool */ ); pclose_ws( /* lezarja az adott workstation-t */ Pint workstation_id ); Workstation Color Table ----------------------- pset_colr_rep( Pint ws_id, Pint color_index, Pcol_rep *rep ); Strukturak ---------- popen_struct( /* struktura nyitasa, ha nem volt, letrehozza */ Pint structure_id ); pclose_struct( /* aktualis struktura lezarasa */ void ); ppost_struct( /* struktura atkuldese a workstation-re */ Pint workstation_id, Pint structure_id, Pfoat priority /* (Pfloat) 1.0 */ ); punpost_struct( Pint workstation_id, Pint structure_id, ); pupd_ws( Pint workstation_id, Pregen_flag regeneration_flag /* {PFLAG_PERFORM, PFLAG_POSTPONE} */ ); pset_disp_upd_st( Pint ws_id, Pint deferral_mode, /* PDEFER_ASAP, BNIG, BNIL, ASTI, WAIT */ Pint modification_mode /* PMODE_NIVE, UWOR, UQUM */ ); Strukturak szerkesztese ----------------------- pset_edit_mode( Pint mode /* PEDIT_INSERT, P_EDIT_REPLACE */ ); plabel( Pint label_id ); pset_elem_ptr( Pint ep_value ); pset_elem_ptr_label( Pint label_id ); poffset_elem_ptr( Pint ep_offset ); Vonal primitivek ----------------- ppolyline( const Ppoint_list *point_list ); ppolyline3( const Ppoint_list3 *point_list ); Vonal attributumok ------------------ pset_linecolr( Pgcolr *col ); pset_linetype( Pint linetype /* PLINE_SOLID, DASH, DOT, DASH_DOT */ ); pset_linewidth( Pfloat width ); Teruleti primitivek -------------------- pfill_area( /* letrehoz egy '2d fill area' strukturaelemet, nincs ele */ Ppoint_list *point_list ); pfill_area3( /* letrehoz egy '3d fill area' strukturaelemet, nincs ele */ Ppoint_list3 *point_list ); pfill_area_set( /* 2d kitoltes ellel Ppoint_list_list *point_list_set ); pfill_area_set3( Ppoint_list_list3 *point_list_set ); Teruleti attributumok --------------------- pset_int_colr( Pgcolr *col ); pset_int_style( Pint interior_style /* {PSTYLE_SOLID, PSTYLE_EMPTY, PSTYLE_HOLLOW, PSTYLE_HATCH, PSTYLE_PAT */ ); pset_edge_flag( Pint edge_flag /* {PEDGE_ON, PEDGE_OFF} */ ); pset_edgetype( Pint linetype /* PLINE_SOLID, PLINE_DASH,PLINE_ DOT,PLINE_DASH_DOT */ ); Polymarker primitivek es attributumok ------------------------------------- ppolymarker( const Ppoint_list *point_list ); ppolymarker3( const Ppoint_list3 *point_list ); pset_marker_colr( Pgcolr *col ); pset_marker_size( Pfloat size ); pset_marker_type( Pint type /* PMARKER_DOT, PLUS, ASTERISK, CIRCLE, CROSS */ ); Text primitivek ---------------- ptext( Ppoint *location, char *text ); ptext3( Ppoint3 *location, Pvec dir[2], char *text ); Text attributumok ----------------- pset_char_ht( Pfloat char_height ); pset_text_align( Ptext_align *text_align /* PHOR_NORM,LEFT,CTR,RIGHT, PVERT_NORM,TOP,CAP,HALF,BASE,BOTTOM */ ); pset_text_colr( Pgcolr *col ); pset_char_expan( Pfloat expan ); Modell tarnszformaciok ---------------------- ptranslate( Pvec *trans_vec, Pint *error, Pmatrix xform ); ptranslate3( Pvec3 *trans_vec, Pint *error, Pmatrix3 xform ); protate( Pfloat *theta_in_rad, Pint *error, Pmatrix xform ); protate_x( Pfloat *theta_in_rad, Pint *error, Pmatrix3 xform ); protate_y( Pfloat *theta_in_rad, Pint *error, Pmatrix3 xform ); protate_z( Pfloat *theta_in_rad, Pint *error, Pmatrix3 xform ); pscale( Pvec *scale_vec, Pint *error, Pmatrix xform ); pscale3( Pvec3 *scale_vec, Pint *error, Pmatrix3 xform ); pbuild_tran_matrix( Ppoint *local_origin, Pvec *tr_vec, Pfloat theta_in_rad, Pvec *sc_vec, Pint *error, Pmatrix xform ); pbuild_tran_matrix3( Ppoint3 *local_origin, Pvec3 *tr_vec, Pfloat x_theta_in_rad, Pfloat y_theta_in_rad, Pfloat z_theta_in_rad, Pvec3 *sc_vec, Pint *error, Pmatrix3 xform ); pcompose_matrix( Pmatrix left_matrix, Pmatrix right_matrix, Pint *error, Pmatrix result_matrix ); pcompose_matrix3( Pmatrix3 left_matrix, Pmatrix3 right_matrix, Pint *error, Pmatrix3 result_matrix ); pcompose_tran_matrix( Pmatrix in_left_matrix; Ppoint *local_origin, Pvec *tr_vec, Pfloat theta_in_rad, Pvec *sc_vec, Pint *error, Pmatrix out_matrix ); pcompose_tran_matrix3( Pmatrix3 in_left_matrix, Ppoint3 *local_origin, Pvec3 *tr_vec, Pfloat x_theta_in_rad, Pfloat y_theta_in_rad, Pfloat z_theta_in_rad, Pvec3 *sc_vec, Pint *error, Pmatrix3 out_matrix ); pset_local_tran( Pmatrix xform, Pint compose_type /* PTYPE_REPLACE, PRECONCAT, POSTCONCAT */ ); pset_local_tran3( Pmatrix3 xform, Pint compose_type /* PTYPE_REPLACE, PRECONCAT, POSTCONCAT */ ); pset_global_tran( Pmatrix xform ); pset_global_tran3( Pmatrix3 xform ); Viewing -------- peval_view_map_matrix( Pview_map *mapping, Pint *error, Pmatrix view_map_matrix ); peval_view_map_matrix( Pview_map3 *mapping, Pint *error, Pmatrix3 view_map_matrix ); peval_view_ori_matrix( Ppoint *view_ref_point, Pvec *view_up_vector, Pint *error, Pmatrix view_orient_matrix ); peval_view_ori_matrix( Ppoint3 *view_ref_point, Pvec3 *view_plane_normal, Pvec3 *view_up_vector, Pint *error, Pmatrix3 view_orient_matrix ); pset_view_rep( Pint ws_id, Pint view_index, Pview_rep *view_rep ); pset_view_rep3( Pint ws_id, Pint view_index, Pview_rep3 *view_rep ); Struktura halozatok ------------------- pexec_struct( Pint str_id );