libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00044 #ifndef LIBDXF_SRC_REGION_H 00045 #define LIBDXF_SRC_REGION_H 00046 00047 00048 #include "global.h" 00049 #include "point.h" 00050 #include "binary_graphics_data.h" 00051 #include "util.h" 00052 00053 00054 #ifdef __cplusplus 00055 extern "C" { 00056 #endif 00057 00058 00062 typedef struct 00063 dxf_region_struct 00064 { 00065 /* Members common for all DXF drawable entities. */ 00066 int id_code; 00071 char *linetype; 00075 char *layer; 00079 double elevation; 00085 double thickness; 00089 double linetype_scale; 00093 int16_t visibility; 00101 int color; 00108 int paperspace; 00114 int graphics_data_size; 00123 int16_t shadow_mode; 00133 DxfBinaryGraphicsData *binary_graphics_data; 00139 char *dictionary_owner_soft; 00143 char *material; 00148 char *dictionary_owner_hard; 00152 int16_t lineweight; 00157 char *plot_style_name; 00161 long color_value; 00173 char *color_name; 00181 long transparency; 00189 /* Specific members for a DXF region. */ 00190 DxfChar *proprietary_data; 00194 DxfChar *additional_proprietary_data; 00199 int modeler_format_version_number; 00202 struct DxfRegion *next; 00205 } DxfRegion; 00206 00207 00208 DxfRegion *dxf_region_new (); 00209 DxfRegion *dxf_region_init (DxfRegion *region); 00210 DxfRegion *dxf_region_read (DxfFile *fp, DxfRegion *region); 00211 int dxf_region_write (DxfFile *fp, DxfRegion *region); 00212 int dxf_region_free (DxfRegion *region); 00213 void dxf_region_free_chain (DxfRegion *regions); 00214 int dxf_region_get_id_code (DxfRegion *region); 00215 DxfRegion *dxf_region_set_id_code (DxfRegion *region, int id_code); 00216 char *dxf_region_get_linetype (DxfRegion *region); 00217 DxfRegion *dxf_region_set_linetype (DxfRegion *region, char *linetype); 00218 char *dxf_region_get_layer (DxfRegion *region); 00219 DxfRegion *dxf_region_set_layer (DxfRegion *region, char *layer); 00220 double dxf_region_get_elevation (DxfRegion *region); 00221 DxfRegion *dxf_region_set_elevation (DxfRegion *region, double elevation); 00222 double dxf_region_get_thickness (DxfRegion *region); 00223 DxfRegion *dxf_region_set_thickness (DxfRegion *region, double thickness); 00224 double dxf_region_get_linetype_scale (DxfRegion *region); 00225 DxfRegion *dxf_region_set_linetype_scale (DxfRegion *region, double linetype_scale); 00226 int16_t dxf_region_get_visibility (DxfRegion *region); 00227 DxfRegion *dxf_region_set_visibility (DxfRegion *region, int16_t visibility); 00228 int dxf_region_get_color (DxfRegion *region); 00229 DxfRegion *dxf_region_set_color (DxfRegion *region, int color); 00230 int dxf_region_get_paperspace (DxfRegion *region); 00231 DxfRegion *dxf_region_set_paperspace (DxfRegion *region, int paperspace); 00232 int dxf_region_get_graphics_data_size (DxfRegion *region); 00233 DxfRegion *dxf_region_set_graphics_data_size (DxfRegion *region, int graphics_data_size); 00234 int16_t dxf_region_get_shadow_mode (DxfRegion *region); 00235 DxfRegion *dxf_region_set_shadow_mode (DxfRegion *region, int16_t shadow_mode); 00236 DxfBinaryGraphicsData *dxf_region_get_binary_graphics_data (DxfRegion *region); 00237 DxfRegion *dxf_region_set_binary_graphics_data (DxfRegion *region, DxfBinaryGraphicsData *data); 00238 char *dxf_region_get_dictionary_owner_soft (DxfRegion *region); 00239 DxfRegion *dxf_region_set_dictionary_owner_soft (DxfRegion *region, char *dictionary_owner_soft); 00240 char *dxf_region_get_material (DxfRegion *region); 00241 DxfRegion *dxf_region_set_material (DxfRegion *region, char *material); 00242 char *dxf_region_get_dictionary_owner_hard (DxfRegion *region); 00243 DxfRegion *dxf_region_set_dictionary_owner_hard (DxfRegion *region, char *dictionary_owner_hard); 00244 int16_t dxf_region_get_lineweight (DxfRegion *region); 00245 DxfRegion *dxf_region_set_lineweight (DxfRegion *region, int16_t lineweight); 00246 char *dxf_region_get_plot_style_name (DxfRegion *region); 00247 DxfRegion *dxf_region_set_plot_style_name (DxfRegion *region, char *plot_style_name); 00248 long dxf_region_get_color_value (DxfRegion *region); 00249 DxfRegion *dxf_region_set_color_value (DxfRegion *region, long color_value); 00250 char *dxf_region_get_color_name (DxfRegion *region); 00251 DxfRegion *dxf_region_set_color_name (DxfRegion *region, char *color_name); 00252 long dxf_region_get_transparency (DxfRegion *region); 00253 DxfRegion *dxf_region_set_transparency (DxfRegion *region, long transparency); 00254 DxfChar *dxf_region_get_proprietary_data (DxfRegion *region); 00255 DxfRegion *dxf_region_set_proprietary_data (DxfRegion *region, DxfChar *proprietary_data); 00256 DxfChar *dxf_region_get_additional_proprietary_data (DxfRegion *region); 00257 DxfRegion *dxf_region_set_additional_proprietary_data (DxfRegion *region, DxfChar *additional_proprietary_data); 00258 int dxf_region_get_modeler_format_version_number (DxfRegion *region); 00259 DxfRegion *dxf_region_set_modeler_format_version_number (DxfRegion *region, int modeler_format_version_number); 00260 DxfRegion *dxf_region_get_next (DxfRegion *region); 00261 DxfRegion *dxf_region_set_next (DxfRegion *region, DxfRegion *next); 00262 DxfRegion *dxf_region_get_last (DxfRegion *region); 00263 00264 00265 #ifdef __cplusplus 00266 } 00267 #endif 00268 00269 00270 #endif /* LIBDXF_SRC_REGION_H */ 00271 00272 00273 /* EOF */