libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00047 #ifndef LIBDXF_SRC_INSERT_H 00048 #define LIBDXF_SRC_INSERT_H 00049 00050 00051 #include "global.h" 00052 #include "point.h" 00053 #include "binary_graphics_data.h" 00054 00055 00056 #ifdef __cplusplus 00057 extern "C" { 00058 #endif 00059 00060 00065 typedef struct 00066 dxf_insert_struct 00067 { 00068 /* Members common for all DXF drawable entities. */ 00069 int id_code; 00074 char *linetype; 00078 char *layer; 00082 double elevation; 00088 double thickness; 00092 double linetype_scale; 00096 int16_t visibility; 00104 int color; 00111 int paperspace; 00117 int graphics_data_size; 00126 int16_t shadow_mode; 00136 DxfBinaryGraphicsData *binary_graphics_data; 00142 char *dictionary_owner_soft; 00146 char *material; 00151 char *dictionary_owner_hard; 00155 int16_t lineweight; 00160 char *plot_style_name; 00164 long color_value; 00176 char *color_name; 00184 long transparency; 00192 /* Specific members for a DXF insert. */ 00193 char *block_name; 00195 DxfPoint *p0; 00198 double rel_x_scale; 00202 double rel_y_scale; 00206 double rel_z_scale; 00210 double column_spacing; 00214 double row_spacing; 00218 double rot_angle; 00222 int attributes_follow; 00230 int columns; 00234 int rows; 00238 double extr_x0; 00242 double extr_y0; 00246 double extr_z0; 00250 struct DxfInsert *next; 00253 } DxfInsert; 00254 00255 00256 DxfInsert *dxf_insert_new (); 00257 DxfInsert *dxf_insert_init (DxfInsert *insert); 00258 DxfInsert *dxf_insert_read (DxfFile *fp, DxfInsert *insert); 00259 int dxf_insert_write (DxfFile *fp, DxfInsert *insert); 00260 int dxf_insert_free (DxfInsert *insert); 00261 void dxf_insert_free_chain (DxfInsert *inserts); 00262 int dxf_insert_get_id_code (DxfInsert *insert); 00263 DxfInsert *dxf_insert_set_id_code (DxfInsert *insert, int id_code); 00264 char *dxf_insert_get_linetype (DxfInsert *insert); 00265 DxfInsert *dxf_insert_set_linetype (DxfInsert *insert, char *linetype); 00266 char *dxf_insert_get_layer (DxfInsert *insert); 00267 DxfInsert *dxf_insert_set_layer (DxfInsert *insert, char *layer); 00268 double dxf_insert_get_elevation (DxfInsert *insert); 00269 DxfInsert *dxf_insert_set_elevation (DxfInsert *insert, double elevation); 00270 double dxf_insert_get_thickness (DxfInsert *insert); 00271 DxfInsert *dxf_insert_set_thickness (DxfInsert *insert, double thickness); 00272 double dxf_insert_get_linetype_scale (DxfInsert *insert); 00273 DxfInsert *dxf_insert_set_linetype_scale (DxfInsert *insert, double linetype_scale); 00274 int16_t dxf_insert_get_visibility (DxfInsert *insert); 00275 DxfInsert *dxf_insert_set_visibility (DxfInsert *insert, int16_t visibility); 00276 int dxf_insert_get_color (DxfInsert *insert); 00277 DxfInsert *dxf_insert_set_color (DxfInsert *insert, int color); 00278 int dxf_insert_get_paperspace (DxfInsert *insert); 00279 DxfInsert *dxf_insert_set_paperspace (DxfInsert *insert, int paperspace); 00280 int dxf_insert_get_graphics_data_size (DxfInsert *insert); 00281 DxfInsert *dxf_insert_set_graphics_data_size (DxfInsert *insert, int graphics_data_size); 00282 int16_t dxf_insert_get_shadow_mode (DxfInsert *insert); 00283 DxfInsert *dxf_insert_set_shadow_mode (DxfInsert *insert, int16_t shadow_mode); 00284 DxfBinaryGraphicsData *dxf_insert_get_binary_graphics_data (DxfInsert *insert); 00285 DxfInsert *dxf_insert_set_binary_graphics_data (DxfInsert *insert, DxfBinaryGraphicsData *data); 00286 char *dxf_insert_get_dictionary_owner_soft (DxfInsert *insert); 00287 DxfInsert *dxf_insert_set_dictionary_owner_soft (DxfInsert *insert, char *dictionary_owner_soft); 00288 char *dxf_insert_get_material (DxfInsert *insert); 00289 DxfInsert *dxf_insert_set_material (DxfInsert *insert, char *material); 00290 char *dxf_insert_get_dictionary_owner_hard (DxfInsert *insert); 00291 DxfInsert *dxf_insert_set_dictionary_owner_hard (DxfInsert *insert, char *dictionary_owner_hard); 00292 int16_t dxf_insert_get_lineweight (DxfInsert *insert); 00293 DxfInsert *dxf_insert_set_lineweight (DxfInsert *insert, int16_t lineweight); 00294 char *dxf_insert_get_plot_style_name (DxfInsert *insert); 00295 DxfInsert *dxf_insert_set_plot_style_name (DxfInsert *insert, char *plot_style_name); 00296 long dxf_insert_get_color_value (DxfInsert *insert); 00297 DxfInsert *dxf_insert_set_color_value (DxfInsert *insert, long color_value); 00298 char *dxf_insert_get_color_name (DxfInsert *insert); 00299 DxfInsert *dxf_insert_set_color_name (DxfInsert *insert, char *color_name); 00300 long dxf_insert_get_transparency (DxfInsert *insert); 00301 DxfInsert *dxf_insert_set_transparency (DxfInsert *insert, long transparency); 00302 char *dxf_insert_get_block_name (DxfInsert *insert); 00303 DxfInsert *dxf_insert_set_block_name (DxfInsert *insert, char *block_name); 00304 DxfPoint *dxf_insert_get_p0 (DxfInsert *insert); 00305 DxfInsert *dxf_insert_set_p0 (DxfInsert *insert, DxfPoint *p0); 00306 double dxf_insert_get_x0 (DxfInsert *insert); 00307 DxfInsert *dxf_insert_set_x0 (DxfInsert *insert, double x0); 00308 double dxf_insert_get_y0 (DxfInsert *insert); 00309 DxfInsert *dxf_insert_set_y0 (DxfInsert *insert, double y0); 00310 double dxf_insert_get_z0 (DxfInsert *insert); 00311 DxfInsert *dxf_insert_set_z0 (DxfInsert *insert, double z0); 00312 double dxf_insert_get_rel_x_scale (DxfInsert *insert); 00313 DxfInsert *dxf_insert_set_rel_x_scale (DxfInsert *insert, double rel_x_scale); 00314 double dxf_insert_get_rel_y_scale (DxfInsert *insert); 00315 DxfInsert *dxf_insert_set_rel_y_scale (DxfInsert *insert, double rel_y_scale); 00316 double dxf_insert_get_rel_z_scale (DxfInsert *insert); 00317 DxfInsert *dxf_insert_set_rel_z_scale (DxfInsert *insert, double rel_z_scale); 00318 double dxf_insert_get_column_spacing (DxfInsert *insert); 00319 DxfInsert *dxf_insert_set_column_spacing (DxfInsert *insert, double column_spacing); 00320 double dxf_insert_get_row_spacing (DxfInsert *insert); 00321 DxfInsert *dxf_insert_set_row_spacing (DxfInsert *insert, double row_spacing); 00322 double dxf_insert_get_rot_angle (DxfInsert *insert); 00323 DxfInsert *dxf_insert_set_rot_angle (DxfInsert *insert, double rot_angle); 00324 int dxf_insert_get_attributes_follow (DxfInsert *insert); 00325 DxfInsert *dxf_insert_set_attributes_follow (DxfInsert *insert, int attributes_follow); 00326 int dxf_insert_get_columns (DxfInsert *insert); 00327 DxfInsert *dxf_insert_set_columns (DxfInsert *insert, int columns); 00328 int dxf_insert_get_rows (DxfInsert *insert); 00329 DxfInsert *dxf_insert_set_rows (DxfInsert *insert, int rows); 00330 double dxf_insert_get_extr_x0 (DxfInsert *insert); 00331 DxfInsert *dxf_insert_set_extr_x0 (DxfInsert *insert, double extr_x0); 00332 double dxf_insert_get_extr_y0 (DxfInsert *insert); 00333 DxfInsert *dxf_insert_set_extr_y0 (DxfInsert *insert, double extr_y0); 00334 double dxf_insert_get_extr_z0 (DxfInsert *insert); 00335 DxfInsert *dxf_insert_set_extr_z0 (DxfInsert *insert, double extr_z0); 00336 DxfInsert *dxf_insert_set_extrusion_vector_from_point (DxfInsert *insert, DxfPoint *point); 00337 DxfInsert *dxf_insert_set_extrusion_vector (DxfInsert *insert, double extr_x0, double extr_y0, double extr_z0); 00338 DxfInsert *dxf_insert_get_next (DxfInsert *insert); 00339 DxfInsert *dxf_insert_set_next (DxfInsert *insert, DxfInsert *next); 00340 DxfInsert *dxf_insert_get_last (DxfInsert *insert); 00341 00342 00343 #ifdef __cplusplus 00344 } 00345 #endif 00346 00347 00348 #endif /* LIBDXF_SRC_INSERT_H */ 00349 00350 00351 /* EOF */