libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00042 #ifndef LIBDXF_SRC_ELLIPSE_H 00043 #define LIBDXF_SRC_ELLIPSE_H 00044 00045 00046 #include "global.h" 00047 #include "point.h" 00048 #include "binary_graphics_data.h" 00049 00050 00051 #ifdef __cplusplus 00052 extern "C" { 00053 #endif 00054 00055 00061 typedef struct 00062 dxf_ellipse_struct 00063 { 00064 /* Members common for all DXF drawable entities. */ 00065 int id_code; 00070 char *linetype; 00074 char *layer; 00078 double elevation; 00084 double thickness; 00088 double linetype_scale; 00092 int16_t visibility; 00100 int color; 00107 int paperspace; 00113 int graphics_data_size; 00122 int16_t shadow_mode; 00132 DxfBinaryGraphicsData *binary_graphics_data; 00138 char *dictionary_owner_soft; 00142 char *material; 00147 char *dictionary_owner_hard; 00151 int16_t lineweight; 00156 char *plot_style_name; 00160 long color_value; 00172 char *color_name; 00180 long transparency; 00188 /* Specific members for a DXF ellipse. */ 00189 DxfPoint *p0; 00192 DxfPoint *p1; 00196 double x0; 00199 double y0; 00202 double z0; 00205 double x1; 00209 double y1; 00213 double z1; 00217 double ratio; 00220 double start_angle; 00222 double end_angle; 00224 double extr_x0; 00228 double extr_y0; 00232 double extr_z0; 00236 struct DxfEllipse *next; 00239 } DxfEllipse; 00240 00241 00242 DxfEllipse *dxf_ellipse_new (); 00243 DxfEllipse *dxf_ellipse_init (DxfEllipse *ellipse); 00244 DxfEllipse *dxf_ellipse_read (DxfFile *fp, DxfEllipse *ellipse); 00245 int dxf_ellipse_write (DxfFile *fp, DxfEllipse *ellipse); 00246 int dxf_ellipse_free (DxfEllipse *ellipse); 00247 void dxf_ellipse_free_chain (DxfEllipse *ellipses); 00248 int dxf_ellipse_get_id_code (DxfEllipse *ellipse); 00249 DxfEllipse *dxf_ellipse_set_id_code (DxfEllipse *ellipse, int id_code); 00250 char *dxf_ellipse_get_linetype (DxfEllipse *ellipse); 00251 DxfEllipse *dxf_ellipse_set_linetype (DxfEllipse *ellipse, char *linetype); 00252 char *dxf_ellipse_get_layer (DxfEllipse *ellipse); 00253 DxfEllipse *dxf_ellipse_set_layer (DxfEllipse *ellipse, char *layer); 00254 double dxf_ellipse_get_elevation (DxfEllipse *ellipse); 00255 DxfEllipse *dxf_ellipse_set_elevation (DxfEllipse *ellipse, double elevation); 00256 double dxf_ellipse_get_thickness (DxfEllipse *ellipse); 00257 DxfEllipse *dxf_ellipse_set_thickness (DxfEllipse *ellipse, double thickness); 00258 double dxf_ellipse_get_linetype_scale (DxfEllipse *ellipse); 00259 DxfEllipse *dxf_ellipse_set_linetype_scale (DxfEllipse *ellipse, double linetype_scale); 00260 int16_t dxf_ellipse_get_visibility (DxfEllipse *ellipse); 00261 DxfEllipse *dxf_ellipse_set_visibility (DxfEllipse *ellipse, int16_t visibility); 00262 int dxf_ellipse_get_color (DxfEllipse *ellipse); 00263 DxfEllipse *dxf_ellipse_set_color (DxfEllipse *ellipse, int color); 00264 int dxf_ellipse_get_paperspace (DxfEllipse *ellipse); 00265 DxfEllipse *dxf_ellipse_set_paperspace (DxfEllipse *ellipse, int paperspace); 00266 int dxf_ellipse_get_graphics_data_size (DxfEllipse *ellipse); 00267 DxfEllipse *dxf_ellipse_set_graphics_data_size (DxfEllipse *ellipse, int graphics_data_size); 00268 int16_t dxf_ellipse_get_shadow_mode (DxfEllipse *ellipse); 00269 DxfEllipse *dxf_ellipse_set_shadow_mode (DxfEllipse *ellipse, int16_t shadow_mode); 00270 DxfBinaryGraphicsData *dxf_ellipse_get_binary_graphics_data (DxfEllipse *ellipse); 00271 DxfEllipse *dxf_ellipse_set_binary_graphics_data (DxfEllipse *ellipse, DxfBinaryGraphicsData *data); 00272 char *dxf_ellipse_get_dictionary_owner_soft (DxfEllipse *ellipse); 00273 DxfEllipse *dxf_ellipse_set_dictionary_owner_soft (DxfEllipse *ellipse, char *dictionary_owner_soft); 00274 char *dxf_ellipse_get_material (DxfEllipse *ellipse); 00275 DxfEllipse *dxf_ellipse_set_material (DxfEllipse *ellipse, char *material); 00276 char *dxf_ellipse_get_dictionary_owner_hard (DxfEllipse *ellipse); 00277 DxfEllipse *dxf_ellipse_set_dictionary_owner_hard (DxfEllipse *ellipse, char *dictionary_owner_hard); 00278 int16_t dxf_ellipse_get_lineweight (DxfEllipse *ellipse); 00279 DxfEllipse *dxf_ellipse_set_lineweight (DxfEllipse *ellipse, int16_t lineweight); 00280 char *dxf_ellipse_get_plot_style_name (DxfEllipse *ellipse); 00281 DxfEllipse *dxf_ellipse_set_plot_style_name (DxfEllipse *ellipse, char *plot_style_name); 00282 long dxf_ellipse_get_color_value (DxfEllipse *ellipse); 00283 DxfEllipse *dxf_ellipse_set_color_value (DxfEllipse *ellipse, long color_value); 00284 char *dxf_ellipse_get_color_name (DxfEllipse *ellipse); 00285 DxfEllipse *dxf_ellipse_set_color_name (DxfEllipse *ellipse, char *color_name); 00286 long dxf_ellipse_get_transparency (DxfEllipse *ellipse); 00287 DxfEllipse *dxf_ellipse_set_transparency (DxfEllipse *ellipse, long transparency); 00288 DxfPoint *dxf_ellipse_get_p0 (DxfEllipse *ellipse); 00289 DxfEllipse *dxf_ellipse_set_p0 (DxfEllipse *ellipse, DxfPoint *p0); 00290 double dxf_ellipse_get_x0 (DxfEllipse *ellipse); 00291 DxfEllipse *dxf_ellipse_set_x0 (DxfEllipse *ellipse, double x0); 00292 double dxf_ellipse_get_y0 (DxfEllipse *ellipse); 00293 DxfEllipse *dxf_ellipse_set_y0 (DxfEllipse *ellipse, double y0); 00294 double dxf_ellipse_get_z0 (DxfEllipse *ellipse); 00295 DxfEllipse *dxf_ellipse_set_z0 (DxfEllipse *ellipse, double z0); 00296 DxfPoint *dxf_ellipse_get_p1 (DxfEllipse *ellipse); 00297 DxfEllipse *dxf_ellipse_set_p1 (DxfEllipse *ellipse, DxfPoint *p1); 00298 double dxf_ellipse_get_x1 (DxfEllipse *ellipse); 00299 DxfEllipse *dxf_ellipse_set_x1 (DxfEllipse *ellipse, double x1); 00300 double dxf_ellipse_get_y1 (DxfEllipse *ellipse); 00301 DxfEllipse *dxf_ellipse_set_y1 (DxfEllipse *ellipse, double y1); 00302 double dxf_ellipse_get_z1 (DxfEllipse *ellipse); 00303 DxfEllipse *dxf_ellipse_set_z1 (DxfEllipse *ellipse, double z1); 00304 double dxf_ellipse_get_ratio (DxfEllipse *ellipse); 00305 DxfEllipse *dxf_ellipse_set_ratio (DxfEllipse *ellipse, double ratio); 00306 double dxf_ellipse_get_start_angle (DxfEllipse *ellipse); 00307 DxfEllipse *dxf_ellipse_set_start_angle (DxfEllipse *ellipse, double start_angle); 00308 double dxf_ellipse_get_end_angle (DxfEllipse *ellipse); 00309 DxfEllipse *dxf_ellipse_set_end_angle (DxfEllipse *ellipse, double end_angle); 00310 double dxf_ellipse_get_extr_x0 (DxfEllipse *ellipse); 00311 DxfEllipse *dxf_ellipse_set_extr_x0 (DxfEllipse *ellipse, double extr_x0); 00312 double dxf_ellipse_get_extr_y0 (DxfEllipse *ellipse); 00313 DxfEllipse *dxf_ellipse_set_extr_y0 (DxfEllipse *ellipse, double extr_y0); 00314 double dxf_ellipse_get_extr_z0 (DxfEllipse *ellipse); 00315 DxfEllipse *dxf_ellipse_set_extr_z0 (DxfEllipse *ellipse, double extr_z0); 00316 DxfPoint *dxf_ellipse_get_extrusion_vector_as_point (DxfEllipse *ellipse); 00317 DxfEllipse *dxf_ellipse_set_extrusion_vector_from_point (DxfEllipse *ellipse, DxfPoint *point); 00318 DxfEllipse *dxf_ellipse_set_extrusion_vector (DxfEllipse *ellipse, double extr_x0, double extr_y0, double extr_z0); 00319 DxfEllipse *dxf_ellipse_get_next (DxfEllipse *ellipse); 00320 DxfEllipse *dxf_ellipse_set_next (DxfEllipse *ellipse, DxfEllipse *next); 00321 DxfEllipse *dxf_ellipse_get_last (DxfEllipse *ellipse); 00322 00323 00324 #ifdef __cplusplus 00325 } 00326 #endif 00327 00328 00329 #endif /* LIBDXF_SRC_ELLIPSE_H */ 00330 00331 00332 /* EOF */