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

attrib.h

Go to the documentation of this file.
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 */