libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00042 #include "global.h" 00043 #include "point.h" 00044 #include "binary_graphics_data.h" 00045 00046 00047 #ifndef LIBDXF_SRC_ATTRIB_H 00048 #define LIBDXF_SRC_ATTRIB_H 00049 00050 00051 #ifdef __cplusplus 00052 extern "C" { 00053 #endif 00054 00055 00059 typedef struct 00060 dxf_attrib_struct 00061 { 00062 /* Members common for all DXF drawable entities. */ 00063 int id_code; 00068 char *linetype; 00072 char *layer; 00076 double elevation; 00082 double thickness; 00086 double linetype_scale; 00089 int16_t visibility; 00097 int color; 00104 int paperspace; 00110 int graphics_data_size; 00119 int16_t shadow_mode; 00129 DxfBinaryGraphicsData *binary_graphics_data; 00135 char *dictionary_owner_soft; 00139 char *material; 00144 char *dictionary_owner_hard; 00148 int16_t lineweight; 00153 char *plot_style_name; 00157 long color_value; 00169 char *color_name; 00177 long transparency; 00185 /* Specific members for a DXF attrib. */ 00186 char *default_value; 00189 char *tag_value; 00192 char *text_style; 00195 DxfPoint *p0; 00198 DxfPoint *p1; 00203 double height; 00206 double rel_x_scale; 00212 double rot_angle; 00215 double obl_angle; 00218 int attr_flags; 00231 int text_flags; 00241 int hor_align; 00255 int field_length; 00259 int vert_align; 00272 double extr_x0; 00276 double extr_y0; 00280 double extr_z0; 00284 struct DxfAttrib *next; 00287 } DxfAttrib; 00288 00289 00290 DxfAttrib *dxf_attrib_new (); 00291 DxfAttrib *dxf_attrib_init (DxfAttrib *attrib); 00292 DxfAttrib *dxf_attrib_read (DxfFile *fp, DxfAttrib *attrib); 00293 int dxf_attrib_write (DxfFile *fp, DxfAttrib *attrib); 00294 int dxf_attrib_free (DxfAttrib *attrib); 00295 void dxf_attrib_free_chain (DxfAttrib *attribs); 00296 int dxf_attrib_get_id_code (DxfAttrib *attrib); 00297 DxfAttrib *dxf_attrib_set_id_code (DxfAttrib *attrib, int id_code); 00298 char *dxf_attrib_get_linetype (DxfAttrib *attrib); 00299 DxfAttrib *dxf_attrib_set_linetype (DxfAttrib *attrib, char *linetype); 00300 char *dxf_attrib_get_layer (DxfAttrib *attrib); 00301 DxfAttrib *dxf_attrib_set_layer (DxfAttrib *attrib, char *layer); 00302 double dxf_attrib_get_elevation (DxfAttrib *attrib); 00303 DxfAttrib *dxf_attrib_set_elevation (DxfAttrib *attrib, double elevation); 00304 double dxf_attrib_get_thickness (DxfAttrib *attrib); 00305 DxfAttrib *dxf_attrib_set_thickness (DxfAttrib *attrib, double thickness); 00306 double dxf_attrib_get_linetype_scale (DxfAttrib *attrib); 00307 DxfAttrib *dxf_attrib_set_linetype_scale (DxfAttrib *attrib, double linetype_scale); 00308 int16_t dxf_attrib_get_visibility (DxfAttrib *attrib); 00309 DxfAttrib *dxf_attrib_set_visibility (DxfAttrib *attrib, int16_t visibility); 00310 int dxf_attrib_get_color (DxfAttrib *attrib); 00311 DxfAttrib *dxf_attrib_set_color (DxfAttrib *attrib, int color); 00312 int dxf_attrib_get_paperspace (DxfAttrib *attrib); 00313 DxfAttrib *dxf_attrib_set_paperspace (DxfAttrib *attrib, int paperspace); 00314 int dxf_attrib_get_graphics_data_size (DxfAttrib *attrib); 00315 DxfAttrib *dxf_attrib_set_graphics_data_size (DxfAttrib *attrib, int graphics_data_size); 00316 int16_t dxf_attrib_get_shadow_mode (DxfAttrib *attrib); 00317 DxfAttrib *dxf_attrib_set_shadow_mode (DxfAttrib *attrib, int16_t shadow_mode); 00318 DxfBinaryGraphicsData *dxf_attrib_get_binary_graphics_data (DxfAttrib *attrib); 00319 DxfAttrib *dxf_attrib_set_binary_graphics_data (DxfAttrib *attrib, DxfBinaryGraphicsData *data); 00320 char *dxf_attrib_get_dictionary_owner_soft (DxfAttrib *attrib); 00321 DxfAttrib *dxf_attrib_set_dictionary_owner_soft (DxfAttrib *attrib, char *dictionary_owner_soft); 00322 char *dxf_attrib_get_material (DxfAttrib *attrib); 00323 DxfAttrib *dxf_attrib_set_material (DxfAttrib *attrib, char *material); 00324 char *dxf_attrib_get_dictionary_owner_hard (DxfAttrib *attrib); 00325 DxfAttrib *dxf_attrib_set_dictionary_owner_hard (DxfAttrib *attrib, char *dictionary_owner_hard); 00326 int16_t dxf_attrib_get_lineweight (DxfAttrib *attrib); 00327 DxfAttrib *dxf_attrib_set_lineweight (DxfAttrib *attrib, int16_t lineweight); 00328 char *dxf_attrib_get_plot_style_name (DxfAttrib *attrib); 00329 DxfAttrib *dxf_attrib_set_plot_style_name (DxfAttrib *attrib, char *plot_style_name); 00330 long dxf_attrib_get_color_value (DxfAttrib *attrib); 00331 DxfAttrib *dxf_attrib_set_color_value (DxfAttrib *attrib, long color_value); 00332 char *dxf_attrib_get_color_name (DxfAttrib *attrib); 00333 DxfAttrib *dxf_attrib_set_color_name (DxfAttrib *attrib, char *color_name); 00334 long dxf_attrib_get_transparency (DxfAttrib *attrib); 00335 DxfAttrib *dxf_attrib_set_transparency (DxfAttrib *attrib, long transparency); 00336 char *dxf_attrib_get_default_value (DxfAttrib *attrib); 00337 DxfAttrib *dxf_attrib_set_default_value (DxfAttrib *attrib, char *default_value); 00338 char *dxf_attrib_get_tag_value (DxfAttrib *attrib); 00339 DxfAttrib *dxf_attrib_set_tag_value (DxfAttrib *attrib, char *tag_value); 00340 char *dxf_attrib_get_text_style (DxfAttrib *attrib); 00341 DxfAttrib *dxf_attrib_set_text_style (DxfAttrib *attrib, char *text_style); 00342 DxfPoint *dxf_attrib_get_p0 (DxfAttrib *attrib); 00343 DxfAttrib *dxf_attrib_set_p0 (DxfAttrib *attrib, DxfPoint *p0); 00344 double dxf_attrib_get_x0 (DxfAttrib *attrib); 00345 DxfAttrib *dxf_attrib_set_x0 (DxfAttrib *attrib, double x0); 00346 double dxf_attrib_get_y0 (DxfAttrib *attrib); 00347 DxfAttrib *dxf_attrib_set_y0 (DxfAttrib *attrib, double y0); 00348 double dxf_attrib_get_z0 (DxfAttrib *attrib); 00349 DxfAttrib *dxf_attrib_set_z0 (DxfAttrib *attrib, double z0); 00350 DxfPoint *dxf_attrib_get_p1 (DxfAttrib *attrib); 00351 DxfAttrib *dxf_attrib_set_p1 (DxfAttrib *attrib, DxfPoint *p1); 00352 double dxf_attrib_get_x1 (DxfAttrib *attrib); 00353 DxfAttrib *dxf_attrib_set_x1 (DxfAttrib *attrib, double x1); 00354 double dxf_attrib_get_y1 (DxfAttrib *attrib); 00355 DxfAttrib *dxf_attrib_set_y1 (DxfAttrib *attrib, double y1); 00356 double dxf_attrib_get_z1 (DxfAttrib *attrib); 00357 DxfAttrib *dxf_attrib_set_z1 (DxfAttrib *attrib, double z1); 00358 double dxf_attrib_get_height (DxfAttrib *attrib); 00359 DxfAttrib *dxf_attrib_set_height (DxfAttrib *attrib, double height); 00360 double dxf_attrib_get_rel_x_scale (DxfAttrib *attrib); 00361 DxfAttrib *dxf_attrib_set_rel_x_scale (DxfAttrib *attrib, double rel_x_scale); 00362 double dxf_attrib_get_rot_angle (DxfAttrib *attrib); 00363 DxfAttrib *dxf_attrib_set_rot_angle (DxfAttrib *attrib, double rot_angle); 00364 double dxf_attrib_get_obl_angle (DxfAttrib *attrib); 00365 DxfAttrib *dxf_attrib_set_obl_angle (DxfAttrib *attrib, double obl_angle); 00366 int dxf_attrib_get_attr_flags (DxfAttrib *attrib); 00367 DxfAttrib *dxf_attrib_set_attr_flags (DxfAttrib *attrib, int attr_flags); 00368 int dxf_attrib_is_invisible (DxfAttrib *attrib); 00369 int dxf_attrib_is_constant (DxfAttrib *attrib); 00370 int dxf_attrib_is_verification_required (DxfAttrib *attrib); 00371 int dxf_attrib_is_preset (DxfAttrib *attrib); 00372 int dxf_attrib_get_text_flags (DxfAttrib *attrib); 00373 DxfAttrib *dxf_attrib_set_text_flags (DxfAttrib *attrib, int text_flags); 00374 int dxf_attrib_get_hor_align (DxfAttrib *attrib); 00375 DxfAttrib *dxf_attrib_set_hor_align (DxfAttrib *attrib, int hor_align); 00376 int dxf_attrib_get_field_length (DxfAttrib *attrib); 00377 DxfAttrib *dxf_attrib_set_field_length (DxfAttrib *attrib, int field_length); 00378 int dxf_attrib_get_vert_align (DxfAttrib *attrib); 00379 DxfAttrib *dxf_attrib_set_vert_align (DxfAttrib *attrib, int vert_align); 00380 double dxf_attrib_get_extr_x0 (DxfAttrib *attrib); 00381 DxfAttrib *dxf_attrib_set_extr_x0 (DxfAttrib *attrib, double extr_x0); 00382 double dxf_attrib_get_extr_y0 (DxfAttrib *attrib); 00383 DxfAttrib *dxf_attrib_set_extr_y0 (DxfAttrib *attrib, double extr_y0); 00384 double dxf_attrib_get_extr_z0 (DxfAttrib *attrib); 00385 DxfAttrib *dxf_attrib_set_extr_z0 (DxfAttrib *attrib, double extr_z0); 00386 DxfPoint *dxf_attrib_get_extrusion_vector_as_point (DxfAttrib *attrib); 00387 DxfAttrib *dxf_attrib_set_extrusion_vector_from_point (DxfAttrib *attrib, DxfPoint *point); 00388 DxfAttrib *dxf_attrib_set_extrusion_vector (DxfAttrib *attrib, double extr_x0, double extr_y0, double extr_z0); 00389 DxfAttrib *dxf_attrib_get_next (DxfAttrib *attrib); 00390 DxfAttrib *dxf_attrib_set_next (DxfAttrib *attrib, DxfAttrib *next); 00391 DxfAttrib *dxf_attrib_get_last (DxfAttrib *attrib); 00392 00393 00394 #ifdef __cplusplus 00395 } 00396 #endif 00397 00398 00399 #endif /* LIBDXF_SRC_ATTRIB_H */ 00400 00401 00402 /* EOF */