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

ellipse.h

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