libDXF 0.0.1
A library with DXF related functions written in C.
|
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 */