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

donut.h

Go to the documentation of this file.
00001 
00038 #ifndef LIBDXF_SRC_DONUT_H
00039 #define LIBDXF_SRC_DONUT_H
00040 
00041 
00042 #include "global.h"
00043 #include "point.h"
00044 #include "binary_graphics_data.h"
00045 #include "polyline.h"
00046 #include "vertex.h"
00047 #include "seqend.h"
00048 
00049 
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053 
00054 
00062 typedef struct
00063 dxf_donut_struct
00064 {
00065         /* Members common for all DXF drawable entities. */
00066         int id_code;
00071         char *linetype;
00075         char *layer;
00079         double elevation;
00085         double thickness;
00089         double linetype_scale;
00093         int16_t visibility;
00101         int color;
00108         int paperspace;
00114         int graphics_data_size;
00123         int16_t shadow_mode;
00133         DxfBinaryGraphicsData *binary_graphics_data;
00139         char *dictionary_owner_soft;
00143         char *material;
00148         char *dictionary_owner_hard;
00152         int16_t lineweight;
00157         char *plot_style_name;
00161         long color_value;
00173         char *color_name;
00181         long transparency;
00189         /* Specific members for a libDXF donut. */
00190         DxfPoint *p0;
00193         double outside_diameter;
00195         double inside_diameter;
00197         struct DxfDonut *next;
00200 } DxfDonut;
00201 
00202 
00203 DxfDonut *dxf_donut_new ();
00204 DxfDonut *dxf_donut_init (DxfDonut *donut);
00205 int dxf_donut_write (DxfFile *fp, DxfDonut *donut);
00206 int dxf_donut_free (DxfDonut *donut);
00207 void dxf_donut_free_chain (DxfDonut *donuts);
00208 int dxf_donut_get_id_code (DxfDonut *donut);
00209 DxfDonut *dxf_donut_set_id_code (DxfDonut *donut, int id_code);
00210 char *dxf_donut_get_linetype (DxfDonut *donut);
00211 DxfDonut *dxf_donut_set_linetype (DxfDonut *donut, char *linetype);
00212 char *dxf_donut_get_layer (DxfDonut *donut);
00213 DxfDonut *dxf_donut_set_layer (DxfDonut *donut, char *layer);
00214 double dxf_donut_get_elevation (DxfDonut *donut);
00215 DxfDonut *dxf_donut_set_elevation (DxfDonut *donut, double elevation);
00216 double dxf_donut_get_thickness (DxfDonut *donut);
00217 DxfDonut *dxf_donut_set_thickness (DxfDonut *donut, double thickness);
00218 double dxf_donut_get_linetype_scale (DxfDonut *donut);
00219 DxfDonut *dxf_donut_set_linetype_scale (DxfDonut *donut, double linetype_scale);
00220 int16_t dxf_donut_get_visibility (DxfDonut *donut);
00221 DxfDonut *dxf_donut_set_visibility (DxfDonut *donut, int16_t visibility);
00222 int dxf_donut_get_color (DxfDonut *donut);
00223 DxfDonut *dxf_donut_set_color (DxfDonut *donut, int color);
00224 int dxf_donut_get_paperspace (DxfDonut *donut);
00225 DxfDonut *dxf_donut_set_paperspace (DxfDonut *donut, int paperspace);
00226 int dxf_donut_get_graphics_data_size (DxfDonut *donut);
00227 DxfDonut *dxf_donut_set_graphics_data_size (DxfDonut *donut, int graphics_data_size);
00228 int16_t dxf_donut_get_shadow_mode (DxfDonut *donut);
00229 DxfDonut *dxf_donut_set_shadow_mode (DxfDonut *donut, int16_t shadow_mode);
00230 DxfBinaryGraphicsData *dxf_donut_get_binary_graphics_data (DxfDonut *donut);
00231 DxfDonut *dxf_donut_set_binary_graphics_data (DxfDonut *donut, DxfBinaryGraphicsData *data);
00232 char *dxf_donut_get_dictionary_owner_soft (DxfDonut *donut);
00233 DxfDonut *dxf_donut_set_dictionary_owner_soft (DxfDonut *donut, char *dictionary_owner_soft);
00234 char *dxf_donut_get_material (DxfDonut *donut);
00235 DxfDonut *dxf_donut_set_material (DxfDonut *donut, char *material);
00236 char *dxf_donut_get_dictionary_owner_hard (DxfDonut *donut);
00237 DxfDonut *dxf_donut_set_dictionary_owner_hard (DxfDonut *donut, char *dictionary_owner_hard);
00238 int16_t dxf_donut_get_lineweight (DxfDonut *donut);
00239 DxfDonut *dxf_donut_set_lineweight (DxfDonut *donut, int16_t lineweight);
00240 char *dxf_donut_get_plot_style_name (DxfDonut *donut);
00241 DxfDonut *dxf_donut_set_plot_style_name (DxfDonut *donut, char *plot_style_name);
00242 long dxf_donut_get_color_value (DxfDonut *donut);
00243 DxfDonut *dxf_donut_set_color_value (DxfDonut *donut, long color_value);
00244 char *dxf_donut_get_color_name (DxfDonut *donut);
00245 DxfDonut *dxf_donut_set_color_name (DxfDonut *donut, char *color_name);
00246 long dxf_donut_get_transparency (DxfDonut *donut);
00247 DxfDonut *dxf_donut_set_transparency (DxfDonut *donut, long transparency);
00248 DxfPoint *dxf_donut_get_p0 (DxfDonut *donut);
00249 DxfDonut *dxf_donut_set_p0 (DxfDonut *donut, DxfPoint *p0);
00250 double dxf_donut_get_x0 (DxfDonut *donut);
00251 DxfDonut *dxf_donut_set_x0 (DxfDonut *donut, double x0);
00252 double dxf_donut_get_y0 (DxfDonut *donut);
00253 DxfDonut *dxf_donut_set_y0 (DxfDonut *donut, double y0);
00254 double dxf_donut_get_z0 (DxfDonut *donut);
00255 DxfDonut *dxf_donut_set_z0 (DxfDonut *donut, double z0);
00256 double dxf_donut_get_outside_diameter (DxfDonut *donut);
00257 DxfDonut *dxf_donut_set_outside_diameter (DxfDonut *donut, double outside_diameter);
00258 double dxf_donut_get_inside_diameter (DxfDonut *donut);
00259 DxfDonut *dxf_donut_set_inside_diameter (DxfDonut *donut, double inside_diameter);
00260 DxfDonut *dxf_donut_get_next (DxfDonut *donut);
00261 DxfDonut *dxf_donut_set_next (DxfDonut *donut, DxfDonut *next);
00262 DxfDonut *dxf_donut_get_last (DxfDonut *donut);
00263 
00264 
00265 #ifdef __cplusplus
00266 }
00267 #endif
00268 
00269 
00270 #endif /* LIBDXF_SRC_DONUT_H */
00271 
00272 
00273 /* EOF */