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

helix.h

Go to the documentation of this file.
00001 
00036 #ifndef LIBDXF_SRC_HELIX_H
00037 #define LIBDXF_SRC_HELIX_H
00038 
00039 
00040 #include "global.h"
00041 #include "spline.h"
00042 #include "binary_graphics_data.h"
00043 #include "point.h"
00044 
00045 
00046 #ifdef __cplusplus
00047 extern "C" {
00048 #endif
00049 
00050 
00054 typedef struct
00055 dxf_helix_struct
00056 {
00057         /* Members common for all DXF drawable entities. */
00058         int id_code;
00063         char *linetype;
00067         char *layer;
00071         double thickness;
00075         double linetype_scale;
00078         int16_t visibility;
00085         int color;
00092         int paperspace;
00097         int graphics_data_size;
00107         int16_t shadow_mode;
00116         DxfBinaryGraphicsData *binary_graphics_data;
00121         char *dictionary_owner_soft;
00124         char *material;
00128         char *dictionary_owner_hard;
00131         int16_t lineweight;
00135         char *plot_style_name;
00138         long color_value;
00149         char *color_name;
00156         long transparency;
00163         /* Specific members for a DXF helix. */
00164         DxfPoint *p0;
00167         DxfPoint *p1;
00170         DxfPoint *p2;
00173         double radius;
00176         double number_of_turns;
00179         double turn_height;
00182         long major_release_number;
00185         long maintainance_release_number;
00188         int constraint_type;
00196         int handedness;
00207         DxfSpline *spline;
00209         struct DxfHelix *next;
00212 } DxfHelix;
00213 
00214 
00215 DxfHelix *dxf_helix_new ();
00216 DxfHelix *dxf_helix_init (DxfHelix *helix);
00217 DxfHelix *dxf_helix_read (DxfFile *fp, DxfHelix *helix);
00218 int dxf_helix_write (DxfFile *fp, DxfHelix *helix);
00219 int dxf_helix_free (DxfHelix *helix);
00220 void dxf_helix_free_chain (DxfHelix *helices);
00221 int dxf_helix_get_id_code (DxfHelix *helix);
00222 DxfHelix *dxf_helix_set_id_code (DxfHelix *helix, int id_code);
00223 char *dxf_helix_get_linetype (DxfHelix *helix);
00224 DxfHelix *dxf_helix_set_linetype (DxfHelix *helix, char *linetype);
00225 char *dxf_helix_get_layer (DxfHelix *helix);
00226 DxfHelix *dxf_helix_set_layer (DxfHelix *helix, char *layer);
00227 double dxf_helix_get_thickness (DxfHelix *helix);
00228 DxfHelix *dxf_helix_set_thickness (DxfHelix *helix, double thickness);
00229 double dxf_helix_get_linetype_scale (DxfHelix *helix);
00230 DxfHelix *dxf_helix_set_linetype_scale (DxfHelix *helix, double linetype_scale);
00231 int16_t dxf_helix_get_visibility (DxfHelix *helix);
00232 DxfHelix *dxf_helix_set_visibility (DxfHelix *helix, int16_t visibility);
00233 int dxf_helix_get_color (DxfHelix *helix);
00234 DxfHelix *dxf_helix_set_color (DxfHelix *helix, int color);
00235 int dxf_helix_get_paperspace (DxfHelix *helix);
00236 DxfHelix *dxf_helix_set_paperspace (DxfHelix *helix, int paperspace);
00237 int dxf_helix_get_graphics_data_size (DxfHelix *helix);
00238 DxfHelix *dxf_helix_set_graphics_data_size (DxfHelix *helix, int graphics_data_size);
00239 int16_t dxf_helix_get_shadow_mode (DxfHelix *helix);
00240 DxfHelix *dxf_helix_set_shadow_mode (DxfHelix *helix, int16_t shadow_mode);
00241 DxfBinaryGraphicsData *dxf_helix_get_binary_graphics_data (DxfHelix *helix);
00242 DxfHelix *dxf_helix_set_binary_graphics_data (DxfHelix *helix, DxfBinaryGraphicsData *data);
00243 char *dxf_helix_get_dictionary_owner_soft (DxfHelix *helix);
00244 DxfHelix *dxf_helix_set_dictionary_owner_soft (DxfHelix *helix, char *dictionary_owner_soft);
00245 char *dxf_helix_get_material (DxfHelix *helix);
00246 DxfHelix *dxf_helix_set_material (DxfHelix *helix, char *material);
00247 char *dxf_helix_get_dictionary_owner_hard (DxfHelix *helix);
00248 DxfHelix *dxf_helix_set_dictionary_owner_hard (DxfHelix *helix, char *dictionary_owner_hard);
00249 int16_t dxf_helix_get_lineweight (DxfHelix *helix);
00250 DxfHelix *dxf_helix_set_lineweight (DxfHelix *helix, int16_t lineweight);
00251 char *dxf_helix_get_plot_style_name (DxfHelix *helix);
00252 DxfHelix *dxf_helix_set_plot_style_name (DxfHelix *helix, char *plot_style_name);
00253 long dxf_helix_get_color_value (DxfHelix *helix);
00254 DxfHelix *dxf_helix_set_color_value (DxfHelix *helix, long color_value);
00255 char *dxf_helix_get_color_name (DxfHelix *helix);
00256 DxfHelix *dxf_helix_set_color_name (DxfHelix *helix, char *color_name);
00257 long dxf_helix_get_transparency (DxfHelix *helix);
00258 DxfHelix *dxf_helix_set_transparency (DxfHelix *helix, long transparency);
00259 DxfPoint *dxf_helix_get_p0 (DxfHelix *helix);
00260 DxfHelix *dxf_helix_set_p0 (DxfHelix *helix, DxfPoint *p0);
00261 double dxf_helix_get_x0 (DxfHelix *helix);
00262 DxfHelix *dxf_helix_set_x0 (DxfHelix *helix, double x0);
00263 double dxf_helix_get_y0 (DxfHelix *helix);
00264 DxfHelix *dxf_helix_set_y0 (DxfHelix *helix, double y0);
00265 double dxf_helix_get_z0 (DxfHelix *helix);
00266 DxfHelix *dxf_helix_set_z0 (DxfHelix *helix, double z0);
00267 DxfPoint *dxf_helix_get_p1 (DxfHelix *helix);
00268 DxfHelix *dxf_helix_set_p1 (DxfHelix *helix, DxfPoint *p1);
00269 double dxf_helix_get_x1 (DxfHelix *helix);
00270 DxfHelix *dxf_helix_set_x1 (DxfHelix *helix, double x1);
00271 double dxf_helix_get_y1 (DxfHelix *helix);
00272 DxfHelix *dxf_helix_set_y1 (DxfHelix *helix, double y1);
00273 double dxf_helix_get_z1 (DxfHelix *helix);
00274 DxfHelix *dxf_helix_set_z1 (DxfHelix *helix, double z1);
00275 DxfPoint *dxf_helix_get_p2 (DxfHelix *helix);
00276 DxfHelix *dxf_helix_set_p2 (DxfHelix *helix, DxfPoint *p2);
00277 double dxf_helix_get_x2 (DxfHelix *helix);
00278 DxfHelix *dxf_helix_set_x2 (DxfHelix *helix, double x2);
00279 double dxf_helix_get_y2 (DxfHelix *helix);
00280 DxfHelix *dxf_helix_set_y2 (DxfHelix *helix, double y2);
00281 double dxf_helix_get_z2 (DxfHelix *helix);
00282 DxfHelix *dxf_helix_set_z2 (DxfHelix *helix, double z2);
00283 double dxf_helix_get_radius (DxfHelix *helix);
00284 DxfHelix *dxf_helix_set_radius (DxfHelix *helix, double radius);
00285 double dxf_helix_get_number_of_turns (DxfHelix *helix);
00286 DxfHelix *dxf_helix_set_number_of_turns (DxfHelix *helix, double number_of_turns);
00287 double dxf_helix_get_turn_height (DxfHelix *helix);
00288 DxfHelix *dxf_helix_set_turn_height (DxfHelix *helix, double turn_height);
00289 long dxf_helix_get_major_release_number (DxfHelix *helix);
00290 DxfHelix *dxf_helix_set_major_release_number (DxfHelix *helix, long major_release_number);
00291 long dxf_helix_get_maintainance_release_number (DxfHelix *helix);
00292 DxfHelix *dxf_helix_set_maintainance_release_number (DxfHelix *helix, long maintainance_release_number);
00293 int dxf_helix_get_constraint_type (DxfHelix *helix);
00294 DxfHelix *dxf_helix_set_constraint_type (DxfHelix *helix, int constraint_type);
00295 int dxf_helix_get_handedness (DxfHelix *helix);
00296 DxfHelix *dxf_helix_set_handedness (DxfHelix *helix, int handedness);
00297 DxfSpline *dxf_helix_get_spline (DxfHelix *helix);
00298 DxfHelix *dxf_helix_set_spline (DxfHelix *helix, DxfSpline *spline);
00299 DxfHelix *dxf_helix_get_next (DxfHelix *helix);
00300 DxfHelix *dxf_helix_set_next (DxfHelix *helix, DxfHelix *next);
00301 DxfHelix *dxf_helix_get_last (DxfHelix *helix);
00302 
00303 
00304 #ifdef __cplusplus
00305 }
00306 #endif
00307 
00308 
00309 #endif /* LIBDXF_SRC_HELIX_H */
00310 
00311 
00312 /* EOF */