libDXF 0.0.1
A library with DXF related functions written in C.
|
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 */