libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00038 #ifndef LIBDXF_SRC_LWPOLYLINE_H 00039 #define LIBDXF_SRC_LWPOLYLINE_H 00040 00041 00042 #include "global.h" 00043 #include "point.h" 00044 #include "binary_graphics_data.h" 00045 #include "vertex.h" 00046 00047 00048 #ifdef __cplusplus 00049 extern "C" { 00050 #endif 00051 00052 00056 typedef struct 00057 dxf_lwpolyline_struct 00058 { 00059 /* Members common for all DXF drawable entities. */ 00060 int id_code; 00065 char *linetype; 00069 char *layer; 00073 double elevation; 00079 double thickness; 00083 double linetype_scale; 00087 int16_t visibility; 00095 int color; 00102 int paperspace; 00108 int graphics_data_size; 00117 int16_t shadow_mode; 00127 DxfBinaryGraphicsData *binary_graphics_data; 00133 char *dictionary_owner_soft; 00137 char *material; 00142 char *dictionary_owner_hard; 00146 int16_t lineweight; 00151 char *plot_style_name; 00155 long color_value; 00167 char *color_name; 00175 long transparency; 00183 /* Specific members for a DXF lwpolyline. */ 00184 double constant_width; 00190 int flag; 00199 int number_vertices; 00202 double extr_x0; 00208 double extr_y0; 00211 double extr_z0; 00214 struct DxfVertex *vertices; 00219 struct DxfLWPolyline *next; 00222 } DxfLWPolyline; 00223 00224 00225 DxfLWPolyline *dxf_lwpolyline_new (); 00226 DxfLWPolyline *dxf_lwpolyline_init (DxfLWPolyline *lwpolyline); 00227 DxfLWPolyline *dxf_lwpolyline_read (DxfFile *fp, DxfLWPolyline *lwpolyline); 00228 int dxf_lwpolyline_write (DxfFile *fp, DxfLWPolyline *lwpolyline); 00229 int dxf_lwpolyline_free (DxfLWPolyline *lwpolyline); 00230 void dxf_lwpolyline_free_chain (DxfLWPolyline *lwpolylines); 00231 int dxf_lwpolyline_get_id_code (DxfLWPolyline *lwpolyline); 00232 DxfLWPolyline *dxf_lwpolyline_set_id_code (DxfLWPolyline *lwpolyline, int id_code); 00233 char *dxf_lwpolyline_get_linetype (DxfLWPolyline *lwpolyline); 00234 DxfLWPolyline *dxf_lwpolyline_set_linetype (DxfLWPolyline *lwpolyline, char *linetype); 00235 char *dxf_lwpolyline_get_layer (DxfLWPolyline *lwpolyline); 00236 DxfLWPolyline *dxf_lwpolyline_set_layer (DxfLWPolyline *lwpolyline, char *layer); 00237 double dxf_lwpolyline_get_elevation (DxfLWPolyline *lwpolyline); 00238 DxfLWPolyline *dxf_lwpolyline_set_elevation (DxfLWPolyline *lwpolyline, double elevation); 00239 double dxf_lwpolyline_get_thickness (DxfLWPolyline *lwpolyline); 00240 DxfLWPolyline *dxf_lwpolyline_set_thickness (DxfLWPolyline *lwpolyline, double thickness); 00241 double dxf_lwpolyline_get_linetype_scale (DxfLWPolyline *lwpolyline); 00242 DxfLWPolyline *dxf_lwpolyline_set_linetype_scale (DxfLWPolyline *lwpolyline, double linetype_scale); 00243 int16_t dxf_lwpolyline_get_visibility (DxfLWPolyline *lwpolyline); 00244 DxfLWPolyline *dxf_lwpolyline_set_visibility (DxfLWPolyline *lwpolyline, int16_t visibility); 00245 int dxf_lwpolyline_get_color (DxfLWPolyline *lwpolyline); 00246 DxfLWPolyline *dxf_lwpolyline_set_color (DxfLWPolyline *lwpolyline, int color); 00247 int dxf_lwpolyline_get_paperspace (DxfLWPolyline *lwpolyline); 00248 DxfLWPolyline *dxf_lwpolyline_set_paperspace (DxfLWPolyline *lwpolyline, int paperspace); 00249 int dxf_lwpolyline_get_graphics_data_size (DxfLWPolyline *lwpolyline); 00250 DxfLWPolyline *dxf_lwpolyline_set_graphics_data_size (DxfLWPolyline *lwpolyline, int graphics_data_size); 00251 int16_t dxf_lwpolyline_get_shadow_mode (DxfLWPolyline *lwpolyline); 00252 DxfLWPolyline *dxf_lwpolyline_set_shadow_mode (DxfLWPolyline *lwpolyline, int16_t shadow_mode); 00253 DxfBinaryGraphicsData *dxf_lwpolyline_get_binary_graphics_data (DxfLWPolyline *lwpolyline); 00254 DxfLWPolyline *dxf_lwpolyline_set_binary_graphics_data (DxfLWPolyline *lwpolyline, DxfBinaryGraphicsData *data); 00255 char *dxf_lwpolyline_get_dictionary_owner_soft (DxfLWPolyline *lwpolyline); 00256 DxfLWPolyline *dxf_lwpolyline_set_dictionary_owner_soft (DxfLWPolyline *lwpolyline, char *dictionary_owner_soft); 00257 char *dxf_lwpolyline_get_material (DxfLWPolyline *lwpolyline); 00258 DxfLWPolyline *dxf_lwpolyline_set_material (DxfLWPolyline *lwpolyline, char *material); 00259 char *dxf_lwpolyline_get_dictionary_owner_hard (DxfLWPolyline *lwpolyline); 00260 DxfLWPolyline *dxf_lwpolyline_set_dictionary_owner_hard (DxfLWPolyline *lwpolyline, char *dictionary_owner_hard); 00261 int16_t dxf_lwpolyline_get_lineweight (DxfLWPolyline *lwpolyline); 00262 DxfLWPolyline *dxf_lwpolyline_set_lineweight (DxfLWPolyline *lwpolyline, int16_t lineweight); 00263 char *dxf_lwpolyline_get_plot_style_name (DxfLWPolyline *lwpolyline); 00264 DxfLWPolyline *dxf_lwpolyline_set_plot_style_name (DxfLWPolyline *lwpolyline, char *plot_style_name); 00265 long dxf_lwpolyline_get_color_value (DxfLWPolyline *lwpolyline); 00266 DxfLWPolyline *dxf_lwpolyline_set_color_value (DxfLWPolyline *lwpolyline, long color_value); 00267 char *dxf_lwpolyline_get_color_name (DxfLWPolyline *lwpolyline); 00268 DxfLWPolyline *dxf_lwpolyline_set_color_name (DxfLWPolyline *lwpolyline, char *color_name); 00269 long dxf_lwpolyline_get_transparency (DxfLWPolyline *lwpolyline); 00270 DxfLWPolyline *dxf_lwpolyline_set_transparency (DxfLWPolyline *lwpolyline, long transparency); 00271 double dxf_lwpolyline_get_constant_width (DxfLWPolyline *lwpolyline); 00272 DxfLWPolyline *dxf_lwpolyline_set_constant_width (DxfLWPolyline *lwpolyline, double constant_width); 00273 int dxf_lwpolyline_get_flag (DxfLWPolyline *lwpolyline); 00274 DxfLWPolyline *dxf_lwpolyline_set_flag (DxfLWPolyline *lwpolyline, int flag); 00275 int dxf_lwpolyline_get_number_vertices (DxfLWPolyline *lwpolyline); 00276 DxfLWPolyline *dxf_lwpolyline_set_number_vertices (DxfLWPolyline *lwpolyline, int number_vertices); 00277 double dxf_lwpolyline_get_extr_x0 (DxfLWPolyline *lwpolyline); 00278 DxfLWPolyline *dxf_lwpolyline_set_extr_x0 (DxfLWPolyline *lwpolyline, double extr_x0); 00279 double dxf_lwpolyline_get_extr_y0 (DxfLWPolyline *lwpolyline); 00280 DxfLWPolyline *dxf_lwpolyline_set_extr_y0 (DxfLWPolyline *lwpolyline, double extr_y0); 00281 double dxf_lwpolyline_get_extr_z0 (DxfLWPolyline *lwpolyline); 00282 DxfLWPolyline *dxf_lwpolyline_set_extr_z0 (DxfLWPolyline *lwpolyline, double extr_z0); 00283 DxfVertex *dxf_lwpolyline_get_vertices (DxfLWPolyline *lwpolyline); 00284 DxfLWPolyline *dxf_lwpolyline_set_vertices (DxfLWPolyline *lwpolyline, DxfVertex *vertices); 00285 DxfLWPolyline *dxf_lwpolyline_get_next (DxfLWPolyline *lwpolyline); 00286 DxfLWPolyline *dxf_lwpolyline_set_next (DxfLWPolyline *lwpolyline, DxfLWPolyline *next); 00287 DxfLWPolyline *dxf_lwpolyline_get_last (DxfLWPolyline *lwpolyline); 00288 00289 00290 #ifdef __cplusplus 00291 } 00292 #endif 00293 00294 00295 #endif /* LIBDXF_SRC_LWPOLYLINE_H */ 00296 00297 00298 /* EOF */