libDXF 0.0.1
A library with DXF related functions written in C.

header.h

Go to the documentation of this file.
00001 
00038 #ifndef LIBDXF_SRC_HEADER_H
00039 #define LIBDXF_SRC_HEADER_H
00040 
00041 
00042 #include "global.h"
00043 #include "point.h"
00044 #include "endsec.h"
00045 
00046 
00047 #ifdef __cplusplus
00048 extern "C" {
00049 #endif
00050 
00051 
00052 typedef struct
00053 dxf_header
00054 {
00055         int id_code;
00057         char *AcadVer;
00059         int _AcadVer;
00061         int AcadMaintVer;
00063         char *DWGCodePage;
00067         DxfPoint InsBase;
00069         DxfPoint ExtMin;
00071         DxfPoint ExtMax;
00073         DxfPoint LimMin;
00075         DxfPoint LimMax;
00077         int OrthoMode;
00079         int RegenMode;
00081         int FillMode;
00083         int QTextMode;
00085         int MirrText;
00087         int DragMode;
00089         double LTScale;
00091         int OSMode;
00093         int AttMode;
00095         double TextSize;
00097         double TraceWid;
00099         char *TextStyle;
00101         char *CLayer;
00103         char *CELType;
00105         int CEColor;
00107         double CELTScale;
00109         int DelObj;
00111         int DispSilH;
00113         double DimSCALE; 
00114         double DimASZ; 
00115         double DimEXO; 
00116         double DimDLI; 
00117         double DimRND; 
00118         double DimDLE; 
00119         double DimEXE; 
00120         double DimTP; 
00121         double DimTM; 
00122         double DimTXT; 
00123         double DimCEN; 
00124         double DimTSZ; 
00125         int DimTOL; 
00126         int DimLIM; 
00127         int DimTIH; 
00128         int DimTOH; 
00129         int DimSE1; 
00130         int DimSE2; 
00131         int DimTAD; 
00132         int DimZIN; 
00133         char *DimBLK; 
00134         int DimASO;
00138         int DimSHO;
00142         char *DimPOST; 
00143         char *DimAPOST; 
00144         int DimALT; 
00145         int DimALTD; 
00146         double DimALTF; 
00147         double DimLFAC; 
00148         int DimTOFL; 
00149         double DimTVP; 
00150         int DimTIX; 
00151         int DimSOXD; 
00152         int DimSAH; 
00153         char *DimBLK1; 
00154         char *DimBLK2; 
00155         char *DimSTYLE; 
00156         int DimCLRD; 
00157         int DimCLRE; 
00158         int DimCLRT; 
00159         double DimTFAC; 
00160         double DimGAP; 
00161         int DimJUST; 
00162         int DimSD1; 
00163         int DimSD2; 
00164         int DimTOLJ; 
00165         int DimTZIN; 
00166         int DimALTZ; 
00167         int DimALTTZ; 
00168         int DimFIT; 
00169         int DimUPT; 
00170         int DimUNIT; 
00171         int DimDEC; 
00172         int DimTDEC; 
00173         int DimALTU; 
00174         int DimALTTD; 
00175         char *DimTXSTY; 
00176         int DimAUNIT; 
00177         int DimADEC; 
00178         double DimALTRND; 
00179         int DimAZIN; 
00180         int DimDSEP; 
00181         int DimATFIT; 
00182         int DimFRAC; 
00183         char *DimLDRBLK; 
00184         int DimLUNIT; 
00185         int DimLWD; 
00186         int DimLWE; 
00187         int DimTMOVE; 
00188         int LUnits; 
00189         int LUPrec; 
00190         double Sketchinc; 
00191         double FilletRad; 
00192         int AUnits; 
00193         int AUPrec; 
00194         char *Menu; 
00195         double Elevation; 
00196         double PElevation; 
00197         double Thickness; 
00198         int LimCheck; 
00199         int BlipMode; 
00200         double ChamferA; 
00201         double ChamferB; 
00202         double ChamferC; 
00203         double ChamferD; 
00204         int SKPoly; 
00205         double TDCreate; 
00206         double TDUCreate; 
00207         double TDUpdate; 
00208         double TDUUpdate; 
00209         double TDInDWG; 
00210         double TDUSRTimer; 
00211         int USRTimer; 
00212         double AngBase; 
00213         int AngDir; 
00214         int PDMode; 
00215         double PDSize; 
00216         double PLineWid; 
00217         int Coords; 
00218         int SPLFrame; 
00219         int SPLineType; 
00220         int SPLineSegs; 
00221         int AttDia; 
00222         int AttReq; 
00223         int Handling; 
00224         char *HandSeed; 
00225         int SurfTab1; 
00226         int SurfTab2; 
00227         int SurfType; 
00228         int SurfU; 
00229         int SurfV; 
00230         char *UCSBase; 
00231         char *UCSName; 
00232         DxfPoint UCSOrg; 
00233         DxfPoint UCSXDir; 
00234         DxfPoint UCSYDir; 
00235         char *UCSOrthoRef; 
00236         int UCSOrthoView; 
00237         DxfPoint UCSOrgTop; 
00238         DxfPoint UCSOrgBottom; 
00239         DxfPoint UCSOrgLeft; 
00240         DxfPoint UCSOrgRight; 
00241         DxfPoint UCSOrgFront; 
00242         DxfPoint UCSOrgBack; 
00243         char *PUCSBase; 
00244         char *PUCSName; 
00245         DxfPoint PUCSOrg; 
00246         DxfPoint PUCSXDir; 
00247         DxfPoint PUCSYDir; 
00248         char *PUCSOrthoRef; 
00249         int PUCSOrthoView; 
00250         DxfPoint PUCSOrgTop; 
00251         DxfPoint PUCSOrgBottom; 
00252         DxfPoint PUCSOrgLeft; 
00253         DxfPoint PUCSOrgRight; 
00254         DxfPoint PUCSOrgFront; 
00255         DxfPoint PUCSOrgBack; 
00256         int UserI1; 
00257         int UserI2; 
00258         int UserI3; 
00259         int UserI4; 
00260         int UserI5; 
00261         double UserR1; 
00262         double UserR2; 
00263         double UserR3; 
00264         double UserR4; 
00265         double UserR5; 
00266         int WorldView; 
00267         int ShadEdge; 
00268         int ShadeDif; 
00269         int TileMode; 
00270         int MaxActVP; 
00271         DxfPoint PInsBase; 
00272         int PLimCheck; 
00273         DxfPoint PExtMin; 
00274         DxfPoint PExtMax; 
00275         DxfPoint PLimMin; 
00276         DxfPoint PLimMax; 
00277         int UnitMode; 
00278         int VisRetain; 
00279         int PLineGen; 
00280         int PSLTScale; 
00281         int TreeDepth; 
00282         int PickStyle; 
00283         char *CMLStyle; 
00284         int CMLJust; 
00285         double CMLScale; 
00286         int ProxyGraphics; 
00287         int Measurement; 
00288         int SaveImages; 
00289         int CELWeight; 
00290         int EndCaps; 
00291         int JoinStyle; 
00292         int LWDisplay; 
00293         int InsUnits; 
00294         char *HyperLinkBase; 
00295         char *StyleSheet; 
00296         int XEdit; 
00297         int CEPSNType; 
00298         int PStyleMode; 
00299         char *FingerPrintGUID; 
00300         char *VersionGUID; 
00301         int ExtNames; 
00302         double PSVPScale; 
00303         int OLEStartUp; 
00304         int SortEnts; 
00305         int IndexCtl; 
00306         int HideText; 
00307         int XClipFrame; 
00308         int HaloGap; 
00309         int ObsColor; 
00310         int ObsLType; 
00311         int InterSectionDisplay; 
00312         int InterSectionColor; 
00313         int DimASSOC; 
00314         char *ProjectName; 
00316         DxfPoint GridUnit; 
00317         int GridMode; 
00318 } DxfHeader;
00319 
00320 
00321 int
00322 dxf_header_acad_version_from_string
00323 (
00324         const char * version_string
00325 );
00326 char *
00327 dxf_header_acad_version_to_string
00328 (
00329         int version_number
00330 );
00331 DxfHeader *
00332 dxf_header_new ();
00333 DxfHeader *
00334 dxf_header_init
00335 (
00336         DxfHeader *header,
00337         int acad_version_number
00338 );
00339 DxfHeader *
00340 dxf_header_read
00341 (
00342         DxfFile *fp,
00343         DxfHeader *header
00344 );
00345 int
00346 dxf_header_read_parse_int
00347 (
00348         DxfFile *fp,
00349         const char *temp_string,
00350         const char *header_var,
00351         int *value,
00352         int version_expression
00353 );
00354 int
00355 dxf_header_read_parse_n_double
00356 (
00357         DxfFile *fp,
00358         const char *temp_string,
00359         const char *header_var,
00360         int version_expression,
00361         int quant,
00362         ...
00363 );
00364 int
00365 dxf_header_read_parse_string
00366 (
00367         DxfFile *fp,
00368         const char *temp_string,
00369         const char *header_var,
00370         char **value_string,
00371         int version_expression
00372 );
00373 int
00374 dxf_header_read_parser
00375 (
00376         DxfFile *fp,
00377         DxfHeader *header,
00378         char * temp_string,
00379         int acad_version_number
00380 );
00381 int
00382 dxf_header_write
00383 (
00384         DxfFile *fp,
00385         DxfHeader *header
00386 );
00387 int
00388 dxf_header_write_metric_new
00389 (
00390         DxfFile *fp
00391 );
00392 DxfHeader *
00393 dxf_header_free
00394 (
00395         DxfHeader *header
00396 );
00397 
00398 
00399 #ifdef __cplusplus
00400 }
00401 #endif
00402 
00403 
00404 #endif /* LIBDXF_SRC_HEADER_H */
00405 
00406 
00407 /* EOF */