ut_DB.c File Reference


Detailed Description

database-functions; DB_

=====================================================
Liste_Funktionen_Beginn:

DB_fix_tol
DB_Stat            display statistic
DB_dump__
DB_dump_f
DB_dump_Activ
DB_save__          gesamte DB -> Datei raus
DB_load__          gesamte DB aus Datei einlesen

DB_GetVar          get var ((double)"V")
DB_get_Var         get *double ((double)"V")
DB_get_PT          get *Point
DB_GetPoint        get Point
DB_get_LN          get *Line
DB_GetLine         get Line
DB_get_VC          get *Vector
DB_GetVector       get Vector
DB_get_CI          get *Circ
DB_GetCirc         get Circ
DB_get_PLN         get *Plane
DB_GetRef          get Plane (RefSys)
DB_DefRef          das Defaultrefsys (RX/RY/RZ) liefern
DB_get_CV          get form and struct of Curve ((ObjGX*)"S")
DB_GetCurv         get *Curve ((ObjGX*)"S",cv_tab/cv_dyn)
DB_GetGTxt         get *Text ((ObjGX*)"N")
DB_GetSur          get Surf ((ObjGX*)"A")
DB_GetSol          get ? ((ObjGX*),so_tab)
DB_GetTra          get Transformation ((ObjGX*)"T")
DB_GetTool         get Tool ((BTool*),"?",tl_tab)
DB_get_Activ

DB_GetObjGX        get obj  (ObjGX)
DB_GetObjDat       get data-struct from typ, DB-index

DB_store_obj       call DB_StoreXX with ObjGX
DB_store_stru      call DB_StoreXX with structTyp,struct

DB_StoreVar
DB_StoreVector
DB_StorePoint
DB_StoreLine
DB_StoreCirc
DB_StoreCvEll
DB_StoreCvPlg
DB_StoreClot
DB_StoreCvBsp
DB_StoreCurv
DB_StoreDim
DB_StoreATxt
DB_StoreGTxt
DB_StoreImg        store BMP-Bitmap (AText)
DB_StoreTex        store Texture
DB_StoreRef        store Plane "R" (RefSys)
DB_StoreSur        su_tab
DB_StoreSol        so_tab
DB_StoreTra        tra_tab
DB_StoreTool       tl_tab
DB_StoreActiv      save Activity
DB_StoreDummy

DB_StoreModel      store subModel-Reference (Ditto); mdr_tab
DB_get_ModRef      get Ditto from Index
DB_dump_ModRef
DB_del_Mod__       delete Dittos und BasicModels

DB_StoreModBas     store subModel; (Detail); mdb_dyn
DB_get_ModBas      get subModel from Index
DB_get_ModBasNr    get nr of defined subModels
DB_get_ModNr       get ModelNr from Modelname
DB_list_ModBas     Modelnames in korrekter Reihenfolge -> Datei
DB_del_ModBas
DB_ModBas_seqMax   get highest seqNr
DB_ModBas_namNr    get the name of a basic-model from its nr
DB_dump_ModBas

DB_StoreModNod     Model-Node (basicModelIndex+parentbasicModelIndex+DB-index)
DB_get_ModNod
DB_ModNod_ckLoop_  check for call itsef
DB_ModNod_ckLoop1
DB_ModNod_ckLoaf_  not yet done ..
DB_allocModNod
DB_dump_ModNod

DB_Store_hdr_cv    Curve-Header speichern
DB_Store_hdr_su    Surf.-Header speichern
DB_Store_hdr_nt    Note-Header speichern

DB_Filter__        get list of filtered DB-objects
DB_FindVector
DB_QueryPoint
DB_QueryLine
DB_QueryCirc
DB_QueryCurv
DB_QueryActiv
DB_GetConnObj
DB_GetObjTyp2Pt

DB_CkRef           check if Trfsys[Ind] is defined.
DB_CheckInd        unused
DB_2DTyp_3DTyp     give 2D-Typ of 3D-Typ
DB_Typ_Char        give typ(int) from text  (zB "PT" --> Typ_PT)
DB_Char_Typ        make text from (int)typ; Typ_PT --> "PT" ..
DB_Get_GR_Obj      read &transform obj ???
DB_GetDynInd       get next dyn. Index
DB_QueryDef           check if obj is defined in DB;
DB_QueryNew        get first free index for object from char (eg 'P')
DB_QueryLastUsed
DB_QueryNxtUsed       den naechsten besetzten Index holen
DB_QueryNxtInd
DB_Error

DB_set_state       save/restore all saved DB-Pointers (kill newer objects)
DB_ck_CDAT
DB_cPos
DB_cSav
DB_cGet
DB_Query_siz

DB_Init
DB_allocCDAT
DB_allocVAR
DB_allocDynVAR
DB_allocPoint
DB_allocDynPoint
DB_allocVector
DB_allocDynVector
DB_allocLine
DB_allocDynLine
DB_allocCirc
DB_allocDynCirc
DB_allocCurve
DB_allocDynCurve
DB_allocNote
DB_allocDynNote
DB_allocRef
DB_allocModRef
DB_allocModNam
DB_allocModBas
DB_allocTool
DB_allocTra
DB_allocSur
DB_allocSol

DB_Delete

DB_GetObjG2        ********** do not use *******
DB_ObjG2Tab_sav    ********** do not use *******

Liste_Funktionen_Ende:
=====================================================

#include "../xa/MS_Def0.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../ut/ut_geo.h"
#include "../ut/ut_obj.h"
#include "../ut/ut_txt.h"
#include "../ut/ut_TX.h"
#include "../gr/ut_gr.h"
#include "../gr/ut_DL.h"
#include "../db/ut_DB.h"

Data Structures

struct  DB_obj

Defines

#define APT_VR_INC   200
#define APT_PT_INC   5000
#define APT_VC_INC   2000
#define APT_LN_INC   2000
#define APT_CI_INC   2000
#define APT_PL_INC   500
#define APT_MR_INC   200
#define APT_TL_INC   200
#define APT_TR_INC   200
#define APT_CV_INC   2000
#define APT_TX_INC   2000
#define APT_SU_INC   2000
#define APT_SO_INC   2000
#define APT_AC_INC   50
#define DB_CINC   2000000
 memsiz for DB_CDAT (curves ..
#define DB_MNM_INC   5000
 memsiz for mdb_nam (DB_allocModNam)
#define DYN_VR_INC   100
#define DYN_PT_INC   5000
#define DYN_VC_INC   1000
#define DYN_LN_INC   1000
#define DYN_CI_INC   1000
#define DYN_PL_INC   500
#define DYN_CV_INC   1000
#define DYN_SU_INC   1000
#define DYN_TX_INC   1000
#define DYN_MB_INC   100
#define MNOD_INC   100

Functions

void DB_fix_tol (double scale)
int DB_dump_stat ()
void DB_Stat ()
int DB_size_set (long *lTab)
void DB_Init (int mode)
int DB_save__ ()
int DB_load__ ()
PointDB_get_PT (long Ind)
LineDB_get_LN (long Ind)
VectorDB_get_VC (long Ind)
CircDB_get_CI (long Ind)
PlaneDB_get_PLN (long Ind)
void * DB_get_CV (int *ityp, long Ind)
ObjGX DB_GetObjGX (int typ, long apt_ind)
int DB_GetObjDat (void **pDat, int dbTyp, long dbInd)
int DB_2DTyp_3DTyp (int typIn)
long DB_GetDynInd (int typ)
ObjGXDB_GetGTxt (long Ind)
long DB_StoreImg (long Ind, AText *oi)
long DB_StoreDim (long Ind, Dimen *dim1)
long DB_StoreDim3 (long Ind, Dim3 *dim3)
long DB_StoreATxt (long Ind, AText *atx1)
long DB_StoreGTxt (long Ind, GText *gtx1)
long DB_StoreVar (long Ind, double d1)
double * DB_get_Var (long Ind)
double DB_GetVar (long Ind)
int DB_CkRef (long Ind)
long DB_StoreRef (long Ind, Plane *pl1)
PlaneDB_DefRef (long Ind)
void DB_GetRef (Plane *pl1, int Ind)
ObjGXDB_GetSol (long Ind)
int DB_StoreSol (long Ind, ObjGX *bd1)
int DB_StoreDummy (int typ, long Ind)
long DB_StoreSurBsp (long Ind, SurBSpl *si)
long DB_StoreSurRBsp (long Ind, SurRBSpl *si)
long DB_StoreSurRV (long Ind, SurRev *si)
int DB_StoreSur (long Ind, ObjGX *ox1)
ObjGXDB_GetSur (long Ind, int mode)
int DB_StoreModel (long Ind, ObjGX *md1)
int DB_del_Mod__ ()
ModelRefDB_get_ModRef (long Ind)
int DB_dump_Activ ()
int DB_dump_f (FILE *fpo, int typ)
int DB_dump__ ()
int DB_dump_ModBas ()
int DB_dump_ModRef ()
char * DB_ModBas_namNr (int bmNr)
int DB_ModBas_seqMax ()
int DB_list_ModBas ()
int DB_del_ModBas (long ind)
int DB_allocModNod ()
int DB_StoreModNod (int mod, int par, int ind)
ModelNodeDB_get_ModNod (int ind)
int DB_dump_ModNod ()
int DB_ModNod_ckLoop1 (int ibm, int errbm)
int DB_ModNod_ckLoop_ (int ii)
int DB_ModNod_ckLoaf_ (int ii)
int DB_StoreModBas (int mode, char *newNam)
ModelBasDB_get_ModBas (long Ind)
int DB_get_ModBasNr ()
int DB_get_ModNr (char *modNam)
long DB_FindVector (Vector *vc1)
long DB_StoreVector (long Ind, Vector *vc1)
int DB_allocVAR (long Ind)
int DB_allocPoint (long Ind)
int DB_allocVector (long Ind)
int DB_allocLine (long Ind)
int DB_allocCirc (long Ind)
int DB_allocRef (long Ind)
int DB_allocModRef (long Ind)
int DB_allocModNam (long Ind)
int DB_allocModBas (long Ind)
int DB_allocTool (long Ind)
int DB_allocTra (long Ind)
int DB_allocCurve (long Ind)
int DB_allocNote (long Ind)
int DB_allocSur (long Ind)
int DB_allocSol (long Ind)
int DB_allocAct (long Ind)
int DB_allocDynVAR (long Ind)
int DB_allocDynPoint (long Ind)
int DB_allocDynVector (long Ind)
int DB_allocDynLine (long Ind)
int DB_allocDynCirc (long Ind)
int DB_allocDynPlane (long Ind)
int DB_allocDynCurve (long Ind)
int DB_allocDynSur (long Ind)
int DB_allocDynNote (long Ind)
int DB_set_state (int mode)
int DB_ck_CDAT ()
int DB_allocCDAT (long Ind)
long DB_StorePoint (long Ind, Point *pt1)
Vector DB_GetVector (long Ind)
Point DB_GetPoint (long Ind)
long DB_StoreLine (long Ind, Line *ln1)
Line DB_GetLine (long Ind)
long DB_StoreCirc (long Ind, Circ *ci1)
Circ DB_GetCirc (long Ind)
int DB_Error (int typ)
void * DB_cPos ()
void * DB_cSav (long size, void *data)
void * DB_cGet (void *data, void *pos, long size)
void * DB_ObjG2Tab_sav (ObjGX *ox1)
long DB_Store_hdr_su (ObjGX **oxo, long Ind)
long DB_Store_hdr_cv (ObjGX **cvo, long Ind)
long DB_Store_hdr_nt (ObjGX **txo, long Ind)
long DB_StoreClot (long Ind, CurvClot *cvCl)
long DB_StoreCvBsp (long Ind, CurvBSpl *cvbsp)
long DB_StoreCvRBsp (long Ind, CurvRBSpl *cvbsp)
long DB_StoreCvPlg (long Ind, CurvPoly *cvplg)
long DB_StoreCvEll (long Ind, CurvPoly *cvell)
long DB_StoreCurv (long Ind, ObjGX *cv1, int iNew)
ObjGXDB_GetCurv (long Ind)
int DB_StoreTra (long Ind, ObjGX *ox1)
ObjGXDB_GetTra (long Ind)
void DB_StoreTool (long Ind, BTool *tl1)
ActivityDB_get_Activ (long Ind)
int DB_StoreActiv (long Ind, Activity *data)
int DB_GetTool (BTool *tl1, long Ind)
int DB_GetConnObj (int *typ1, long *ind1, int *typ2, long *ind2, Point2 *pt1)
long DB_GetObjTyp2Pt (int *typ, Point2 *pt1, Point2 *pt2)
int DB_Query_siz (long *cSiz)
int DB_QueryDef (int typ, long ind)
long DB_QueryNew (char *typChr, int iOff)
long DB_QueryLastUsed (int typ, int istart)
long DB_QueryNxtUsed (int typ, int istart)
long DB_QueryNxtInd (int typ, int istart)
char * DB_Char_Typ (int typ)
int DB_Typ_Char (char *auxBuf)
long DB_QueryPoint (Point *pt1)
long DB_QueryLine (Point *pt1)
long DB_QueryCirc (Point *pt1)
long DB_QueryCurv (Point *pt1)
int DB_Filter__ (ObjGrp *grp, int *grpNr, ObjGX *flt, int fltNr)
int DB_QueryActiv (Activity **act, int typ, long ind)
void DB_Delete (int typ, long ind)
int DB_store_obj (ObjGX *oxo, ObjGX *ox1, long *ind)
int DB_store_stru (void **oo, int form, void *os1, int iNr, long *ind)

Variables

double AP_txsiz
 Notes-Defaultsize.
double AP_txdimsiz
 Dimensions-Text-size.
int AP_txNkNr
 Nachkommastellen.
int WC_sur_ind
 Index auf die ActiveConstrPlane.
Plane WC_sur_act
 die aktive Plane
Mat_4x3 WC_sur_mat
 TrMat of ActiveConstrPlane.
Mat_4x3 WC_sur_imat
 inverse TrMat of ActiveConstrPlane
double GR_tx_scale
double APT_ModSiz
double APT_ln_len
long APT_VR_SIZ
long APT_VR_IND = 0
 APT_.._IND: der letzte belegte Index !
long APT_PT_SIZ
long APT_PT_IND = 0
long APT_VC_SIZ
long APT_VC_IND = 0
long APT_LN_SIZ
long APT_LN_IND = 0
long APT_CI_SIZ
long APT_CI_IND = 0
long APT_PL_SIZ
long APT_PL_IND = 0
long APT_MR_SIZ
long APT_MR_IND = 0
long APT_TL_SIZ
long APT_TL_IND = 0
long APT_TR_SIZ
long APT_TR_IND = 0
long APT_CV_SIZ
long APT_CV_IND = 0
long APT_TX_SIZ
long APT_TX_IND = 0
long APT_SU_SIZ
long APT_SU_IND = 0
long APT_SO_SIZ
long APT_SO_IND = 0
long APT_AC_SIZ
long APT_AC_IND = 0
long DB_MNM_SIZ
long APT_MN_IND = 0
long DB_CSIZ
static long DYN_VR_SIZ = 0
static long DYN_VR_IND = 0
static long DYN_PT_SIZ = 0
static long DYN_PT_IND = 0
static long DYN_VC_SIZ = 0
static long DYN_VC_IND = 0
static long DYN_LN_SIZ = 0
static long DYN_LN_IND = 0
static long DYN_CI_SIZ = 0
static long DYN_CI_IND = 0
static long DYN_PL_SIZ = 0
static long DYN_PL_IND = 0
static long DYN_CV_SIZ = 0
static long DYN_CV_IND = 0
static long DYN_SU_SIZ = 0
static long DYN_SU_IND = 0
static long DYN_TX_SIZ = 0
static long DYN_TX_IND = 0
static long DYN_MB_SIZ = 0
static long DYN_MB_IND = 0
static long DB_MNM_IND = 0
static double * vr_tab = NULL
static double * vr_dyn = NULL
static Pointpt_tab = NULL
static Pointpt_dyn = NULL
static Vectorvc_tab = NULL
static Vectorvc_dyn = NULL
static Lineln_tab = NULL
static Lineln_dyn = NULL
static Circci_tab = NULL
static Circci_dyn = NULL
static Planepln_tab = NULL
static Planepln_dyn = NULL
static ModelRefmdr_tab = NULL
static ModelBasmdb_dyn = NULL
static char * mdb_nam = NULL
static Activityac_tab = NULL
BTooltl_tab = NULL
static ObjGXtra_tab = NULL
static ObjGXcv_tab = NULL
static ObjGXcv_dyn = NULL
static ObjGXsu_tab = NULL
static ObjGXsu_dyn = NULL
static ObjGXso_tab = NULL
static ObjGXtx_tab = NULL
static ObjGXtx_dyn = NULL
static Memspc DB_CSEG
static char * DB_CDAT = NULL
static ModelNodemNod = NULL
static int MNOD_SIZ = 0
static int MNOD_IND = 0
double DB_sel_tol = 2.5
double DB_sel_tol_fakt = 2.5
Point DB_pt0
Vector DB_vc0


Define Documentation

#define APT_VR_INC   200

#define APT_PT_INC   5000

#define APT_VC_INC   2000

#define APT_LN_INC   2000

#define APT_CI_INC   2000

#define APT_PL_INC   500

#define APT_MR_INC   200

#define APT_TL_INC   200

#define APT_TR_INC   200

#define APT_CV_INC   2000

#define APT_TX_INC   2000

#define APT_SU_INC   2000

#define APT_SO_INC   2000

#define APT_AC_INC   50

#define DB_CINC   2000000

memsiz for DB_CDAT (curves ..

#define DB_MNM_INC   5000

memsiz for mdb_nam (DB_allocModNam)

#define DYN_VR_INC   100

#define DYN_PT_INC   5000

#define DYN_VC_INC   1000

#define DYN_LN_INC   1000

#define DYN_CI_INC   1000

#define DYN_PL_INC   500

#define DYN_CV_INC   1000

#define DYN_SU_INC   1000

#define DYN_TX_INC   1000

#define DYN_MB_INC   100

#define MNOD_INC   100


Function Documentation

void DB_fix_tol ( double  scale  ) 

int DB_dump_stat (  ) 

void DB_Stat (  ) 

int DB_size_set ( long *  lTab  ) 

void DB_Init ( int  mode  ) 

mode=0: komplettes Init (alles) mode=1: alles ausser basicModels initialisieren mode=2: nur dyn-objects resetten

int DB_save__ (  ) 

gesamte DB -> Datei raus

int DB_load__ (  ) 

gesamte DB aus Datei einlesen

Point* DB_get_PT ( long  Ind  ) 

copy PT mit DB_GetPoint

Line* DB_get_LN ( long  Ind  ) 

copy: DB_GetLine

Vector* DB_get_VC ( long  Ind  ) 

copy: DB_GetVector

Circ* DB_get_CI ( long  Ind  ) 

copy: DB_GetCirc

Plane* DB_get_PLN ( long  Ind  ) 

    see also DB_GetRef DB_StoreRef
    es gibt keine dyn planes !
    see DB_GetRef

void* DB_get_CV ( int *  ityp,
long  Ind 
)

    returns form and struct of Curve.
    Out:
      ityp   <-- oGX[Ind].form      (od Typ_CVCCV bei Typ_ObjGX)
      retVal <-- oGX[Ind].data      (also die struct !!!

ObjGX DB_GetObjGX ( int  typ,
long  apt_ind 
)

    returns a ObjGX of any object stored in DB;
    Liefert einen ObjGX-Record von jedem DB-Obj.
    Error:      o.typ == Typ_Error;

see also DB_GetObjDat UTO_obj_getp ..

int DB_GetObjDat ( void **  pDat,
int  dbTyp,
long  dbInd 
)

    DB_GetObjDat          get data-struct from typ, DB-index
    
    Output:
      pDat        dataStruct of DB-Obj dbTyp/dbInd
      Retcode     type of datastruct pDat

int DB_2DTyp_3DTyp ( int  typIn  ) 

1=Index OK, -1=fehlerhaft.

long DB_GetDynInd ( int  typ  ) 

    returns next free dynamic object-Index for typ

ObjGX* DB_GetGTxt ( long  Ind  ) 

get Note (GText, AText, Dimen, tag, Image ..)

long DB_StoreImg ( long  Ind,
AText oi 
)

long DB_StoreDim ( long  Ind,
Dimen dim1 
)

long DB_StoreDim3 ( long  Ind,
Dim3 dim3 
)

long DB_StoreATxt ( long  Ind,
AText atx1 
)

long DB_StoreGTxt ( long  Ind,
GText gtx1 
)

long DB_StoreVar ( long  Ind,
double  d1 
)

double* DB_get_Var ( long  Ind  ) 

double DB_GetVar ( long  Ind  ) 

int DB_CkRef ( long  Ind  ) 

    check if Trfsys[Ind] is defined.
    RC=0; jes is defined.
    RC=-1: no not defined.
    RC=-2: no Ind out of range

long DB_StoreRef ( long  Ind,
Plane pl1 
)

Plane* DB_DefRef ( long  Ind  ) 

    das Defaultrefsys (RX/RY/RZ) liefern.
    Diese liegen fix in pln_dyn[0/1/2] !
    Ind   0  alle initialisieren
    Ind  -1  return Plane

void DB_GetRef ( Plane pl1,
int  Ind 
)

    get a copy of a plane
    see DB_get_PLN

ObjGX* DB_GetSol ( long  Ind  ) 

int DB_StoreSol ( long  Ind,
ObjGX bd1 
)

int DB_StoreDummy ( int  typ,
long  Ind 
)

occupy

long DB_StoreSurBsp ( long  Ind,
SurBSpl si 
)

save RevSur s1 --> su_tab[Ind], Daten nach DB_CSEG.

long DB_StoreSurRBsp ( long  Ind,
SurRBSpl si 
)

save Rat.BspSur s1 --> su_tab[Ind], Daten nach DB_CSEG.

long DB_StoreSurRV ( long  Ind,
SurRev si 
)

save RevSur s1 --> su_tab[Ind], Daten nach DB_CSEG.

int DB_StoreSur ( long  Ind,
ObjGX ox1 
)

    CIR u STRIP-Flaeche kommt als Punktindextabelle (von Dreiecken).
    Punkte als dynam. Punkte speichern.

ObjGX* DB_GetSur ( long  Ind,
int  mode 
)

    mode=0: silent; do not display Errors
    mode=1: display Errors
    Error (surf not defined): (ObjGX*)->typ == TX_Error) !

int DB_StoreModel ( long  Ind,
ObjGX md1 
)

keine dynam. models

int DB_del_Mod__ (  ) 

DB_del_Mod delete Dittos und BasicModels

ModelRef* DB_get_ModRef ( long  Ind  ) 

DB_get_ModRef get Ditto from Index

int DB_dump_Activ (  ) 

int DB_dump_f ( FILE *  fpo,
int  typ 
)

dump all objects of type<typ> into open file

int DB_dump__ (  ) 

dump DB

int DB_dump_ModBas (  ) 

int DB_dump_ModRef (  ) 

char* DB_ModBas_namNr ( int  bmNr  ) 

DB_ModBas_namNr get the name of a basic-model from its nr Input: bmNr nr of its basic-model

int DB_ModBas_seqMax (  ) 

DB_ModBas_seqMax get highest seqNr

int DB_list_ModBas (  ) 

    in BasicModels gibts Reihenfolgenummer seqNr.
    Diese in korrekter Reihenfolge -> Datei ../tmp/Mod.lst ausgeben.
    irc: Anzahl Models; (<0: Error).

int DB_del_ModBas ( long  ind  ) 

    DL-Record ind und alle folgenden werden geloescht.
    Das GL_Delete loescht auch BaseModels.

int DB_allocModNod (  ) 

int DB_StoreModNod ( int  mod,
int  par,
int  ind 
)

    Diese Liste ist so wie die basicModels permanent und hat je einen record
    fuer jedes Ditto; die refModels gibt es nur fuer das aktive submodel.
    mod    der basicModelIndex
    par    der parent - basicModelIndex
    ind    der ref.ModelIndex (= DB-index)

ModelNode* DB_get_ModNod ( int  ind  ) 

int DB_dump_ModNod (  ) 

int DB_ModNod_ckLoop1 ( int  ibm,
int  errbm 
)

int DB_ModNod_ckLoop_ ( int  ii  ) 

    den aktuellen Zweig scannen, ob das Model schon vorkommt (Loop !)
    parNr ist der NODE-Index des subModel, in dem mNam gerufen wird.

int DB_ModNod_ckLoaf_ ( int  ii  ) 

int DB_StoreModBas ( int  mode,
char *  newNam 
)

    check if SubModel exists. If not: create a new mdb_dyn-Record.
    Add libpath, Filename oder name of internal Model to ModNamTab.
    Add name also to mdb_dyn (if not yet present).
   
    Input:
     mode =  0: reset den Name-Buffer (init)
     mode = -2 = catalog-model
     mode =  1 = internal model
     mode =  2 = external model
     mode =  3 = MockupModel
     mode =  4 = Image-BMP
    Output:
     RC = ModelNumber; -1 = Error.

ModelBas* DB_get_ModBas ( long  Ind  ) 

beim abfragen aller names wird Ind einfach incrementiert ..

int DB_get_ModBasNr (  ) 

int DB_get_ModNr ( char *  modNam  ) 

    get ModelNr from Modelname  - Index -> mdb_dyn
      Modelname kann auch sein "M20"
    RC >= 0: ModelNr; Model is already loaded.
    RC = -1: Model not yet loaded ..

long DB_FindVector ( Vector vc1  ) 

long DB_StoreVector ( long  Ind,
Vector vc1 
)

int DB_allocVAR ( long  Ind  ) 

int DB_allocPoint ( long  Ind  ) 

int DB_allocVector ( long  Ind  ) 

int DB_allocLine ( long  Ind  ) 

int DB_allocCirc ( long  Ind  ) 

int DB_allocRef ( long  Ind  ) 

int DB_allocModRef ( long  Ind  ) 

int DB_allocModNam ( long  Ind  ) 

int DB_allocModBas ( long  Ind  ) 

int DB_allocTool ( long  Ind  ) 

int DB_allocTra ( long  Ind  ) 

int DB_allocCurve ( long  Ind  ) 

int DB_allocNote ( long  Ind  ) 

int DB_allocSur ( long  Ind  ) 

int DB_allocSol ( long  Ind  ) 

int DB_allocAct ( long  Ind  ) 

int DB_allocDynVAR ( long  Ind  ) 

int DB_allocDynPoint ( long  Ind  ) 

int DB_allocDynVector ( long  Ind  ) 

int DB_allocDynLine ( long  Ind  ) 

int DB_allocDynCirc ( long  Ind  ) 

int DB_allocDynPlane ( long  Ind  ) 

int DB_allocDynCurve ( long  Ind  ) 

int DB_allocDynSur ( long  Ind  ) 

int DB_allocDynNote ( long  Ind  ) 

int DB_set_state ( int  mode  ) 

    DB_set_state     save/restore all saved DB-Pointers (kill newer objects)
    mode=0     save all pointers
    mode=1     restore all pointers (kill newer objects)

int DB_ck_CDAT (  ) 

    testen, ob noch mind 25 K in CDAT frei sind;
    wenn nein: realloc UND stop !
    RC =  0: genug Platz vorhanden ...
    RC = -1: realloc done, restart.

int DB_allocCDAT ( long  Ind  ) 

    realloc DB_CDAT
    Ind = 0    Init / reInit mit Mind.Siz = DB_CINC
    Ind = 1    increase um DB_CINC
    Ind > 1    make Mind.Siz = Ind

long DB_StorePoint ( long  Ind,
Point pt1 
)

Vector DB_GetVector ( long  Ind  ) 

DB_get_VC

Point DB_GetPoint ( long  Ind  ) 

Pointer: DB_get_PT

long DB_StoreLine ( long  Ind,
Line ln1 
)

Line DB_GetLine ( long  Ind  ) 

long DB_StoreCirc ( long  Ind,
Circ ci1 
)

Circ DB_GetCirc ( long  Ind  ) 

int DB_Error ( int  typ  ) 

void* DB_cPos (  ) 

void* DB_cSav ( long  size,
void *  data 
)

    <size> Bytes aus data nach DB_CDAT speichern.
    Returns the position in DB_CDAT AFTER storage  (unlike UME_save !)
    ask for active position with DB_cPos();

void* DB_cGet ( void *  data,
void *  pos,
long  size 
)

returns newPos = pos + size

void* DB_ObjG2Tab_sav ( ObjGX ox1  ) 

    ObjG2-Objekte in Typ_ObjGX-Objekte umwandeln
    DO NOT USE
    save ObjG2Tabelle -> DB; return the Pos. of the ObjGXTabelle.

long DB_Store_hdr_su ( ObjGX **  oxo,
long  Ind 
)

get surf-Index/Parent-obj

long DB_Store_hdr_cv ( ObjGX **  cvo,
long  Ind 
)

long DB_Store_hdr_nt ( ObjGX **  txo,
long  Ind 
)

long DB_StoreClot ( long  Ind,
CurvClot cvCl 
)

long DB_StoreCvBsp ( long  Ind,
CurvBSpl cvbsp 
)

long DB_StoreCvRBsp ( long  Ind,
CurvRBSpl cvbsp 
)

long DB_StoreCvPlg ( long  Ind,
CurvPoly cvplg 
)

long DB_StoreCvEll ( long  Ind,
CurvPoly cvell 
)

long DB_StoreCurv ( long  Ind,
ObjGX cv1,
int  iNew 
)

    RetCod: der DB-Index !!!!
    
    iNew = 0; new data; save also Dataspace
    iNew = 1; Derived (copied) curve; do not save dataspace (only ObjGX-Rec.)

ObjGX* DB_GetCurv ( long  Ind  ) 

see also DB_get_CV

int DB_StoreTra ( long  Ind,
ObjGX ox1 
)

ObjGX* DB_GetTra ( long  Ind  ) 

rc = -1 = Fehler (undefined ...)

void DB_StoreTool ( long  Ind,
BTool tl1 
)

Activity* DB_get_Activ ( long  Ind  ) 

int DB_StoreActiv ( long  Ind,
Activity data 
)

DB_StoreActiv save Activity

int DB_GetTool ( BTool tl1,
long  Ind 
)

int DB_GetConnObj ( int *  typ1,
long *  ind1,
int *  typ2,
long *  ind2,
Point2 pt1 
)

    Jene Elemente suchen und Typ und Index ausgeben,
      deren Endpunkte auf pt1 liegen.
    
    RetCode: Anzahl der gefundenen Elemente; 0=nix,
      1 = ein Obj, Ind out in ind_1
      2 = zwei Obj, in ind_1 und ind_2
      3 oder mehr möglich !

long DB_GetObjTyp2Pt ( int *  typ,
Point2 pt1,
Point2 pt2 
)

    Jenes Element vom Typ typ suchen, dess Endpunkte pt1 / pt2 sind.
    Output:
      RetCode: der Index; -1 = nix gefunden.
      typ

int DB_Query_siz ( long *  cSiz  ) 

int DB_QueryDef ( int  typ,
long  ind 
)

    check if obj is defined in DB;
    RetCod
      0 = jes, OK
     -1 = obj undefined.

long DB_QueryNew ( char *  typChr,
int  iOff 
)

    DB_QueryNew    get first free index after iOff for object from char (eg 'P')
    returns a free index not less than iOff
   
    see also DB_QueryLastUsed DB_QueryNxtUsed DB_QueryNxtInd

long DB_QueryLastUsed ( int  typ,
int  istart 
)

    wenn( istart == 0) letzten definierten Indx holen
    else letzten vor istart

long DB_QueryNxtUsed ( int  typ,
int  istart 
)

    DB_QueryNxtUsed       den naechsten besetzten Index holen
    RetCode:
       0      Error; no obj with index istart or higher exists
       >0     index of existing obj. Is equal to istart or higher.

long DB_QueryNxtInd ( int  typ,
int  istart 
)

nächsten freien Index retournieren

char* DB_Char_Typ ( int  typ  ) 

    make text from (int)typ; Typ_PT --> "PT" ..
    max 8 chars

int DB_Typ_Char ( char *  auxBuf  ) 

    Text > int-3D-Typ
    give typ(int) from text "PT" --> Typ_PT

long DB_QueryPoint ( Point pt1  ) 

long DB_QueryLine ( Point pt1  ) 

long DB_QueryCirc ( Point pt1  ) 

long DB_QueryCurv ( Point pt1  ) 

befindet sich Punkt auf Curv ???

int DB_Filter__ ( ObjGrp grp,
int *  grpNr,
ObjGX flt,
int  fltNr 
)

    DB_Filter__        get list of filtered DB-objects
    Input:
      flt     FilterRecords. see Filtering_Examples
      fltNr - number of records in flt
      grpNr - size of gr1
    Output:
      grpNr - nr of found objects.
    Returncodes:
      -1      not yet implemented
   
    Filtering_Examples:
    fltNr=1; flt-Rec1: typ=Typ_SURPTAB.
              find all surfaces of type Typ_SURPTAB (A=PTAB ..)
              returns grp.typ=Typ_SUR; grp.ind=DB-ind.

int DB_QueryActiv ( Activity **  act,
int  typ,
long  ind 
)

    query, if a interactivity is connected to obj
    RectCod: 0=yes, -1=no.

void DB_Delete ( int  typ,
long  ind 
)

    unbenutzte dyn-objekte eliminieren ..
    alle nach DBind benutzten dyn-pointer werden nicht mehr gebraucht.
      Abfrage ob ind existiert !!!

int DB_store_obj ( ObjGX oxo,
ObjGX ox1,
long *  ind 
)

    save obj --> DB
    Input:
      ox1    eine (ObjGX*)-Struktur
    Output:
      oxo    su_tab[Ind]
      ind    wenn on Input < 0
    IRC  0 = OK
    IRC -1 = Error

int DB_store_stru ( void **  oo,
int  form,
void *  os1,
int  iNr,
long *  ind 
)

    save struct with form=form --> DB
    Input
      form  type of struct
      os1   struct
      iNr   derzeit nur fuer Points !!
      ind   if(ind == -1) create dynam. obj; give back dynam. index
    Output:
      oo    OutputAdresse (wo PointTable im DB_CSEG liegt)
      ind   dynam. Index
    IRC  0 = OK
    IRC -1 = Error


Variable Documentation

double AP_txsiz

Notes-Defaultsize.

double AP_txdimsiz

Dimensions-Text-size.

int AP_txNkNr

Nachkommastellen.

Index auf die ActiveConstrPlane.

die aktive Plane

TrMat of ActiveConstrPlane.

inverse TrMat of ActiveConstrPlane

double GR_tx_scale

double APT_ModSiz

double APT_ln_len

long APT_VR_SIZ

long APT_VR_IND = 0

APT_.._IND: der letzte belegte Index !

long APT_PT_SIZ

long APT_PT_IND = 0

long APT_VC_SIZ

long APT_VC_IND = 0

long APT_LN_SIZ

long APT_LN_IND = 0

long APT_CI_SIZ

long APT_CI_IND = 0

long APT_PL_SIZ

long APT_PL_IND = 0

long APT_MR_SIZ

long APT_MR_IND = 0

long APT_TL_SIZ

long APT_TL_IND = 0

long APT_TR_SIZ

long APT_TR_IND = 0

long APT_CV_SIZ

long APT_CV_IND = 0

long APT_TX_SIZ

long APT_TX_IND = 0

long APT_SU_SIZ

long APT_SU_IND = 0

long APT_SO_SIZ

long APT_SO_IND = 0

long APT_AC_SIZ

long APT_AC_IND = 0

long DB_MNM_SIZ

long APT_MN_IND = 0

long DB_CSIZ

long DYN_VR_SIZ = 0 [static]

long DYN_VR_IND = 0 [static]

long DYN_PT_SIZ = 0 [static]

long DYN_PT_IND = 0 [static]

long DYN_VC_SIZ = 0 [static]

long DYN_VC_IND = 0 [static]

long DYN_LN_SIZ = 0 [static]

long DYN_LN_IND = 0 [static]

long DYN_CI_SIZ = 0 [static]

long DYN_CI_IND = 0 [static]

long DYN_PL_SIZ = 0 [static]

long DYN_PL_IND = 0 [static]

long DYN_CV_SIZ = 0 [static]

long DYN_CV_IND = 0 [static]

long DYN_SU_SIZ = 0 [static]

long DYN_SU_IND = 0 [static]

long DYN_TX_SIZ = 0 [static]

long DYN_TX_IND = 0 [static]

long DYN_MB_SIZ = 0 [static]

long DYN_MB_IND = 0 [static]

long DB_MNM_IND = 0 [static]

double* vr_tab = NULL [static]

double* vr_dyn = NULL [static]

Point* pt_tab = NULL [static]

Point* pt_dyn = NULL [static]

Vector* vc_tab = NULL [static]

Vector* vc_dyn = NULL [static]

Line* ln_tab = NULL [static]

Line* ln_dyn = NULL [static]

Circ* ci_tab = NULL [static]

Circ* ci_dyn = NULL [static]

Plane* pln_tab = NULL [static]

Plane* pln_dyn = NULL [static]

ModelRef* mdr_tab = NULL [static]

ModelBas* mdb_dyn = NULL [static]

char* mdb_nam = NULL [static]

Activity* ac_tab = NULL [static]

BTool* tl_tab = NULL

ObjGX* tra_tab = NULL [static]

ObjGX* cv_tab = NULL [static]

ObjGX* cv_dyn = NULL [static]

ObjGX* su_tab = NULL [static]

ObjGX* su_dyn = NULL [static]

ObjGX* so_tab = NULL [static]

ObjGX* tx_tab = NULL [static]

ObjGX* tx_dyn = NULL [static]

Memspc DB_CSEG [static]

char* DB_CDAT = NULL [static]

ModelNode* mNod = NULL [static]

int MNOD_SIZ = 0 [static]

int MNOD_IND = 0 [static]

double DB_sel_tol = 2.5

double DB_sel_tol_fakt = 2.5


Generated on Sat May 30 09:31:54 2009 for gCAD3D by  doxygen 1.5.6