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

insert.h

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