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