../dox/ProgramFlow.dox
Startup Workflow Events
Errorhandling-Tests Constants
Standards-Tolerences-Modelsize Transformations Source-EDitor Interaction cursorPosition Views ViewPlane ConstructionPlane
DB-functions
Textures Tesselate
CAD NC NC-Wcut
IGES DXF VRML
DL-OpenGL DLLs Plotten
ut_DB.c (DB_) ut_dbo.c handle database-objects (typ, DB-index) (DBO_)
UTO_get_DB get DB-data-struct from typ, DB-index DB_get_PT,LN,VC,CI DB_GetCurv,Sur,Sol DB_GetObjGX returns a ObjGX of a object stored in DB UTO_obj_getp returns data-struct from ObjGX DB_GetObjGX DB_GetPoint DB_StorePoint DB_QueryNxtInd DB_GetDynInd
ut_const.h Basic constants math. ut_tol_const.h Basic constants tolereances. ut_geo_const.h Basic constants geometry.
see also ut_transform.c (UTRA_) see also ConstructionPlane
UTRA_m3_inirot transformation from rotationaxis and angle UTRA_def__ define transformation UTRA_app_pt apply all defined Transformations to a point UTRA_app_vc apply all defined Transformations to a Vector UTRA_app__ UTRA_app_oTab UTRA_app_obj UTO_obj_apptra apply Tra; creat new struct. in:Struct; preload trMat. UTO_obj_tra ruft UTO_stru_tra; in: oGX u Mat_4x3 UTO_stru_tra apply Tra; generiert neue oGX; in: oGX u Mat_4x3 UTO_pt_tratra UTO_pt_trarot UT2D_pt_traptm2 UT2D_vc_travcm2 UT3D_pt_traptm3 UT3D_pt_rotptm3 UT3D_pt_traptm4 UT3D_vc_travcm3 UT3D_vc_travcm4
WC_ask_ModSiz get APT_ModSiz WC_Init_Modsiz set APT_ModSiz WC_Init_Tol deduct tolerances from APT_ModSiz <<<<<<<<<<<<<< UI_WinToler window for setting tolerances .. GL_InitModelSize
APT_work_PrgCmd do "VIEW" source GL_View_get returns active viewData GL_View_set set viewData GL_View_dump dump viewData UI_GR_view save/restore viewData
see also cursorPosition
GL_GetViewPos compute cursorPosition in userCoords on GL_view_pln // Viewplane (active displayplane with the GL-RotationCenterpoint GL_cen) // Always parall. to X-Y-Plane. static Plane GL_view_pln;
see also Transformations see also xa.c
Plane WC_sur_act; the ConstructionPlane; in xa.c int WC_sur_ind; DB-Index of the ActiveConstrPlane; 0=none. double WC_sur_Z; the active Z-Offset to the ConstructionPlane char WC_ConstPl_Z[16]; displayed name_of_Constr.Plane; is "DZ" or "R20" Mat_4x3 WC_sur_mat; // TrMat of ActiveConstrPlane Mat_4x3 WC_sur_imat; // inverse TrMat of ActiveConstrPlane Functions ConstrPlane: DL_setRefSys NC_setRefsys GL_SetConstrPln DL_GetTrInd AP_ucs_to translate point into active constructionplane (WCS -> UCS) AP_ucs_from get point from active constructionplane (UCS -> WCS) UI_sur_act_CB1 interactive setting of ConstructionPlane GL_SetConstrPln GL_constr_pln=(WC_sur_act+WC_sur_Z); write Label Z-Offset UI_Set_ConstPl_Z write Label name_of_Constr.Plane AP_Set_ConstPl_Z write Label name_of_Constr.Plane UI_suract_keyIn mode=2: set & display WC_sur_Z AP_Get_ConstPl_Z gives ConstPLn as text or Z-vec AP_Get_ConstPl_vz give Z-vec of ConstructionPlane
see also Messages / Direct-Messages
AP_errStat_get AP_errStat_set raise / reset error AP_errStat_reset AP_errText_set AP_debug__ Alt shift x AP_test__ Testfunction in core; activate by Ctl shift T exit durch Ctl shift X
main xa_main.c nur via ":/main (" AP_work__ work Startparameters UI_win_main das MainWindow aufbauen UI_GR_WinInit das OpenGL-Window aufbauen AP_defaults_write nur beim ersten Start AP_Init0 nur einmal - ganz am Beginn UI_menCB "new" AP_Init1 DL_Init WC_Init_all ED_work_END ED_work_CurSet ruecksetzen od. bis new ln abarbeiten .. ED_Run OpenGL-Startup: OpenGL-events: see Events UI_win_main UI_Enter // winGR UI_GR_Init UI_GR_WinInit set events for GL_widget UI_GR_DrawCreate gtk_gl_area_new(attrlist) GL_InitInfo glGetString(GL_RENDERER).. GL_config_test glGetIntegerv (GL_DEPTH_BITS .. UI_GR_Reshape OpenGL-Window Expose-event UI_GR_GLInit GL_Init__ GL_Init0 GL_alloc__
NC_Main.c CommandInterpreter - main
UI_AP UserInterface; UI_menCB Callback f File/new ... UI_butCB Callback fuer Menufuncs, Buttons, ... ED_work_END ED_work_CurSet ED_Run ED_Read_Line WC_Work__ subModel WC_Work1 ========= HauptEntry in NC_Main.c ========== APT_work_def DefinitionLine abarbeiten (decode, draw) APT_decode_obj Typ und Index der Zielvariable bestimmen APT_decode_ausdr Eingabezeile zerteilen (1. Decodierstufe) APT_decode_func decode SIN() X() D() ANG() P() L() .. APT_decode_inp 2.Decodierstufe APT_store_obj decode APT-object, store object. APT_decode_var APT_decode_pt APT_decode_ln APT_decode_ci APT_DrawCirc APT_decode_ell APT_decode_pol APT_decode_bsp APT_decode_ccv AP_cont_nxt Kontursucher .. APT_decode_pln1 Plane/Refsys APT_decode_pln2 Plane R = PERP .. APT_decode_sbsp decode b-spline-surf APT_decode_sur APT_decode_srv APT_decode_s_sph APT_decode_s_cyl APT_decode_s_con APT_decode_sol APT_decode_bsph Sphere APT_decode_bcon CONUS APT_decode_btor TORUS APT_decode_btor PRISM APT_trim_obj LN|CI|CV = CUT .. DB_StoreCurv APT_Draw__ DB_GetCurv APT_DrawCurv APT_DrawCirc GL_DrawPoly2D GR_DrawCirc GL_DrawPoly APT_DrawPln APT_DrawSur GR_DrawSur TSU_DrawSurT_ TSU_DrawSurTRU Ruled Surface TSU_DrawSurTRV Revolved Surface TSU_DrawSurTS ungetrimmte/ungelochte Planare Flaeche TSU_DrawSurTC getrimmte/gelochte Complex-Flaeche (Typ_SURTPS) TSU_DrawSurTP getrimmte/gelochte Planare Flaechen GL_DrawSur GL_Surf_Ini GL_Disp_sur APT_DrawSol GR_CreSol__ GL_disp_prism APT_work_PrgCmd Programming-Function (goto, call, WORK, if ...) APT_work_NCCmd FROM TL .. APT_do_auxCmd T1;G20;R0 .. APT_wcut_line nur if (APT_workmode == Typ_nc_cut) ? APT_drill_line nur if (APT_workmode == Typ_nc_cut) ?
Workflow CAD:
// activate new subMenu: IE_cad_init2 // activate new mainMenu IE_cad_init1 // activate new subMenu // activate new inputField: IE_cad_InpIn__ // receive Input from user: IE_cad_sel1 // test content of all inputFields: IE_cad_test1 // finish cad-object: IE_cad_OK UI_CB_hide Hide - Funktion DL_disp_set UI_CB_view View - Funktion GA_hide__ hidden-Elements-Tabelle bearbeiten
UI_butSM S/M/DEL ein/aus UI_EdButtonPress Mousebuttons im EdWin. UI_GR_ButtonPress Mousebuttons im GrafWin (selection, indicate) UI_GR_Select1 GL_sel_sel UI_GR_Select2 callback von GUI_Popup (Liste der sel.Obj) UI_GR_Select_work1 work GR_Sel_Filter 3-7 UI_GR_Select_work2 work hide,view,SM or call IE_cad_sel1 CAD-report sel. ED_add_Text MAN UI_GR_view_set_Z UI_GR_Indicate UI_GR_ButtonRelease "button_release_event" UI_EdKeyPress Keyboard - Press UI_EdKeyRelease Keyboard - Release UI_GR_MotionNotify mouse-movement "motion_notify_event" OMN_CB_popup callback of popup-menu UI_GR_GLInit gtk-"realize" UI_GR_Redraw gtk-"draw"-Event UI_GR_Destroy UI_CursorWait UI_ChangeCursor UI_ResetCursor OpenGL-Events: UI_GR_Reshape configure_event UI_GR_Draw visibility_notify_event expose_event UI_GR_Enter enter_notify_event UI_GR_RECONFIG UI_GR_idle_CB
xa_src.c check, modify, convert source-objects (text) SRC_ xa_ed_mem.c ApplicSpecficFunctions APT-Textfunctions im Memory APED_ xa_ed.c Neutral EditorFunctions (MAN, not Gtk-specific) ED_ xa_cad_ed.c CAD-GroupEditor IE_ed1_ ut_txfil.c Textfunctions im Memory UTF_ ut_gtk2ed.c Gtk-EditorFunctions GUI_Ed_
ED_work_END Button END = alles abarbeiten TX_Print ut_ui_TX.c TX_Write GUI_Tx_wri ../gtk/ut_gtk2tx.c GUI_Tx_add
UI_cad Hauptmenue aufbauen IE_cad_p_CB PointMenueEintrag selected .. IE_activate nach Select obj: entspr. menu aktivieren. IE_decode_Ln Inputtzeile in (Typen, Worte) zerlegen IE_txt2par1 decode textline -> subgroup (nach SM) IE_cad_sel1 Selektion wird gemeldet, decodiert, eingearbeitet. IE_cad_test1 test ob alle Eingaben vorh; ja:decode Felder, exec txt, activate OK. IE_cad_OK OK-Butt.pressed: clear Inputboxen,Zeile->Datei
APT_decode_Activ DB_StoreActiv UI_menCB "Iact" ckb_Iact UI_GR_ButtonPress UI_GR_Select1 DL_IactSelect DB_QueryActiv ACT_ck_act
APT_work_PrgCmd APT_wcut_ln1 CUT P NC_up_Work_ CUT S NC_up_Pock_ POCK Pock_CUT_CIRC CUT_CIR Pock_POCK_CIRC POCK_CIR
UI_wcg__ gesamtes Panel generieren UI_wcg_init_ erster Start UI_wcg_CBcont Auswahl einer Kontur UI_wcg_InitBuf Text -> aus_typ,aus_tab; wcg_decode__ abarbeiten AP_cont_nxt Kontur -> oxInpU (memspc) wcg_decode_APT Konikinfos -> deTab wcg_CreCutAll Ausgabeelemente -> oxOutU/O[oxOutNr] wcg_CreCutCyl wcg_CreCutCon wcg_CreCutCpx wcg_cpx_break wcg_cpx_teilen wcg_OutDrawAll Ausgabeobjekte anzeigen. GR_DrawSur dzt werden Typ_SURRU einzeln ausgegeben UI_wcg_InitProc Konikinfos anzeigen UI_wcg_UpdateProc Konikinfos aus menue uebernehmen (OK-Butt.) UI_wcg_askExit beenden UI_wcg_CB_ExitDia beenden UI_wcg_SaveOK Progr -> Editwin wcg_encode__ das aktuelle APT-prog -> memspc54 ........ NC-Tech ........ APT_wcut_line eine NC-Bearbeitungszeile decodieren UI_wcTec__ Window aufbauen UI_wcTec_Init1 erster Start UI_wcTec_find_tec NC_up_Work_ WORK CUT .. NC_up_Pock_
UI_menCB "open" UI_open__ AP_Import__ ("xa_ige_r", "IGE_r__", cbuf); AP_Mod_load AP_ImportIges IGE_r__ Mainentry in ../exp/ige_r.c IGE_r_D__ IGE_r_P__ IGE_r_work__ abarbeiten IGE_r_work_1 subfigs, dann main abarbeiten IGE_r_work_2 ein Obj ausgeben IGE_r_128 AP_obj_2_txt UTF_add2_line UI_expIgeCB AP_ExportIges__ AP_ExportIges_Model IGE_w_rec IGE_w_mat IGE_w_P_ELL
dxf_r.c ../exp/dxf_r.c Import DXF-functions (dxfr_) dxf_w.c ../exp/dxf_w.c Export DXF-functions (dxfw_)
UI_menCB "impDxf/expDxf" DXF_r__ dxfr_init get txsiz,dimsiz,$EXT.. dxfr_head__ dxfr_rec__ dxfr_rec__ read obj AP_obj_2_txt create code, write > mem_cbuf1 UTF_insert1 add to mem AP_ExportDxf dxfw_rec
wrl_readTess__ wrl_ut.c Import TSU_exp__ ../gr/tess_ut.c Export TSU_exp_sur
ui_tex.c // ModifyTexturesWindow xa_tex.c // Texture-Utility-Functions. gru.c // OpenGl-Texture-Utility-Functions.
UI_Tex__ GL_Tex_Load bmp_load GR_DrawSur TSU_DrawSurT_ > TSU_DrawSurTP , TSU_DrawSurTRU GL_DrawSur GRU_tex_pos1 compute texture-parameters (vectors, scale) TSU_get_vec GRU_tex_rec GRU_tex_pos9 GL_Tex_Ini apply texture glTexGendv (GL_S, apply horizontal vector vs glTexGendv (GL_T, apply vertical vector vt glRotatef apply rotation glScalef apply scale glTranslatef apply offset ...
APT_DrawSur GR_DrawSur TSU_DrawSurT_ TSU_DrawSurTC getrimmte/gelochte Flaeche TSU_tr_init_ TSU_DrawSurTBox GLT_comm_work GLT_diff_work
GL_set_viewPlnPos GL_actUsrPos, on viewPlane (GL_GetViewPos) GR_set_constPlnPos GR_CurUk, on constructionPlane (GL_GetConstrPos) UI_GR_get_actPos_ return the active cursorPosition as string "<x> <y> <z>" GL_GetActSelPos Coords of last selectionPoint on viewPlane UI_GR_get_actPosA get current curPos in userCoords on constructionPlane GL_Get_Cen screencenter in userCoords GL_get_Scale GL_GetEyeLn Sichtstrahl (Point & Vector) retournieren GL_GetEyeX UI_GR_SelVert get vertext nearest to cursor
DL_ReScale__ Rescale rescale ScalAll DL_InitAttTab Def.Attributtabelle laden DL_DumpObjTab dump DispList GL_DrawLine ../gr/ut_GL.c GL_DrawTxtG ../gr/ut_GL.c GL_Redraw redraw DL
see also xa_dll.c (DLL_)
xa_dll.c UI_DllLst_read fill list of userprograms (DLL's) UI_DllLst_CB DLL by user selected .. AP_exec_dll start plugin
UI_WinPrint1 AP_print__ ../exp/prt_w.c AP_print_work2
1.6.3