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

3dface.h

Go to the documentation of this file.
00001 
00042 #ifndef LIBDXF_SRC_3DFACE_H
00043 #define LIBDXF_SRC_3DFACE_H
00044 
00045 
00046 #include "global.h"
00047 #include "point.h"
00048 #include "binary_graphics_data.h"
00049 
00050 
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054 
00055 
00059 typedef struct
00060 dxf_3dface_struct
00061 {
00062         /* Members common for all DXF drawable entities. */
00063         int id_code;
00068         char *linetype;
00072         char *layer;
00076         double elevation;
00082         double thickness;
00086         double linetype_scale;
00090         int16_t visibility;
00098         int color;
00105         int paperspace;
00111         int graphics_data_size;
00120         int16_t shadow_mode;
00130         DxfBinaryGraphicsData *binary_graphics_data;
00136         char *dictionary_owner_soft;
00140         char *material;
00145         char *dictionary_owner_hard;
00149         int16_t lineweight;
00154         char *plot_style_name;
00158         long color_value;
00170         char *color_name;
00178         long transparency;
00186         /* Specific members for a DXF 3D face. */
00187         DxfPoint *p0;
00190         DxfPoint *p1;
00193         DxfPoint *p2;
00196         DxfPoint *p3;
00199         int flag;
00209         struct Dxf3dface *next;
00212 } Dxf3dface;
00213 
00214 
00215 Dxf3dface *dxf_3dface_new ();
00216 Dxf3dface *dxf_3dface_init (Dxf3dface *face);
00217 Dxf3dface *dxf_3dface_read (DxfFile *fp, Dxf3dface *face);
00218 int dxf_3dface_write (DxfFile *fp, Dxf3dface *face);
00219 Dxf3dface *dxf_3dface_free (Dxf3dface *face);
00220 void dxf_3dface_free_chain (Dxf3dface *faces);
00221 int dxf_3dface_get_id_code (Dxf3dface *face);
00222 Dxf3dface *dxf_3dface_set_id_code (Dxf3dface *face, int id_code);
00223 char *dxf_3dface_get_linetype (Dxf3dface *face);
00224 Dxf3dface *dxf_3dface_set_linetype (Dxf3dface *face, char *linetype);
00225 char *dxf_3dface_get_layer (Dxf3dface *face);
00226 Dxf3dface *dxf_3dface_set_layer (Dxf3dface *face, char *layer);
00227 double dxf_3dface_get_elevation (Dxf3dface *face);
00228 Dxf3dface *dxf_3dface_set_elevation (Dxf3dface *face, double elevation);
00229 double dxf_3dface_get_thickness (Dxf3dface *face);
00230 Dxf3dface *dxf_3dface_set_thickness (Dxf3dface *face, double thickness);
00231 double dxf_3dface_get_linetype_scale (Dxf3dface *face);
00232 Dxf3dface *dxf_3dface_set_linetype_scale (Dxf3dface *face, double linetype_scale);
00233 int16_t dxf_3dface_get_visibility (Dxf3dface *face);
00234 Dxf3dface *dxf_3dface_set_visibility (Dxf3dface *face, int16_t visibility);
00235 int dxf_3dface_get_color (Dxf3dface *face);
00236 Dxf3dface *dxf_3dface_set_color (Dxf3dface *face, int color);
00237 int dxf_3dface_get_paperspace (Dxf3dface *face);
00238 Dxf3dface *dxf_3dface_set_paperspace (Dxf3dface *face, int paperspace);
00239 int dxf_3dface_get_graphics_data_size (Dxf3dface *face);
00240 Dxf3dface *dxf_3dface_set_graphics_data_size (Dxf3dface *face, int graphics_data_size);
00241 int16_t dxf_3dface_get_shadow_mode (Dxf3dface *face);
00242 Dxf3dface *dxf_3dface_set_shadow_mode (Dxf3dface *face, int16_t shadow_mode);
00243 DxfBinaryGraphicsData *dxf_3dface_get_binary_graphics_data (Dxf3dface *face);
00244 Dxf3dface *dxf_3dface_set_binary_graphics_data (Dxf3dface *face, DxfBinaryGraphicsData *data);
00245 char *dxf_3dface_get_dictionary_owner_soft (Dxf3dface *face);
00246 Dxf3dface *dxf_3dface_set_dictionary_owner_soft (Dxf3dface *face, char *dictionary_owner_soft);
00247 char *dxf_3dface_get_material (Dxf3dface *face);
00248 Dxf3dface *dxf_3dface_set_material (Dxf3dface *face, char *material);
00249 char *dxf_3dface_get_dictionary_owner_hard (Dxf3dface *face);
00250 Dxf3dface *dxf_3dface_set_dictionary_owner_hard (Dxf3dface *face, char *dictionary_owner_hard);
00251 int16_t dxf_3dface_get_lineweight (Dxf3dface *face);
00252 Dxf3dface *dxf_3dface_set_lineweight (Dxf3dface *face, int16_t lineweight);
00253 char *dxf_3dface_get_plot_style_name (Dxf3dface *face);
00254 Dxf3dface *dxf_3dface_set_plot_style_name (Dxf3dface *face, char *plot_style_name);
00255 long dxf_3dface_get_color_value (Dxf3dface *face);
00256 Dxf3dface *dxf_3dface_set_color_value (Dxf3dface *face, long color_value);
00257 char *dxf_3dface_get_color_name (Dxf3dface *face);
00258 Dxf3dface *dxf_3dface_set_color_name (Dxf3dface *face, char *color_name);
00259 long dxf_3dface_get_transparency (Dxf3dface *face);
00260 Dxf3dface *dxf_3dface_set_transparency (Dxf3dface *face, long transparency);
00261 DxfPoint *dxf_3dface_get_p0 (Dxf3dface *face);
00262 Dxf3dface *dxf_3dface_set_p0 (Dxf3dface *face, DxfPoint *point);
00263 double dxf_3dface_get_x0 (Dxf3dface *face);
00264 Dxf3dface *dxf_3dface_set_x0 (Dxf3dface *face, double x0);
00265 double dxf_3dface_get_y0 (Dxf3dface *face);
00266 Dxf3dface *dxf_3dface_set_y0 (Dxf3dface *face, double y0);
00267 double dxf_3dface_get_z0 (Dxf3dface *face);
00268 Dxf3dface *dxf_3dface_set_z0 (Dxf3dface *face, double z0);
00269 DxfPoint *dxf_3dface_get_p1 (Dxf3dface *face);
00270 Dxf3dface *dxf_3dface_set_p1 (Dxf3dface *face, DxfPoint *point);
00271 double dxf_3dface_get_x1 (Dxf3dface *face);
00272 Dxf3dface *dxf_3dface_set_x1 (Dxf3dface *face, double x1);
00273 double dxf_3dface_get_y1 (Dxf3dface *face);
00274 Dxf3dface *dxf_3dface_set_y1 (Dxf3dface *face, double y1);
00275 double dxf_3dface_get_z1 (Dxf3dface *face);
00276 Dxf3dface *dxf_3dface_set_z1 (Dxf3dface *face, double z1);
00277 DxfPoint *dxf_3dface_get_p2 (Dxf3dface *face);
00278 Dxf3dface *dxf_3dface_set_p2 (Dxf3dface *face, DxfPoint *point);
00279 double dxf_3dface_get_x2 (Dxf3dface *face);
00280 Dxf3dface *dxf_3dface_set_x2 (Dxf3dface *face, double x2);
00281 double dxf_3dface_get_y2 (Dxf3dface *face);
00282 Dxf3dface *dxf_3dface_set_y2 (Dxf3dface *face, double y2);
00283 double dxf_3dface_get_z2 (Dxf3dface *face);
00284 Dxf3dface *dxf_3dface_set_z2 (Dxf3dface *face, double z2);
00285 DxfPoint *dxf_3dface_get_p3 (Dxf3dface *face);
00286 Dxf3dface *dxf_3dface_set_p3 (Dxf3dface *face, DxfPoint *point);
00287 double dxf_3dface_get_x3 (Dxf3dface *face);
00288 Dxf3dface *dxf_3dface_set_x3 (Dxf3dface *face, double x3);
00289 double dxf_3dface_get_y3 (Dxf3dface *face);
00290 Dxf3dface *dxf_3dface_set_y3 (Dxf3dface *face, double y3);
00291 double dxf_3dface_get_z3 (Dxf3dface *face);
00292 Dxf3dface *dxf_3dface_set_z3 (Dxf3dface *face, double z3);
00293 int dxf_3dface_get_flag (Dxf3dface *face);
00294 Dxf3dface *dxf_3dface_set_flag (Dxf3dface *face, int flag);
00295 int dxf_3dface_is_first_edge_invisible (Dxf3dface *face);
00296 int dxf_3dface_is_second_edge_invisible (Dxf3dface *face);
00297 int dxf_3dface_is_third_edge_invisible (Dxf3dface *face);
00298 int dxf_3dface_is_fourth_edge_invisible (Dxf3dface *face);
00299 Dxf3dface *dxf_3dface_create_from_points (DxfPoint *p0, DxfPoint *p1, DxfPoint *p2, DxfPoint *p3, int id_code, int inheritance);
00300 Dxf3dface *dxf_3dface_get_next (Dxf3dface *face);
00301 Dxf3dface *dxf_3dface_set_next (Dxf3dface *face, Dxf3dface *next);
00302 Dxf3dface *dxf_3dface_get_last (Dxf3dface *face);
00303 
00304 
00305 #ifdef __cplusplus
00306 }
00307 #endif
00308 
00309 
00310 #endif /* LIBDXF_SRC_3DFACE_H */
00311 
00312 
00313 /* EOF */