libDXF 0.0.1
A library with DXF related functions written in C.
|
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 */