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