libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00044 #ifndef LIBDXF_SRC_3DLINE_H 00045 #define LIBDXF_SRC_3DLINE_H 00046 00047 00048 #include "global.h" 00049 #include "point.h" 00050 #include "binary_graphics_data.h" 00051 00052 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 00061 typedef struct 00062 dxf_3dline_struct 00063 { 00064 /* Members common for all DXF drawable entities. */ 00065 int id_code; 00070 char *linetype; 00074 char *layer; 00078 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 DXF line. */ 00190 DxfPoint *p0; 00193 DxfPoint *p1; 00196 double extr_x0; 00200 double extr_y0; 00204 double extr_z0; 00208 struct Dxf3dline *next; 00211 } Dxf3dline; 00212 00213 00214 Dxf3dline *dxf_3dline_new (); 00215 Dxf3dline *dxf_3dline_init (Dxf3dline *line); 00216 Dxf3dline *dxf_3dline_read (DxfFile *fp, Dxf3dline *line); 00217 int dxf_3dline_write (DxfFile *fp, Dxf3dline *line); 00218 int dxf_3dline_free (Dxf3dline *line); 00219 void dxf_3dline_free_chain (Dxf3dline *lines); 00220 int dxf_3dline_get_id_code (Dxf3dline *line); 00221 Dxf3dline *dxf_3dline_set_id_code (Dxf3dline *line, int id_code); 00222 char *dxf_3dline_get_linetype (Dxf3dline *line); 00223 Dxf3dline *dxf_3dline_set_linetype (Dxf3dline *line, char *linetype); 00224 char *dxf_3dline_get_layer (Dxf3dline *line); 00225 Dxf3dline *dxf_3dline_set_layer (Dxf3dline *line, char *layer); 00226 double dxf_3dline_get_elevation (Dxf3dline *line); 00227 Dxf3dline *dxf_3dline_set_elevation (Dxf3dline *line, double elevation); 00228 double dxf_3dline_get_thickness (Dxf3dline *line); 00229 Dxf3dline *dxf_3dline_set_thickness (Dxf3dline *line, double thickness); 00230 double dxf_3dline_get_linetype_scale (Dxf3dline *line); 00231 Dxf3dline *dxf_3dline_set_linetype_scale (Dxf3dline *line, double linetype_scale); 00232 int16_t dxf_3dline_get_visibility (Dxf3dline *line); 00233 Dxf3dline *dxf_3dline_set_visibility (Dxf3dline *line, int16_t visibility); 00234 int dxf_3dline_get_color (Dxf3dline *line); 00235 Dxf3dline *dxf_3dline_set_color (Dxf3dline *line, int color); 00236 int dxf_3dline_get_paperspace (Dxf3dline *line); 00237 Dxf3dline *dxf_3dline_set_paperspace (Dxf3dline *line, int paperspace); 00238 int dxf_3dline_get_graphics_data_size (Dxf3dline *line); 00239 Dxf3dline *dxf_3dline_set_graphics_data_size (Dxf3dline *line, int graphics_data_size); 00240 int16_t dxf_3dline_get_shadow_mode (Dxf3dline *line); 00241 Dxf3dline *dxf_3dline_set_shadow_mode (Dxf3dline *line, int16_t shadow_mode); 00242 DxfBinaryGraphicsData *dxf_3dline_get_binary_graphics_data (Dxf3dline *line); 00243 Dxf3dline *dxf_3dline_set_binary_graphics_data (Dxf3dline *line, DxfBinaryGraphicsData *data); 00244 char *dxf_3dline_get_dictionary_owner_soft (Dxf3dline *line); 00245 Dxf3dline *dxf_3dline_set_dictionary_owner_soft (Dxf3dline *line, char *dictionary_owner_soft); 00246 char *dxf_3dline_get_material (Dxf3dline *line); 00247 Dxf3dline *dxf_3dline_set_material (Dxf3dline *line, char *material); 00248 char *dxf_3dline_get_dictionary_owner_hard (Dxf3dline *line); 00249 Dxf3dline *dxf_3dline_set_dictionary_owner_hard (Dxf3dline *line, char *dictionary_owner_hard); 00250 int16_t dxf_3dline_get_lineweight (Dxf3dline *line); 00251 Dxf3dline *dxf_3dline_set_lineweight (Dxf3dline *line, int16_t lineweight); 00252 char *dxf_3dline_get_plot_style_name (Dxf3dline *line); 00253 Dxf3dline *dxf_3dline_set_plot_style_name (Dxf3dline *line, char *plot_style_name); 00254 long dxf_3dline_get_color_value (Dxf3dline *line); 00255 Dxf3dline *dxf_3dline_set_color_value (Dxf3dline *line, long color_value); 00256 char *dxf_3dline_get_color_name (Dxf3dline *line); 00257 Dxf3dline *dxf_3dline_set_color_name (Dxf3dline *line, char *color_name); 00258 long dxf_3dline_get_transparency (Dxf3dline *line); 00259 Dxf3dline *dxf_3dline_set_transparency (Dxf3dline *line, long transparency); 00260 DxfPoint *dxf_3dline_get_p0 (Dxf3dline *line); 00261 Dxf3dline *dxf_3dline_set_p0 (Dxf3dline *line, DxfPoint *p0); 00262 double dxf_3dline_get_x0 (Dxf3dline *line); 00263 Dxf3dline *dxf_3dline_set_x0 (Dxf3dline *line, double x0); 00264 double dxf_3dline_get_y0 (Dxf3dline *line); 00265 Dxf3dline *dxf_3dline_set_y0 (Dxf3dline *line, double y0); 00266 double dxf_3dline_get_z0 (Dxf3dline *line); 00267 Dxf3dline *dxf_3dline_set_z0 (Dxf3dline *line, double z0); 00268 DxfPoint *dxf_3dline_get_p1 (Dxf3dline *line); 00269 Dxf3dline *dxf_3dline_set_p1 (Dxf3dline *line, DxfPoint *p1); 00270 double dxf_3dline_get_x1 (Dxf3dline *line); 00271 Dxf3dline *dxf_3dline_set_x1 (Dxf3dline *line, double x1); 00272 double dxf_3dline_get_y1 (Dxf3dline *line); 00273 Dxf3dline *dxf_3dline_set_y1 (Dxf3dline *line, double y1); 00274 double dxf_3dline_get_z1 (Dxf3dline *line); 00275 Dxf3dline *dxf_3dline_set_z1 (Dxf3dline *line, double z1); 00276 double dxf_3dline_get_extr_x0 (Dxf3dline *line); 00277 Dxf3dline *dxf_3dline_set_extr_x0 (Dxf3dline *line, double extr_x0); 00278 double dxf_3dline_get_extr_y0 (Dxf3dline *line); 00279 Dxf3dline *dxf_3dline_set_extr_y0 (Dxf3dline *line, double extr_y0); 00280 double dxf_3dline_get_extr_z0 (Dxf3dline *line); 00281 Dxf3dline *dxf_3dline_set_extr_z0 (Dxf3dline *line, double extr_z0); 00282 DxfPoint *dxf_3dline_get_extrusion_vector_as_point (Dxf3dline *line); 00283 Dxf3dline *dxf_3dline_set_extrusion_vector_from_point (Dxf3dline *line, DxfPoint *point); 00284 Dxf3dline *dxf_3dline_set_extrusion_vector (Dxf3dline *line, double extr_x0, double extr_y0, double extr_z0); 00285 DxfPoint *dxf_3dline_get_mid_point (Dxf3dline *line, int id_code, int inheritance); 00286 double dxf_3dline_get_length (Dxf3dline *line); 00287 Dxf3dline *dxf_3dline_create_from_points (DxfPoint *p0, DxfPoint *p1, int id_code, int inheritance); 00288 Dxf3dline *dxf_3dline_get_next (Dxf3dline *line); 00289 Dxf3dline *dxf_3dline_set_next (Dxf3dline *line, Dxf3dline *next); 00290 Dxf3dline *dxf_3dline_get_last (Dxf3dline *line); 00291 00292 00293 #ifdef __cplusplus 00294 } 00295 #endif 00296 00297 00298 #endif /* LIBDXF_SRC_3DLINE_H */ 00299 00300 00301 /* EOF */