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

lwpolyline.h

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