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

leader.h

Go to the documentation of this file.
00001 
00043 #ifndef LIBDXF_SRC_LEADER_H
00044 #define LIBDXF_SRC_LEADER_H
00045 
00046 
00047 #include "global.h"
00048 #include "point.h"
00049 
00050 
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054 
00055 
00059 typedef struct
00060 dxf_leader_struct
00061 {
00062         /* Members common for all DXF drawable entities. */
00063         int id_code;
00068         char *linetype;
00072         char *layer;
00076         double elevation;
00081         double thickness;
00085         double linetype_scale;
00088         int16_t visibility;
00095         int color;
00102         int paperspace;
00107         char *dictionary_owner_soft;
00110         char *dictionary_owner_hard;
00113         /* Specific members for a DXF 3D face. */
00114         char *dimension_style_name;
00117         DxfPoint *p0;
00121         double text_annotation_height;
00124         double text_annotation_width;
00127         int arrow_head_flag;
00135         int path_type;
00143         int creation_flag;
00153         int hookline_direction_flag;
00165         int hookline_flag;
00173         int number_vertices;
00176         int leader_color;
00179         double extr_x0;
00183         double extr_y0;
00187         double extr_z0;
00191         DxfPoint *p1;
00194         DxfPoint *p2;
00198         DxfPoint *p3;
00202         char *annotation_reference_hard;
00206         struct DxfLeader *next;
00209 } DxfLeader;
00210 
00211 
00212 DxfLeader *dxf_leader_new ();
00213 DxfLeader *dxf_leader_init (DxfLeader *leader);
00214 DxfLeader *dxf_leader_read (DxfFile *fp, DxfLeader *leader);
00215 int dxf_leader_write (DxfFile *fp, DxfLeader *leader);
00216 int dxf_leader_free (DxfLeader *leader);
00217 void dxf_leader_free_chain (DxfLeader *leaders);
00218 int dxf_leader_get_id_code (DxfLeader *leader);
00219 DxfLeader *dxf_leader_set_id_code (DxfLeader *leader, int id_code);
00220 char *dxf_leader_get_linetype (DxfLeader *leader);
00221 DxfLeader *dxf_leader_set_linetype (DxfLeader *leader, char *linetype);
00222 char *dxf_leader_get_layer (DxfLeader *leader);
00223 DxfLeader *dxf_leader_set_layer (DxfLeader *leader, char *layer);
00224 double dxf_leader_get_elevation (DxfLeader *leader);
00225 DxfLeader *dxf_leader_set_elevation (DxfLeader *leader, double elevation);
00226 double dxf_leader_get_thickness (DxfLeader *leader);
00227 DxfLeader *dxf_leader_set_thickness (DxfLeader *leader, double thickness);
00228 double dxf_leader_get_linetype_scale (DxfLeader *leader);
00229 DxfLeader *dxf_leader_set_linetype_scale (DxfLeader *leader, double linetype_scale);
00230 int16_t dxf_leader_get_visibility (DxfLeader *leader);
00231 DxfLeader *dxf_leader_set_visibility (DxfLeader *leader, int16_t visibility);
00232 int dxf_leader_get_color (DxfLeader *leader);
00233 DxfLeader *dxf_leader_set_color (DxfLeader *leader, int color);
00234 int dxf_leader_get_paperspace (DxfLeader *leader);
00235 DxfLeader *dxf_leader_set_paperspace (DxfLeader *leader, int paperspace);
00236 char *dxf_leader_get_dictionary_owner_soft (DxfLeader *leader);
00237 DxfLeader *dxf_leader_set_dictionary_owner_soft (DxfLeader *leader, char *dictionary_owner_soft);
00238 char *dxf_leader_get_dictionary_owner_hard (DxfLeader *leader);
00239 DxfLeader *dxf_leader_set_dictionary_owner_hard (DxfLeader *leader, char *dictionary_owner_hard);
00240 char *dxf_leader_get_dimension_style_name (DxfLeader *leader);
00241 DxfLeader *dxf_leader_set_dimension_style_name (DxfLeader *leader, char *dimension_style_name);
00242 DxfPoint *dxf_leader_get_p0 (DxfLeader *leader);
00243 DxfLeader *dxf_leader_set_p0 (DxfLeader *leader, DxfPoint *p0);
00244 double dxf_leader_get_x0 (DxfLeader *leader);
00245 DxfLeader *dxf_leader_set_x0 (DxfLeader *leader, double x0);
00246 double dxf_leader_get_y0 (DxfLeader *leader);
00247 DxfLeader *dxf_leader_set_y0 (DxfLeader *leader, double y0);
00248 double dxf_leader_get_z0 (DxfLeader *leader);
00249 DxfLeader *dxf_leader_set_z0 (DxfLeader *leader, double z0);
00250 double dxf_leader_get_text_annotation_height (DxfLeader *leader);
00251 DxfLeader *dxf_leader_set_text_annotation_height (DxfLeader *leader, double text_annotation_height);
00252 double dxf_leader_get_text_annotation_width (DxfLeader *leader);
00253 DxfLeader *dxf_leader_set_text_annotation_width (DxfLeader *leader, double text_annotation_width);
00254 int dxf_leader_get_arrow_head_flag (DxfLeader *leader);
00255 DxfLeader *dxf_leader_set_arrow_head_flag (DxfLeader *leader, int arrow_head_flag);
00256 int dxf_leader_get_path_type (DxfLeader *leader);
00257 DxfLeader *dxf_leader_set_path_type (DxfLeader *leader, int path_type);
00258 int dxf_leader_get_creation_flag (DxfLeader *leader);
00259 DxfLeader *dxf_leader_set_creation_flag (DxfLeader *leader, int creation_flag);
00260 int dxf_leader_get_hookline_direction_flag (DxfLeader *leader);
00261 DxfLeader *dxf_leader_set_hookline_direction_flag (DxfLeader *leader, int hookline_direction_flag);
00262 int dxf_leader_get_hookline_flag (DxfLeader *leader);
00263 DxfLeader *dxf_leader_set_hookline_flag (DxfLeader *leader, int hookline_flag);
00264 int dxf_leader_get_number_vertices (DxfLeader *leader);
00265 DxfLeader *dxf_leader_set_number_vertices (DxfLeader *leader, int number_vertices);
00266 int dxf_leader_get_leader_color (DxfLeader *leader);
00267 DxfLeader *dxf_leader_set_leader_color (DxfLeader *leader, int leader_color);
00268 double dxf_leader_get_extr_x0 (DxfLeader *leader);
00269 DxfLeader *dxf_leader_set_extr_x0 (DxfLeader *leader, double extr_x0);
00270 double dxf_leader_get_extr_y0 (DxfLeader *leader);
00271 DxfLeader *dxf_leader_set_extr_y0 (DxfLeader *leader, double extr_y0);
00272 double dxf_leader_get_extr_z0 (DxfLeader *leader);
00273 DxfLeader *dxf_leader_set_extr_z0 (DxfLeader *leader, double extr_z0);
00274 DxfPoint *dxf_leader_get_p1 (DxfLeader *leader);
00275 DxfLeader *dxf_leader_set_p1 (DxfLeader *leader, DxfPoint *p1);
00276 double dxf_leader_get_x1 (DxfLeader *leader);
00277 DxfLeader *dxf_leader_set_x1 (DxfLeader *leader, double x1);
00278 double dxf_leader_get_y1 (DxfLeader *leader);
00279 DxfLeader *dxf_leader_set_y1 (DxfLeader *leader, double y1);
00280 double dxf_leader_get_z1 (DxfLeader *leader);
00281 DxfLeader *dxf_leader_set_z1 (DxfLeader *leader, double z1);
00282 DxfPoint *dxf_leader_get_p2 (DxfLeader *leader);
00283 DxfLeader *dxf_leader_set_p2 (DxfLeader *leader, DxfPoint *p2);
00284 double dxf_leader_get_x2 (DxfLeader *leader);
00285 DxfLeader *dxf_leader_set_x2 (DxfLeader *leader, double x2);
00286 double dxf_leader_get_y2 (DxfLeader *leader);
00287 DxfLeader *dxf_leader_set_y2 (DxfLeader *leader, double y2);
00288 double dxf_leader_get_z2 (DxfLeader *leader);
00289 DxfLeader *dxf_leader_set_z2 (DxfLeader *leader, double z2);
00290 DxfPoint *dxf_leader_get_p3 (DxfLeader *leader);
00291 DxfLeader *dxf_leader_set_p3 (DxfLeader *leader, DxfPoint *p3);
00292 double dxf_leader_get_x3 (DxfLeader *leader);
00293 DxfLeader *dxf_leader_set_x3 (DxfLeader *leader, double x3);
00294 double dxf_leader_get_y3 (DxfLeader *leader);
00295 DxfLeader *dxf_leader_set_y3 (DxfLeader *leader, double y3);
00296 double dxf_leader_get_z3 (DxfLeader *leader);
00297 DxfLeader *dxf_leader_set_z3 (DxfLeader *leader, double z3);
00298 char *dxf_leader_get_annotation_reference_hard (DxfLeader *leader);
00299 DxfLeader *dxf_leader_set_annotation_reference_hard (DxfLeader *leader, char *annotation_reference_hard);
00300 DxfLeader *dxf_leader_get_next (DxfLeader *leader);
00301 DxfLeader *dxf_leader_set_next (DxfLeader *leader, DxfLeader *next);
00302 DxfLeader *dxf_leader_get_last (DxfLeader *leader);
00303 
00304 
00305 #ifdef __cplusplus
00306 }
00307 #endif
00308 
00309 
00310 #endif /* LIBDXF_SRC_LEADER_H */
00311 
00312 
00313 /* EOF */