libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00044 #ifndef LIBDXF_SRC_3DSOLID_H 00045 #define LIBDXF_SRC_3DSOLID_H 00046 00047 00048 #include "global.h" 00049 #include "binary_graphics_data.h" 00050 #include "proprietary_data.h" 00051 00052 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 00061 typedef struct 00062 dxf_3dsolid_struct 00063 { 00064 /* Members common for all DXF drawable entities. */ 00065 int id_code; 00070 char *linetype; 00074 char *layer; 00078 double elevation; 00084 double thickness; 00088 double linetype_scale; 00092 int16_t visibility; 00100 int color; 00107 int paperspace; 00113 int graphics_data_size; 00122 int16_t shadow_mode; 00132 DxfBinaryGraphicsData *binary_graphics_data; 00138 char *dictionary_owner_soft; 00142 char *material; 00147 char *dictionary_owner_hard; 00151 int16_t lineweight; 00156 char *plot_style_name; 00160 long color_value; 00172 char *color_name; 00180 long transparency; 00188 /* Specific members for a DXF 3D solid. */ 00189 DxfProprietaryData *proprietary_data; 00193 DxfProprietaryData *additional_proprietary_data; 00198 int modeler_format_version_number; 00201 char *history; 00205 struct Dxf3dsolid *next; 00208 } Dxf3dsolid; 00209 00210 00211 Dxf3dsolid *dxf_3dsolid_new (); 00212 Dxf3dsolid *dxf_3dsolid_init (Dxf3dsolid *solid); 00213 Dxf3dsolid *dxf_3dsolid_read (DxfFile *fp, Dxf3dsolid *solid); 00214 int dxf_3dsolid_write (DxfFile *fp, Dxf3dsolid *solid); 00215 int dxf_3dsolid_free (Dxf3dsolid *solid); 00216 void dxf_3dsolid_free_chain (Dxf3dsolid *solids); 00217 int dxf_3dsolid_get_id_code (Dxf3dsolid *solid); 00218 Dxf3dsolid *dxf_3dsolid_set_id_code (Dxf3dsolid *solid, int id_code); 00219 char *dxf_3dsolid_get_linetype (Dxf3dsolid *solid); 00220 Dxf3dsolid *dxf_3dsolid_set_linetype (Dxf3dsolid *solid, char *linetype); 00221 char *dxf_3dsolid_get_layer (Dxf3dsolid *solid); 00222 Dxf3dsolid *dxf_3dsolid_set_layer (Dxf3dsolid *solid, char *layer); 00223 double dxf_3dsolid_get_elevation (Dxf3dsolid *solid); 00224 Dxf3dsolid *dxf_3dsolid_set_elevation (Dxf3dsolid *solid, double elevation); 00225 double dxf_3dsolid_get_thickness (Dxf3dsolid *solid); 00226 Dxf3dsolid *dxf_3dsolid_set_thickness (Dxf3dsolid *solid, double thickness); 00227 double dxf_3dsolid_get_linetype_scale (Dxf3dsolid *solid); 00228 Dxf3dsolid *dxf_3dsolid_set_linetype_scale (Dxf3dsolid *solid, double linetype_scale); 00229 int16_t dxf_3dsolid_get_visibility (Dxf3dsolid *solid); 00230 Dxf3dsolid *dxf_3dsolid_set_visibility (Dxf3dsolid *solid, int16_t visibility); 00231 int dxf_3dsolid_get_color (Dxf3dsolid *solid); 00232 Dxf3dsolid *dxf_3dsolid_set_color (Dxf3dsolid *solid, int color); 00233 int dxf_3dsolid_get_paperspace (Dxf3dsolid *solid); 00234 Dxf3dsolid *dxf_3dsolid_set_paperspace (Dxf3dsolid *solid, int paperspace); 00235 int dxf_3dsolid_get_graphics_data_size (Dxf3dsolid *solid); 00236 Dxf3dsolid *dxf_3dsolid_set_graphics_data_size (Dxf3dsolid *solid, int graphics_data_size); 00237 int16_t dxf_3dsolid_get_shadow_mode (Dxf3dsolid *solid); 00238 Dxf3dsolid *dxf_3dsolid_set_shadow_mode (Dxf3dsolid *solid, int16_t shadow_mode); 00239 DxfBinaryGraphicsData *dxf_3dsolid_get_binary_graphics_data (Dxf3dsolid *solid); 00240 Dxf3dsolid *dxf_3dsolid_set_binary_graphics_data (Dxf3dsolid *solid, DxfBinaryGraphicsData *data); 00241 char *dxf_3dsolid_get_dictionary_owner_soft (Dxf3dsolid *solid); 00242 Dxf3dsolid *dxf_3dsolid_set_dictionary_owner_soft (Dxf3dsolid *solid, char *dictionary_owner_soft); 00243 char *dxf_3dsolid_get_material (Dxf3dsolid *solid); 00244 Dxf3dsolid *dxf_3dsolid_set_material (Dxf3dsolid *solid, char *material); 00245 char *dxf_3dsolid_get_dictionary_owner_hard (Dxf3dsolid *solid); 00246 Dxf3dsolid *dxf_3dsolid_set_dictionary_owner_hard (Dxf3dsolid *solid, char *dictionary_owner_hard); 00247 int16_t dxf_3dsolid_get_lineweight (Dxf3dsolid *solid); 00248 Dxf3dsolid *dxf_3dsolid_set_lineweight (Dxf3dsolid *solid, int16_t lineweight); 00249 char *dxf_3dsolid_get_plot_style_name (Dxf3dsolid *solid); 00250 Dxf3dsolid *dxf_3dsolid_set_plot_style_name (Dxf3dsolid *solid, char *plot_style_name); 00251 long dxf_3dsolid_get_color_value (Dxf3dsolid *solid); 00252 Dxf3dsolid *dxf_3dsolid_set_color_value (Dxf3dsolid *solid, long color_value); 00253 char *dxf_3dsolid_get_color_name (Dxf3dsolid *solid); 00254 Dxf3dsolid *dxf_3dsolid_set_color_name (Dxf3dsolid *solid, char *color_name); 00255 long dxf_3dsolid_get_transparency (Dxf3dsolid *solid); 00256 Dxf3dsolid *dxf_3dsolid_set_transparency (Dxf3dsolid *solid, long transparency); 00257 DxfProprietaryData *dxf_3dsolid_get_proprietary_data (Dxf3dsolid *solid); 00258 Dxf3dsolid *dxf_3dsolid_set_proprietary_data (Dxf3dsolid *solid, DxfProprietaryData *proprietary_data); 00259 DxfProprietaryData *dxf_3dsolid_get_additional_proprietary_data (Dxf3dsolid *solid); 00260 Dxf3dsolid *dxf_3dsolid_set_additional_proprietary_data (Dxf3dsolid *solid, DxfProprietaryData *additional_proprietary_data); 00261 int dxf_3dsolid_get_modeler_format_version_number (Dxf3dsolid *solid); 00262 Dxf3dsolid *dxf_3dsolid_set_modeler_format_version_number (Dxf3dsolid *solid, int modeler_format_version_number); 00263 char *dxf_3dsolid_get_history (Dxf3dsolid *solid); 00264 Dxf3dsolid *dxf_3dsolid_set_history (Dxf3dsolid *solid, char *history); 00265 Dxf3dsolid *dxf_3dsolid_get_next (Dxf3dsolid *solid); 00266 Dxf3dsolid *dxf_3dsolid_set_next (Dxf3dsolid *solid, Dxf3dsolid *next); 00267 Dxf3dsolid *dxf_3dsolid_get_last (Dxf3dsolid *solid); 00268 00269 00270 #ifdef __cplusplus 00271 } 00272 #endif 00273 00274 00275 #endif /* LIBDXF_SRC_3DSOLID_H */ 00276 00277 00278 /* EOF */