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

solid.h

Go to the documentation of this file.
00001 
00049 #ifndef LIBDXF_SRC_SOLID_H
00050 #define LIBDXF_SRC_SOLID_H
00051 
00052 
00053 #include "global.h"
00054 #include "point.h"
00055 #include "binary_graphics_data.h"
00056 
00057 
00058 #ifdef __cplusplus
00059 extern "C" {
00060 #endif
00061 
00062 
00069 typedef struct
00070 dxf_solid_struct
00071 {
00072         /* Members common for all DXF drawable entities. */
00073         int id_code;
00078         char *linetype;
00082         char *layer;
00086         double elevation;
00092         double thickness;
00096         double linetype_scale;
00100         int16_t visibility;
00108         int color;
00115         int paperspace;
00121         int graphics_data_size;
00130         int16_t shadow_mode;
00140         DxfBinaryGraphicsData *binary_graphics_data;
00146         char *dictionary_owner_soft;
00150         char *material;
00155         char *dictionary_owner_hard;
00159         int16_t lineweight;
00164         char *plot_style_name;
00168         long color_value;
00180         char *color_name;
00188         long transparency;
00196         /* Specific members for a DXF solid. */
00197         DxfPoint *p0;
00200         double x0;
00203         double y0;
00206         double z0;
00209         DxfPoint *p1;
00212         double x1;
00215         double y1;
00218         double z1;
00221         DxfPoint *p2;
00224         double x2;
00227         double y2;
00230         double z2;
00233         DxfPoint *p3;
00236         double x3;
00239         double y3;
00242         double z3;
00245         double extr_x0;
00249         double extr_y0;
00253         double extr_z0;
00257         struct DxfSolid *next;
00261 } DxfSolid;
00262 
00263 
00264 DxfSolid *dxf_solid_new ();
00265 DxfSolid *dxf_solid_init (DxfSolid *solid);
00266 DxfSolid *dxf_solid_read (DxfFile *fp, DxfSolid *solid);
00267 int dxf_solid_write (DxfFile *fp, DxfSolid *solid);
00268 int dxf_solid_free (DxfSolid *solid);
00269 void dxf_solid_free_chain (DxfSolid *solids);
00270 int dxf_solid_get_id_code (DxfSolid *solid);
00271 DxfSolid *dxf_solid_set_id_code (DxfSolid *solid, int id_code);
00272 char *dxf_solid_get_linetype (DxfSolid *solid);
00273 DxfSolid *dxf_solid_set_linetype (DxfSolid *solid, char *linetype);
00274 char *dxf_solid_get_layer (DxfSolid *solid);
00275 DxfSolid *dxf_solid_set_layer (DxfSolid *solid, char *layer);
00276 double dxf_solid_get_elevation (DxfSolid *solid);
00277 DxfSolid *dxf_solid_set_elevation (DxfSolid *solid, double elevation);
00278 double dxf_solid_get_thickness (DxfSolid *solid);
00279 DxfSolid *dxf_solid_set_thickness (DxfSolid *solid, double thickness);
00280 double dxf_solid_get_linetype_scale (DxfSolid *solid);
00281 DxfSolid *dxf_solid_set_linetype_scale (DxfSolid *solid, double linetype_scale);
00282 int16_t dxf_solid_get_visibility (DxfSolid *solid);
00283 DxfSolid *dxf_solid_set_visibility (DxfSolid *solid, int16_t visibility);
00284 int dxf_solid_get_color (DxfSolid *solid);
00285 DxfSolid *dxf_solid_set_color (DxfSolid *solid, int color);
00286 int dxf_solid_get_paperspace (DxfSolid *solid);
00287 DxfSolid *dxf_solid_set_paperspace (DxfSolid *solid, int paperspace);
00288 int dxf_solid_get_graphics_data_size (DxfSolid *solid);
00289 DxfSolid *dxf_solid_set_graphics_data_size (DxfSolid *solid, int graphics_data_size);
00290 int16_t dxf_solid_get_shadow_mode (DxfSolid *solid);
00291 DxfSolid *dxf_solid_set_shadow_mode (DxfSolid *solid, int16_t shadow_mode);
00292 DxfBinaryGraphicsData *dxf_solid_get_binary_graphics_data (DxfSolid *solid);
00293 DxfSolid *dxf_solid_set_binary_graphics_data (DxfSolid *solid, DxfBinaryGraphicsData *data);
00294 char *dxf_solid_get_dictionary_owner_soft (DxfSolid *solid);
00295 DxfSolid *dxf_solid_set_dictionary_owner_soft (DxfSolid *solid, char *dictionary_owner_soft);
00296 char *dxf_solid_get_material (DxfSolid *solid);
00297 DxfSolid *dxf_solid_set_material (DxfSolid *solid, char *material);
00298 char *dxf_solid_get_dictionary_owner_hard (DxfSolid *solid);
00299 DxfSolid *dxf_solid_set_dictionary_owner_hard (DxfSolid *solid, char *dictionary_owner_hard);
00300 int16_t dxf_solid_get_lineweight (DxfSolid *solid);
00301 DxfSolid *dxf_solid_set_lineweight (DxfSolid *solid, int16_t lineweight);
00302 char *dxf_solid_get_plot_style_name (DxfSolid *solid);
00303 DxfSolid *dxf_solid_set_plot_style_name (DxfSolid *solid, char *plot_style_name);
00304 long dxf_solid_get_color_value (DxfSolid *solid);
00305 DxfSolid *dxf_solid_set_color_value (DxfSolid *solid, long color_value);
00306 char *dxf_solid_get_color_name (DxfSolid *solid);
00307 DxfSolid *dxf_solid_set_color_name (DxfSolid *solid, char *color_name);
00308 long dxf_solid_get_transparency (DxfSolid *solid);
00309 DxfSolid *dxf_solid_set_transparency (DxfSolid *solid, long transparency);
00310 DxfPoint *dxf_solid_get_p0 (DxfSolid *solid);
00311 DxfSolid *dxf_solid_set_p0 (DxfSolid *solid, DxfPoint *p0);
00312 double dxf_solid_get_x0 (DxfSolid *solid);
00313 DxfSolid *dxf_solid_set_x0 (DxfSolid *solid, double x0);
00314 double dxf_solid_get_y0 (DxfSolid *solid);
00315 DxfSolid *dxf_solid_set_y0 (DxfSolid *solid, double y0);
00316 double dxf_solid_get_z0 (DxfSolid *solid);
00317 DxfSolid *dxf_solid_set_z0 (DxfSolid *solid, double z0);
00318 DxfPoint *dxf_solid_get_p1 (DxfSolid *solid);
00319 DxfSolid *dxf_solid_set_p1 (DxfSolid *solid, DxfPoint *p1);
00320 double dxf_solid_get_x1 (DxfSolid *solid);
00321 DxfSolid *dxf_solid_set_x1 (DxfSolid *solid, double x1);
00322 double dxf_solid_get_y1 (DxfSolid *solid);
00323 DxfSolid *dxf_solid_set_y1 (DxfSolid *solid, double y1);
00324 double dxf_solid_get_z1 (DxfSolid *solid);
00325 DxfSolid *dxf_solid_set_z1 (DxfSolid *solid, double z1);
00326 DxfPoint *dxf_solid_get_p2 (DxfSolid *solid);
00327 DxfSolid *dxf_solid_set_p2 (DxfSolid *solid, DxfPoint *p2);
00328 double dxf_solid_get_x2 (DxfSolid *solid);
00329 DxfSolid *dxf_solid_set_x2 (DxfSolid *solid, double x2);
00330 double dxf_solid_get_y2 (DxfSolid *solid);
00331 DxfSolid *dxf_solid_set_y2 (DxfSolid *solid, double y2);
00332 double dxf_solid_get_z2 (DxfSolid *solid);
00333 DxfSolid *dxf_solid_set_z2 (DxfSolid *solid, double z2);
00334 DxfPoint *dxf_solid_get_p3 (DxfSolid *solid);
00335 DxfSolid *dxf_solid_set_p3 (DxfSolid *solid, DxfPoint *p3);
00336 double dxf_solid_get_x3 (DxfSolid *solid);
00337 DxfSolid *dxf_solid_set_x3 (DxfSolid *solid, double x3);
00338 double dxf_solid_get_y3 (DxfSolid *solid);
00339 DxfSolid *dxf_solid_set_y3 (DxfSolid *solid, double y3);
00340 double dxf_solid_get_z3 (DxfSolid *solid);
00341 DxfSolid *dxf_solid_set_z3 (DxfSolid *solid, double z3);
00342 DxfPoint *dxf_solid_get_extrusion_vector_as_point (DxfSolid *solid);
00343 DxfSolid *dxf_solid_set_extrusion_vector_from_point (DxfSolid *solid, DxfPoint *point);
00344 DxfSolid *dxf_solid_set_extrusion_vector (DxfSolid *solid, double extr_x0, double extr_y0, double extr_z0);
00345 double dxf_solid_get_extr_x0 (DxfSolid *solid);
00346 DxfSolid *dxf_solid_set_extr_x0 (DxfSolid *solid, double extr_x0);
00347 double dxf_solid_get_extr_y0 (DxfSolid *solid);
00348 DxfSolid *dxf_solid_set_extr_y0 (DxfSolid *solid, double extr_y0);
00349 double dxf_solid_get_extr_z0 (DxfSolid *solid);
00350 DxfSolid *dxf_solid_set_extr_z0 (DxfSolid *solid, double extr_z0);
00351 DxfSolid *dxf_solid_get_next (DxfSolid *solid);
00352 DxfSolid *dxf_solid_set_next (DxfSolid *solid, DxfSolid *next);
00353 DxfSolid *dxf_solid_get_last (DxfSolid *solid);
00354 
00355 
00356 #ifdef __cplusplus
00357 }
00358 #endif
00359 
00360 
00361 #endif /* LIBDXF_SRC_SOLID_H */
00362 
00363 
00364 /* EOF */