libDXF 0.0.1
A library with DXF related functions written in C.
|
00001 00042 #ifndef LIBDXF_SRC_HATCH_H 00043 #define LIBDXF_SRC_HATCH_H 00044 00045 00046 #include <math.h> 00047 00048 #include "global.h" 00049 #include "point.h" 00050 #include "binary_graphics_data.h" 00051 00052 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 00058 #define DXF_MAX_HATCH_PATTERN_DEF_LINE_DASH_ITEMS 16 00059 #define DXF_MAX_HATCH_BOUNDARY_PATH_EDGE_SPLINE_KNOTS 64 00060 00061 00065 typedef struct 00066 dxf_hatch_boundary_path_edge_arc_struct 00067 { 00068 int id_code; 00073 double x0; 00076 double y0; 00079 double radius; 00081 double start_angle; 00083 double end_angle; 00085 int is_ccw; 00088 struct DxfHatchBoundaryPathEdgeArc *next; 00091 } DxfHatchBoundaryPathEdgeArc; 00092 00093 00097 typedef struct 00098 dxf_hatch_boundary_path_edge_ellipse_struct 00099 { 00100 int id_code; 00105 double x0; 00108 double y0; 00111 double x1; 00115 double y1; 00119 double ratio; 00122 double start_angle; 00124 double end_angle; 00126 int is_ccw; 00129 struct DxfHatchBoundaryPathEdgeEllipse *next; 00132 } DxfHatchBoundaryPathEdgeEllipse; 00133 00134 00138 typedef struct 00139 dxf_hatch_boundary_path_edge_line_struct 00140 { 00141 int id_code; 00146 double x0; 00149 double y0; 00152 double x1; 00155 double y1; 00158 struct DxfHatchBoundaryPathEdgeLine *next; 00161 } DxfHatchBoundaryPathEdgeLine; 00162 00163 00168 typedef struct 00169 dxf_hatch_boundary_path_edge_spline_cp_struct 00170 { 00171 int id_code; 00176 double x0; 00179 double y0; 00182 double weight; 00185 struct DxfHatchBoundaryPathEdgeSplineCp *next; 00188 } DxfHatchBoundaryPathEdgeSplineCp; 00189 00190 00194 typedef struct 00195 dxf_hatch_boundary_path_edge_spline_struct 00196 { 00197 int id_code; 00199 int degree; 00201 int rational; 00203 int periodic; 00205 int number_of_knots; 00208 double knots[DXF_MAX_HATCH_BOUNDARY_PATH_EDGE_SPLINE_KNOTS]; 00212 int number_of_control_points; 00215 struct DxfHatchBoundaryPathEdgeSplineCp *control_points; 00219 struct DxfHatchBoundaryPathEdgeSpline *next; 00222 } DxfHatchBoundaryPathEdgeSpline; 00223 00224 00229 typedef struct 00230 dxf_hatch_boundary_path_edge_struct 00231 { 00232 int id_code; 00236 struct DxfHatchBoundaryPathEdgeArc *arcs; 00240 struct DxfHatchBoundaryPathEdgeEllipse *ellipses; 00244 struct DxfHatchBoundaryPathEdgeLine * lines; 00248 struct DxfHatchBoundaryPathEdgeSpline *splines; 00252 struct DxfHatchBoundaryPathEdge *next; 00255 } DxfHatchBoundaryPathEdge; 00256 00257 00262 typedef struct 00263 dxf_hatch_boundary_path_polyline_vertex_struct 00264 { 00265 int id_code; 00267 double x0; 00269 double y0; 00271 double bulge; 00274 int has_bulge; 00280 struct DxfHatchBoundaryPathPolylineVertex *next; 00283 } DxfHatchBoundaryPathPolylineVertex; 00284 00285 00289 typedef struct 00290 dxf_hatch_boundary_path_polyline_struct 00291 { 00292 int id_code; 00294 int is_closed; 00296 int number_of_vertices; 00300 struct DxfHatchBoundaryPathPolylineVertex *vertices; 00306 struct DxfHatchBoundaryPathPolyline *next; 00309 } DxfHatchBoundaryPathPolyline; 00310 00311 00316 typedef struct 00317 dxf_hatch_boundary_path_struct 00318 { 00319 int id_code; 00323 struct DxfHatchBoundaryPathEdge *edges; 00327 struct DxfHatchBoundaryPathPolyline *polylines; 00331 struct DxfHatchBoundaryPath *next; 00334 } DxfHatchBoundaryPath; 00335 00336 00341 typedef struct 00342 dxf_hatch_pattern_def_line_dash_struct 00343 { 00344 double length; 00347 struct DxfHatchPatternDefLineDash *next; 00350 } DxfHatchPatternDefLineDash; 00351 00352 00356 typedef struct 00357 dxf_hatch_pattern_def_line_struct 00358 { 00359 int id_code; 00361 double angle; 00364 double x0; 00367 double y0; 00370 double x1; 00373 double y1; 00376 int number_of_dash_items; 00379 struct DxfHatchPatternDefLineDash *dashes; 00382 struct DxfHatchPatternDefLine *next; 00385 } DxfHatchPatternDefLine; 00386 00387 00391 typedef struct 00392 dxf_hatch_pattern_seedpoint_struct 00393 { 00394 int id_code; 00396 double x0; 00399 double y0; 00402 struct DxfHatchPatternSeedPoint *next; 00405 } DxfHatchPatternSeedPoint; 00406 00407 00411 typedef struct 00412 dxf_hatch_pattern_struct 00413 { 00414 int id_code; 00416 int number_of_def_lines; 00419 struct DxfHatchPatternDefLine *def_lines; 00421 int number_of_seed_points; 00424 struct DxfHatchPatternSeedPoint *seed_points; 00426 struct DxfHatchPattern *next; 00429 } DxfHatchPattern; 00430 00431 00435 typedef struct 00436 dxf_hatch_struct 00437 { 00438 /* Members common for all DXF drawable entities. */ 00439 int id_code; 00444 char *linetype; 00448 char *layer; 00452 double elevation; 00457 double thickness; 00461 double linetype_scale; 00464 int16_t visibility; 00471 int color; 00478 int paperspace; 00483 int graphics_data_size; 00487 struct DxfBinaryGraphicsData *binary_graphics_data; 00492 char *dictionary_owner_soft; 00495 char *dictionary_owner_hard; 00498 /* Specific members for a DXF hatch. */ 00499 char *pattern_name; 00501 double x0; 00504 double y0; 00507 double z0; 00510 double pattern_scale; 00513 double pixel_size; 00515 double pattern_angle; 00518 int solid_fill; 00522 int associative; 00526 int hatch_style; 00531 int hatch_pattern_type; 00536 int pattern_double; 00541 int number_of_pattern_def_lines; 00544 int number_of_boundary_paths; 00547 int number_of_seed_points; 00550 double extr_x0; 00554 double extr_y0; 00558 double extr_z0; 00562 struct DxfHatchBoundaryPath *paths; 00566 struct DxfHatchPattern *patterns; 00570 struct DxfHatchPatternDefLine *def_lines; 00574 struct DxfHatchPatternSeedPoint *seed_points; 00576 struct DxfHatch *next; 00579 } DxfHatch; 00580 00581 00582 /* dxf_hatch functions. */ 00583 DxfHatch *dxf_hatch_new (); 00584 DxfHatch *dxf_hatch_init (DxfHatch *hatch); 00585 int dxf_hatch_write (DxfFile *fp, DxfHatch *hatch); 00586 int dxf_hatch_free (DxfHatch *hatch); 00587 void dxf_hatch_free_chain (DxfHatch *hatches); 00588 int dxf_hatch_get_id_code (DxfHatch *hatch); 00589 DxfHatch *dxf_hatch_set_id_code (DxfHatch *hatch, int id_code); 00590 char *dxf_hatch_get_linetype (DxfHatch *hatch); 00591 DxfHatch *dxf_hatch_set_linetype (DxfHatch *hatch, char *linetype); 00592 char *dxf_hatch_get_layer (DxfHatch *hatch); 00593 DxfHatch *dxf_hatch_set_layer (DxfHatch *hatch, char *layer); 00594 double dxf_hatch_get_elevation (DxfHatch *hatch); 00595 DxfHatch *dxf_hatch_set_elevation (DxfHatch *hatch, double elevation); 00596 double dxf_hatch_get_thickness (DxfHatch *hatch); 00597 DxfHatch *dxf_hatch_set_thickness (DxfHatch *hatch, double thickness); 00598 double dxf_hatch_get_linetype_scale (DxfHatch *hatch); 00599 DxfHatch *dxf_hatch_set_linetype_scale (DxfHatch *hatch, double linetype_scale); 00600 int16_t dxf_hatch_get_visibility (DxfHatch *hatch); 00601 DxfHatch *dxf_hatch_set_visibility (DxfHatch *hatch, int16_t visibility); 00602 int dxf_hatch_get_color (DxfHatch *hatch); 00603 DxfHatch *dxf_hatch_set_color (DxfHatch *hatch, int color); 00604 int dxf_hatch_get_paperspace (DxfHatch *hatch); 00605 DxfHatch *dxf_hatch_set_paperspace (DxfHatch *hatch, int paperspace); 00606 int dxf_hatch_get_graphics_data_size (DxfHatch *hatch); 00607 DxfHatch *dxf_hatch_set_graphics_data_size (DxfHatch *hatch, int graphics_data_size); 00608 DxfBinaryGraphicsData *dxf_hatch_get_binary_graphics_data (DxfHatch *hatch); 00609 DxfHatch *dxf_hatch_set_binary_graphics_data (DxfHatch *hatch, DxfBinaryGraphicsData *data); 00610 char *dxf_hatch_get_dictionary_owner_soft (DxfHatch *hatch); 00611 DxfHatch *dxf_hatch_set_dictionary_owner_soft (DxfHatch *hatch, char *dictionary_owner_soft); 00612 char *dxf_hatch_get_dictionary_owner_hard (DxfHatch *hatch); 00613 DxfHatch *dxf_hatch_set_dictionary_owner_hard (DxfHatch *hatch, char *dictionary_owner_hard); 00614 char *dxf_hatch_get_pattern_name (DxfHatch *hatch); 00615 DxfHatch *dxf_hatch_set_pattern_name (DxfHatch *hatch, char *pattern_name); 00616 double dxf_hatch_get_x0 (DxfHatch *hatch); 00617 DxfHatch *dxf_hatch_set_x0 (DxfHatch *hatch, double x0); 00618 double dxf_hatch_get_y0 (DxfHatch *hatch); 00619 DxfHatch *dxf_hatch_set_y0 (DxfHatch *hatch, double y0); 00620 double dxf_hatch_get_z0 (DxfHatch *hatch); 00621 DxfHatch *dxf_hatch_set_z0 (DxfHatch *hatch, double z0); 00622 double dxf_hatch_get_pattern_scale (DxfHatch *hatch); 00623 DxfHatch *dxf_hatch_set_pattern_scale (DxfHatch *hatch, double pattern_scale); 00624 double dxf_hatch_get_pixel_size (DxfHatch *hatch); 00625 DxfHatch *dxf_hatch_set_pixel_size (DxfHatch *hatch, double pattern_scale); 00626 double dxf_hatch_get_pattern_angle (DxfHatch *hatch); 00627 DxfHatch *dxf_hatch_set_pattern_angle (DxfHatch *hatch, double pattern_angle); 00628 int dxf_hatch_get_solid_fill (DxfHatch *hatch); 00629 DxfHatch *dxf_hatch_set_solid_fill (DxfHatch *hatch, int solid_fill); 00630 int dxf_hatch_get_associative (DxfHatch *hatch); 00631 DxfHatch *dxf_hatch_set_associative (DxfHatch *hatch, int associative); 00632 int dxf_hatch_get_hatch_style (DxfHatch *hatch); 00633 DxfHatch *dxf_hatch_set_hatch_style (DxfHatch *hatch, int hatch_style); 00634 int dxf_hatch_get_hatch_pattern_type (DxfHatch *hatch); 00635 DxfHatch *dxf_hatch_set_hatch_pattern_type (DxfHatch *hatch, int hatch_pattern_type); 00636 int dxf_hatch_get_pattern_double (DxfHatch *hatch); 00637 DxfHatch *dxf_hatch_set_pattern_double (DxfHatch *hatch, int pattern_double); 00638 double dxf_hatch_get_extr_x0 (DxfHatch *hatch); 00639 DxfHatch *dxf_hatch_set_extr_x0 (DxfHatch *hatch, double extr_x0); 00640 double dxf_hatch_get_extr_y0 (DxfHatch *hatch); 00641 DxfHatch *dxf_hatch_set_extr_y0 (DxfHatch *hatch, double extr_y0); 00642 double dxf_hatch_get_extr_z0 (DxfHatch *hatch); 00643 DxfHatch *dxf_hatch_set_extr_z0 (DxfHatch *hatch, double extr_z0); 00644 DxfHatchBoundaryPath *dxf_hatch_get_boundary_paths (DxfHatch *hatch); 00645 DxfHatch *dxf_hatch_set_boundary_paths (DxfHatch *hatch, DxfHatchBoundaryPath *paths); 00646 DxfHatchPattern *dxf_hatch_get_patterns (DxfHatch *hatch); 00647 DxfHatch *dxf_hatch_set_patterns (DxfHatch *hatch, DxfHatchPattern *patterns); 00648 DxfHatch *dxf_hatch_get_next (DxfHatch *hatch); 00649 DxfHatch *dxf_hatch_set_next (DxfHatch *hatch, DxfHatch *next); 00650 DxfHatch *dxf_hatch_get_last (DxfHatch *hatch); 00651 /* dxf_hatch_pattern functions. */ 00652 DxfHatchPattern *dxf_hatch_pattern_new (); 00653 DxfHatchPattern *dxf_hatch_pattern_init (DxfHatchPattern *pattern); 00654 int dxf_hatch_pattern_free (DxfHatchPattern *pattern); 00655 void dxf_hatch_pattern_free_chain (DxfHatchPattern *patterns); 00656 int dxf_hatch_pattern_get_id_code (DxfHatchPattern *pattern); 00657 DxfHatchPattern *dxf_hatch_pattern_set_id_code (DxfHatchPattern *pattern, int id_code); 00658 int dxf_hatch_pattern_get_number_of_def_lines (DxfHatchPattern *pattern); 00659 DxfHatchPattern *dxf_hatch_pattern_set_number_of_def_lines (DxfHatchPattern *pattern, int number_of_def_lines); 00660 DxfHatchPatternDefLine *dxf_hatch_pattern_get_def_lines (DxfHatchPattern *pattern); 00661 DxfHatchPattern *dxf_hatch_pattern_set_def_lines (DxfHatchPattern *pattern, DxfHatchPatternDefLine *def_lines); 00662 int dxf_hatch_pattern_get_number_of_seed_points (DxfHatchPattern *pattern); 00663 DxfHatchPattern *dxf_hatch_pattern_set_number_of_seed_points (DxfHatchPattern *pattern, int number_of_seed_points); 00664 DxfHatchPatternSeedPoint *dxf_hatch_pattern_get_seed_points (DxfHatchPattern *pattern); 00665 DxfHatchPattern *dxf_hatch_pattern_set_seed_points (DxfHatchPattern *pattern, DxfHatchPatternSeedPoint *seed_points); 00666 DxfHatchPattern *dxf_hatch_pattern_get_next (DxfHatchPattern *pattern); 00667 DxfHatchPattern *dxf_hatch_pattern_set_next (DxfHatchPattern *pattern, DxfHatchPatternDefLine *next); 00668 DxfHatchPattern *dxf_hatch_pattern_get_last (DxfHatchPattern *pattern); 00669 /* dxf_hatch_pattern_def_line_dash functions. */ 00670 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_new (); 00671 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_init (DxfHatchPatternDefLineDash *dash); 00672 int dxf_hatch_pattern_def_line_dash_free (DxfHatchPatternDefLineDash *dash); 00673 void dxf_hatch_pattern_def_line_dash_free_chain (DxfHatchPatternDefLineDash *dashes); 00674 double dxf_hatch_pattern_def_line_dash_get_length (DxfHatchPatternDefLineDash *dash); 00675 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_set_length (DxfHatchPatternDefLineDash *dash, double length); 00676 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_get_next (DxfHatchPatternDefLineDash *dash); 00677 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_set_next (DxfHatchPatternDefLineDash *dash, DxfHatchPatternDefLineDash *next); 00678 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_dash_get_last (DxfHatchPatternDefLineDash *dash); 00679 /* dxf_hatch_pattern_def_line functions. */ 00680 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_new (); 00681 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_init (DxfHatchPatternDefLine *line); 00682 int dxf_hatch_pattern_def_line_write (DxfFile *fp, DxfHatchPatternDefLine *line); 00683 int dxf_hatch_pattern_def_line_free (DxfHatchPatternDefLine *line); 00684 void dxf_hatch_pattern_def_line_free_chain (DxfHatchPatternDefLine *lines); 00685 int dxf_hatch_pattern_def_line_get_id_code (DxfHatchPatternDefLine *line); 00686 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_id_code (DxfHatchPatternDefLine *line, int id_code); 00687 double dxf_hatch_pattern_def_line_get_angle (DxfHatchPatternDefLine *line); 00688 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_angle (DxfHatchPatternDefLine *line, double angle); 00689 double dxf_hatch_pattern_def_line_get_x0 (DxfHatchPatternDefLine *line); 00690 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_x0 (DxfHatchPatternDefLine *line, double x0); 00691 double dxf_hatch_pattern_def_line_get_y0 (DxfHatchPatternDefLine *line); 00692 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_y0 (DxfHatchPatternDefLine *line, double y0); 00693 double dxf_hatch_pattern_def_line_get_x1 (DxfHatchPatternDefLine *line); 00694 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_x1 (DxfHatchPatternDefLine *line, double x1); 00695 double dxf_hatch_pattern_def_line_get_y1 (DxfHatchPatternDefLine *line); 00696 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_y1 (DxfHatchPatternDefLine *line, double y1); 00697 int dxf_hatch_pattern_def_line_get_number_of_dash_items (DxfHatchPatternDefLine *line); 00698 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_number_of_dash_items (DxfHatchPatternDefLine *line, int number_of_dash_items); 00699 DxfHatchPatternDefLineDash *dxf_hatch_pattern_def_line_get_dashes (DxfHatchPatternDefLine *line); 00700 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_dashes (DxfHatchPatternDefLine *line, DxfHatchPatternDefLineDash *dashes); 00701 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_get_next (DxfHatchPatternDefLine *line); 00702 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_set_next (DxfHatchPatternDefLine *line, DxfHatchPatternDefLine *next); 00703 DxfHatchPatternDefLine *dxf_hatch_pattern_def_line_get_last (DxfHatchPatternDefLine *line); 00704 /* dxf_hatch_pattern_seedpoint functions. */ 00705 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_new (); 00706 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_init (DxfHatchPatternSeedPoint *seedpoint); 00707 int dxf_hatch_pattern_seedpoint_write (DxfFile *fp, DxfHatchPatternSeedPoint *seedpoint); 00708 int dxf_hatch_pattern_seedpoint_free (DxfHatchPatternSeedPoint *seedpoint); 00709 void dxf_hatch_pattern_seedpoint_free_chain (DxfHatchPatternSeedPoint *hatch_pattern_seed_points); 00710 int dxf_hatch_pattern_seedpoint_get_id_code (DxfHatchPatternSeedPoint *point); 00711 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_set_id_code (DxfHatchPatternSeedPoint *point, int id_code); 00712 double dxf_hatch_pattern_seedpoint_get_x0 (DxfHatchPatternSeedPoint *point); 00713 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_set_x0 (DxfHatchPatternSeedPoint *point, double x0); 00714 double dxf_hatch_pattern_seedpoint_get_y0 (DxfHatchPatternSeedPoint *point); 00715 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_set_y0 (DxfHatchPatternSeedPoint *point, double y0); 00716 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_get_next (DxfHatchPatternSeedPoint *point); 00717 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_set_next (DxfHatchPatternSeedPoint *point, DxfHatchPatternSeedPoint *next); 00718 DxfHatchPatternSeedPoint *dxf_hatch_pattern_seedpoint_get_last (DxfHatchPatternSeedPoint *point); 00719 /* dxf_hatch_boundary_path functions. */ 00720 DxfHatchBoundaryPath *dxf_hatch_boundary_path_new (); 00721 DxfHatchBoundaryPath *dxf_hatch_boundary_path_init (DxfHatchBoundaryPath *path); 00722 int dxf_hatch_boundary_path_write (DxfFile *fp, DxfHatchBoundaryPath *path); 00723 int dxf_hatch_boundary_path_free (DxfHatchBoundaryPath *path); 00724 void dxf_hatch_boundary_path_free_chain (DxfHatchBoundaryPath *hatch_boundary_paths); 00725 int dxf_hatch_boundary_path_get_id_code (DxfHatchBoundaryPath *path); 00726 DxfHatchBoundaryPath *dxf_hatch_boundary_path_set_id_code (DxfHatchBoundaryPath *path, int id_code); 00727 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_get_edges (DxfHatchBoundaryPath *path); 00728 DxfHatchBoundaryPath *dxf_hatch_boundary_path_set_edges (DxfHatchBoundaryPath *path, DxfHatchBoundaryPathEdge *edges); 00729 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_get_polylines (DxfHatchBoundaryPath *path); 00730 DxfHatchBoundaryPath *dxf_hatch_boundary_path_set_polylines (DxfHatchBoundaryPath *path, DxfHatchBoundaryPathPolyline *polylines); 00731 DxfHatchBoundaryPath *dxf_hatch_boundary_path_get_next (DxfHatchBoundaryPath *path); 00732 DxfHatchBoundaryPath *dxf_hatch_boundary_path_set_next (DxfHatchBoundaryPath *path, DxfHatchBoundaryPath *next); 00733 DxfHatchBoundaryPath *dxf_hatch_boundary_path_get_last (DxfHatchBoundaryPath *path); 00734 /* dxf_hatch_boundary_path_polyline functions. */ 00735 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_new (); 00736 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_init (DxfHatchBoundaryPathPolyline *polyline); 00737 int dxf_hatch_boundary_path_polyline_write (DxfFile *fp, DxfHatchBoundaryPathPolyline *polyline); 00738 int dxf_hatch_boundary_path_polyline_free (DxfHatchBoundaryPathPolyline *polyline); 00739 void dxf_hatch_boundary_path_polyline_free_chain (DxfHatchBoundaryPathPolyline *polylines); 00740 int dxf_hatch_boundary_path_polyline_get_id_code (DxfHatchBoundaryPathPolyline *polyline); 00741 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_set_id_code (DxfHatchBoundaryPathPolyline *polyline, int id_code); 00742 int dxf_hatch_boundary_path_polyline_get_is_closed (DxfHatchBoundaryPathPolyline *polyline); 00743 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_set_is_closed (DxfHatchBoundaryPathPolyline *polyline, int is_closed); 00744 int dxf_hatch_boundary_path_polyline_get_number_of_vertices (DxfHatchBoundaryPathPolyline *polyline); 00745 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_set_number_of_vertices (DxfHatchBoundaryPathPolyline *polyline, int number_of_vertices); 00746 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_get_vertices (DxfHatchBoundaryPathPolyline *polyline); 00747 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_set_vertices (DxfHatchBoundaryPathPolyline *polyline, DxfHatchBoundaryPathPolylineVertex *vertices); 00748 int dxf_hatch_boundary_path_polyline_close_polyline (DxfHatchBoundaryPathPolyline *polyline); 00749 int dxf_hatch_boundary_path_polyline_point_inside_polyline (DxfHatchBoundaryPathPolyline *polyline, DxfPoint *point); 00750 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_get_next (DxfHatchBoundaryPathPolyline *polyline); 00751 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_set_next (DxfHatchBoundaryPathPolyline *polyline, DxfHatchBoundaryPathPolyline *next); 00752 DxfHatchBoundaryPathPolyline *dxf_hatch_boundary_path_polyline_get_last (DxfHatchBoundaryPathPolyline *polyline); 00753 /* dxf_hatch_boundary_pathPolyline_vertex functions. */ 00754 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_new (); 00755 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_init (DxfHatchBoundaryPathPolylineVertex *vertex); 00756 int dxf_hatch_boundary_path_polyline_vertex_write (DxfFile *fp, DxfHatchBoundaryPathPolylineVertex *vertex); 00757 int dxf_hatch_boundary_path_polyline_vertex_free (DxfHatchBoundaryPathPolylineVertex *vertex); 00758 void dxf_hatch_boundary_path_polyline_vertex_free_chain (DxfHatchBoundaryPathPolylineVertex *hatch_boundary_path_polyline_vertices); 00759 int dxf_hatch_boundary_path_polyline_vertex_get_id_code (DxfHatchBoundaryPathPolylineVertex *vertex); 00760 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_id_code (DxfHatchBoundaryPathPolylineVertex *vertex, int id_code); 00761 double dxf_hatch_boundary_path_polyline_vertex_get_x0 (DxfHatchBoundaryPathPolylineVertex *vertex); 00762 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_x0 (DxfHatchBoundaryPathPolylineVertex *vertex, double x0); 00763 double dxf_hatch_boundary_path_polyline_vertex_get_y0 (DxfHatchBoundaryPathPolylineVertex *vertex); 00764 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_y0 (DxfHatchBoundaryPathPolylineVertex *vertex, double y0); 00765 double dxf_hatch_boundary_path_polyline_vertex_get_bulge (DxfHatchBoundaryPathPolylineVertex *vertex); 00766 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_bulge (DxfHatchBoundaryPathPolylineVertex *vertex, double bulge); 00767 int dxf_hatch_boundary_path_polyline_vertex_get_has_bulge (DxfHatchBoundaryPathPolylineVertex *vertex); 00768 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_has_bulge (DxfHatchBoundaryPathPolylineVertex *vertex, int has_bulge); 00769 double dxf_hatch_boundary_path_polyline_vertex_angle (DxfHatchBoundaryPathPolylineVertex *vertex_0, DxfHatchBoundaryPathPolylineVertex *vertex_1); 00770 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_get_next (DxfHatchBoundaryPathPolylineVertex *vertex); 00771 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_set_next (DxfHatchBoundaryPathPolylineVertex *vertex, DxfHatchBoundaryPathPolylineVertex *next); 00772 DxfHatchBoundaryPathPolylineVertex *dxf_hatch_boundary_path_polyline_vertex_get_last (DxfHatchBoundaryPathPolylineVertex *vertex); 00773 /* dxf_hatch_boundary_path_edge functions. */ 00774 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_new (); 00775 DxfHatchBoundaryPathEdge * dxf_hatch_boundary_path_edge_init (DxfHatchBoundaryPathEdge *edge); 00776 int dxf_hatch_boundary_path_edge_free (DxfHatchBoundaryPathEdge *edge); 00777 void dxf_hatch_boundary_path_edge_free_chain (DxfHatchBoundaryPathEdge *edges); 00778 int dxf_hatch_boundary_path_edge_get_id_code (DxfHatchBoundaryPathEdge *edge); 00779 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_id_code (DxfHatchBoundaryPathEdge *edge, int id_code); 00780 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_get_arcs (DxfHatchBoundaryPathEdge *edge); 00781 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_arcs (DxfHatchBoundaryPathEdge *edge, DxfHatchBoundaryPathEdgeArc *arcs); 00782 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_get_ellipses (DxfHatchBoundaryPathEdge *edge); 00783 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_ellipses (DxfHatchBoundaryPathEdge *edge, DxfHatchBoundaryPathEdgeEllipse *ellipses); 00784 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_get_lines (DxfHatchBoundaryPathEdge *edge); 00785 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_lines (DxfHatchBoundaryPathEdge *edge, DxfHatchBoundaryPathEdgeLine *lines); 00786 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_get_splines (DxfHatchBoundaryPathEdge *edge); 00787 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_splines (DxfHatchBoundaryPathEdge *edge, DxfHatchBoundaryPathEdgeSpline *splines); 00788 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_get_next (DxfHatchBoundaryPathEdge *edge); 00789 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_set_next (DxfHatchBoundaryPathEdge *edge, DxfHatchBoundaryPathEdge *next); 00790 DxfHatchBoundaryPathEdge *dxf_hatch_boundary_path_edge_get_last (DxfHatchBoundaryPathEdge *edge); 00791 /* dxf_hatch_boundary_path_edge_arc functions. */ 00792 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_new (); 00793 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_init (DxfHatchBoundaryPathEdgeArc *arc); 00794 int dxf_hatch_boundary_path_edge_arc_free (DxfHatchBoundaryPathEdgeArc *arc); 00795 void dxf_hatch_boundary_path_edge_arc_free_chain (DxfHatchBoundaryPathEdgeArc *hatch_boundary_path_edge_arcs); 00796 int dxf_hatch_boundary_path_edge_arc_get_id_code (DxfHatchBoundaryPathEdgeArc *arc); 00797 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_id_code (DxfHatchBoundaryPathEdgeArc *arc, int id_code); 00798 double dxf_hatch_boundary_path_edge_arc_get_x0 (DxfHatchBoundaryPathEdgeArc *arc); 00799 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_x0 (DxfHatchBoundaryPathEdgeArc *arc, double x0); 00800 double dxf_hatch_boundary_path_edge_arc_get_y0 (DxfHatchBoundaryPathEdgeArc *arc); 00801 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_y0 (DxfHatchBoundaryPathEdgeArc *arc, double y0); 00802 DxfPoint *dxf_hatch_boundary_path_edge_arc_get_center_point (DxfHatchBoundaryPathEdgeArc *arc, int id_code); 00803 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_center_point (DxfHatchBoundaryPathEdgeArc *arc, DxfPoint *point); 00804 double dxf_hatch_boundary_path_edge_arc_get_radius (DxfHatchBoundaryPathEdgeArc *arc); 00805 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_radius (DxfHatchBoundaryPathEdgeArc *arc, double radius); 00806 double dxf_hatch_boundary_path_edge_arc_get_start_angle (DxfHatchBoundaryPathEdgeArc *arc); 00807 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_start_angle (DxfHatchBoundaryPathEdgeArc *arc, double start_angle); 00808 double dxf_hatch_boundary_path_edge_arc_get_end_angle (DxfHatchBoundaryPathEdgeArc *arc); 00809 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_end_angle (DxfHatchBoundaryPathEdgeArc *arc, double end_angle); 00810 int dxf_hatch_boundary_path_edge_arc_get_is_ccw (DxfHatchBoundaryPathEdgeArc *arc); 00811 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_is_ccw (DxfHatchBoundaryPathEdgeArc *arc, int is_ccw); 00812 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_get_next (DxfHatchBoundaryPathEdgeArc *arc); 00813 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_set_next (DxfHatchBoundaryPathEdgeArc *arc, DxfHatchBoundaryPathEdgeArc *next); 00814 DxfHatchBoundaryPathEdgeArc *dxf_hatch_boundary_path_edge_arc_get_last (DxfHatchBoundaryPathEdgeArc *arc); 00815 /* dxf_hatch_boundary_path_edge_ellipse functions. */ 00816 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_new (); 00817 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_init (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00818 int dxf_hatch_boundary_path_edge_ellipse_free (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00819 void dxf_hatch_boundary_path_edge_ellipse_free_chain (DxfHatchBoundaryPathEdgeEllipse *hatch_boundary_path_edge_ellipses); 00820 int dxf_hatch_boundary_path_edge_ellipse_get_id_code (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00821 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_id_code (DxfHatchBoundaryPathEdgeEllipse *ellipse, int id_code); 00822 double dxf_hatch_boundary_path_edge_ellipse_get_x0 (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00823 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_x0 (DxfHatchBoundaryPathEdgeEllipse *ellipse, double x0); 00824 double dxf_hatch_boundary_path_edge_ellipse_get_y0 (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00825 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_y0 (DxfHatchBoundaryPathEdgeEllipse *ellipse, double y0); 00826 DxfPoint *dxf_hatch_boundary_path_edge_ellipse_get_center_point (DxfHatchBoundaryPathEdgeEllipse *ellipse, int id_code); 00827 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_center_point (DxfHatchBoundaryPathEdgeEllipse *ellipse, DxfPoint *point); 00828 double dxf_hatch_boundary_path_edge_ellipse_get_x1 (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00829 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_x1 (DxfHatchBoundaryPathEdgeEllipse *ellipse, double x1); 00830 double dxf_hatch_boundary_path_edge_ellipse_get_y1 (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00831 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_y1 (DxfHatchBoundaryPathEdgeEllipse *ellipse, double y1); 00832 DxfPoint *dxf_hatch_boundary_path_edge_ellipse_get_end_point (DxfHatchBoundaryPathEdgeEllipse *ellipse, int id_code); 00833 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_end_point (DxfHatchBoundaryPathEdgeEllipse *ellipse, DxfPoint *point); 00834 double dxf_hatch_boundary_path_edge_ellipse_get_ratio (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00835 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_ratio (DxfHatchBoundaryPathEdgeEllipse *ellipse, double ratio); 00836 double dxf_hatch_boundary_path_edge_ellipse_get_start_angle (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00837 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_start_angle (DxfHatchBoundaryPathEdgeEllipse *ellipse, double start_angle); 00838 double dxf_hatch_boundary_path_edge_ellipse_get_end_angle (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00839 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_end_angle (DxfHatchBoundaryPathEdgeEllipse *ellipse, double end_angle); 00840 int dxf_hatch_boundary_path_edge_ellipse_get_is_ccw (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00841 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_is_ccw (DxfHatchBoundaryPathEdgeEllipse *ellipse, int is_ccw); 00842 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_get_next (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00843 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_set_next (DxfHatchBoundaryPathEdgeEllipse *ellipse, DxfHatchBoundaryPathEdgeEllipse *next); 00844 DxfHatchBoundaryPathEdgeEllipse *dxf_hatch_boundary_path_edge_ellipse_get_last (DxfHatchBoundaryPathEdgeEllipse *ellipse); 00845 /* dxf_hatch_boundary_path_edge_line functions. */ 00846 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_new (); 00847 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_init (DxfHatchBoundaryPathEdgeLine *line); 00848 int dxf_hatch_boundary_path_edge_line_free (DxfHatchBoundaryPathEdgeLine *line); 00849 void dxf_hatch_boundary_path_edge_line_free_chain (DxfHatchBoundaryPathEdgeLine *hatch_boundary_path_edge_lines); 00850 int dxf_hatch_boundary_path_edge_line_get_id_code (DxfHatchBoundaryPathEdgeLine *line); 00851 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_id_code (DxfHatchBoundaryPathEdgeLine *line, int id_code); 00852 double dxf_hatch_boundary_path_edge_line_get_x0 (DxfHatchBoundaryPathEdgeLine *line); 00853 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_x0 (DxfHatchBoundaryPathEdgeLine *line, double x0); 00854 double dxf_hatch_boundary_path_edge_line_get_y0 (DxfHatchBoundaryPathEdgeLine *line); 00855 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_y0 (DxfHatchBoundaryPathEdgeLine *line, double y0); 00856 DxfPoint *dxf_hatch_boundary_path_edge_line_get_start_point (DxfHatchBoundaryPathEdgeLine *line, int id_code); 00857 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_start_point (DxfHatchBoundaryPathEdgeLine *line, DxfPoint *point); 00858 double dxf_hatch_boundary_path_edge_line_get_x1 (DxfHatchBoundaryPathEdgeLine *line); 00859 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_x1 (DxfHatchBoundaryPathEdgeLine *line, double x1); 00860 double dxf_hatch_boundary_path_edge_line_get_y1 (DxfHatchBoundaryPathEdgeLine *line); 00861 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_y1 (DxfHatchBoundaryPathEdgeLine *line, double y1); 00862 DxfPoint *dxf_hatch_boundary_path_edge_line_get_end_point (DxfHatchBoundaryPathEdgeLine *line, int id_code); 00863 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_end_point (DxfHatchBoundaryPathEdgeLine *line, DxfPoint *point); 00864 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_get_next (DxfHatchBoundaryPathEdgeLine *line); 00865 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_set_next (DxfHatchBoundaryPathEdgeLine *line, DxfHatchBoundaryPathEdgeLine *next); 00866 DxfHatchBoundaryPathEdgeLine *dxf_hatch_boundary_path_edge_line_get_last (DxfHatchBoundaryPathEdgeLine *line); 00867 /* dxf_hatch_boundary_path_edge_spline functions. */ 00868 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_new (); 00869 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_init (DxfHatchBoundaryPathEdgeSpline *spline); 00870 int dxf_hatch_boundary_path_edge_spline_free (DxfHatchBoundaryPathEdgeSpline *spline); 00871 void dxf_hatch_boundary_path_edge_spline_free_chain (DxfHatchBoundaryPathEdgeSpline *hatch_boundary_path_edge_splines); 00872 int dxf_hatch_boundary_path_edge_spline_get_id_code (DxfHatchBoundaryPathEdgeSpline *spline); 00873 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_id_code (DxfHatchBoundaryPathEdgeSpline *spline, int id_code); 00874 int dxf_hatch_boundary_path_edge_spline_get_degree (DxfHatchBoundaryPathEdgeSpline *spline); 00875 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_degree (DxfHatchBoundaryPathEdgeSpline *spline, int degree); 00876 int dxf_hatch_boundary_path_edge_spline_get_rational (DxfHatchBoundaryPathEdgeSpline *spline); 00877 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_rational (DxfHatchBoundaryPathEdgeSpline *spline, int rational); 00878 int dxf_hatch_boundary_path_edge_spline_get_periodic (DxfHatchBoundaryPathEdgeSpline *spline); 00879 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_periodic (DxfHatchBoundaryPathEdgeSpline *spline, int periodic); 00880 int dxf_hatch_boundary_path_edge_spline_get_number_of_knots (DxfHatchBoundaryPathEdgeSpline *spline); 00881 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_number_of_knots (DxfHatchBoundaryPathEdgeSpline *spline, int number_of_knots); 00882 int dxf_hatch_boundary_path_edge_spline_get_knots (DxfHatchBoundaryPathEdgeSpline *spline, double knots[DXF_MAX_HATCH_BOUNDARY_PATH_EDGE_SPLINE_KNOTS]); 00883 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_knots (DxfHatchBoundaryPathEdgeSpline *spline, double knots[DXF_MAX_HATCH_BOUNDARY_PATH_EDGE_SPLINE_KNOTS]); 00884 int dxf_hatch_boundary_path_edge_spline_get_number_of_control_points (DxfHatchBoundaryPathEdgeSpline *spline); 00885 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_number_of_control_points (DxfHatchBoundaryPathEdgeSpline *spline, int number_of_control_points); 00886 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_get_control_points (DxfHatchBoundaryPathEdgeSpline *spline); 00887 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_control_points (DxfHatchBoundaryPathEdgeSpline *spline, DxfHatchBoundaryPathEdgeSplineCp *control_points); 00888 int dxf_hatch_boundary_path_edge_spline_append_control_point (DxfHatchBoundaryPathEdgeSpline *spline, DxfHatchBoundaryPathEdgeSplineCp *control_point); 00889 int dxf_hatch_boundary_path_edge_spline_prepend_control_point (DxfHatchBoundaryPathEdgeSpline *spline, DxfHatchBoundaryPathEdgeSplineCp *control_point); 00890 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_get_control_point (DxfHatchBoundaryPathEdgeSpline *spline, int position); 00891 int dxf_hatch_boundary_path_edge_spline_set_control_point (DxfHatchBoundaryPathEdgeSpline *spline, int position, DxfHatchBoundaryPathEdgeSplineCp *control_point); 00892 int dxf_hatch_boundary_path_edge_spline_insert_control_point (DxfHatchBoundaryPathEdgeSpline *spline, int position, DxfHatchBoundaryPathEdgeSplineCp *control_point); 00893 int dxf_hatch_boundary_path_edge_spline_remove_control_point (DxfHatchBoundaryPathEdgeSpline *spline, int position); 00894 DxfHatchBoundaryPathEdgeSplineCp * dxf_hatch_boundary_path_edge_spline_copy_control_points (DxfHatchBoundaryPathEdgeSpline *spline); 00895 int dxf_hatch_boundary_path_edge_spline_append_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, double knot_value); 00896 int dxf_hatch_boundary_path_edge_spline_prepend_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, double knot_value); 00897 double dxf_hatch_boundary_path_edge_spline_get_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, int position); 00898 int dxf_hatch_boundary_path_edge_spline_set_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, int position, double knot_value); 00899 int dxf_hatch_boundary_path_edge_spline_insert_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, int position, double knot_value); 00900 int dxf_hatch_boundary_path_edge_spline_remove_knot_value (DxfHatchBoundaryPathEdgeSpline *spline, int position); 00901 int dxf_hatch_boundary_path_edge_spline_copy_knot_values (DxfHatchBoundaryPathEdgeSpline *spline, double *knot_values[DXF_MAX_HATCH_BOUNDARY_PATH_EDGE_SPLINE_KNOTS]); 00902 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_get_next (DxfHatchBoundaryPathEdgeSpline *spline); 00903 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_set_next (DxfHatchBoundaryPathEdgeSpline *spline, DxfHatchBoundaryPathEdgeSpline *next); 00904 DxfHatchBoundaryPathEdgeSpline *dxf_hatch_boundary_path_edge_spline_get_last (DxfHatchBoundaryPathEdgeSpline *spline); 00905 /* dxf_hatch_boundary_path_edge_spline_control_point functions. */ 00906 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_control_point_new (); 00907 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_control_point_init (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00908 int dxf_hatch_boundary_path_edge_spline_control_point_free (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00909 void dxf_hatch_boundary_path_edge_spline_control_point_free_chain (DxfHatchBoundaryPathEdgeSplineCp *hatch_boundary_path_edge_spline_control_points); 00910 int dxf_hatch_boundary_path_edge_spline_cp_get_id_code (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00911 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_id_code (DxfHatchBoundaryPathEdgeSplineCp *control_point, int id_code); 00912 double dxf_hatch_boundary_path_edge_spline_cp_get_x0 (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00913 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_x0 (DxfHatchBoundaryPathEdgeSplineCp *control_point, double x0); 00914 double dxf_hatch_boundary_path_edge_spline_cp_get_y0 (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00915 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_y0 (DxfHatchBoundaryPathEdgeSplineCp *control_point, double y0); 00916 DxfPoint *dxf_hatch_boundary_path_edge_spline_cp_get_point (DxfHatchBoundaryPathEdgeSplineCp *control_point, int id_code); 00917 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_point (DxfHatchBoundaryPathEdgeSplineCp *control_point, DxfPoint *point); 00918 double dxf_hatch_boundary_path_edge_spline_cp_get_weight (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00919 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_weight (DxfHatchBoundaryPathEdgeSplineCp *control_point, double weight); 00920 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_get_next (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00921 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_set_next (DxfHatchBoundaryPathEdgeSplineCp *control_point, DxfHatchBoundaryPathEdgeSplineCp *next); 00922 DxfHatchBoundaryPathEdgeSplineCp *dxf_hatch_boundary_path_edge_spline_cp_get_last (DxfHatchBoundaryPathEdgeSplineCp *control_point); 00923 00924 00925 #ifdef __cplusplus 00926 } 00927 #endif 00928 00929 00930 #endif /* LIBDXF_SRC_HATCH_H */ 00931 00932 00933 /* EOF */