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

3dsolid.h

Go to the documentation of this file.
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 */