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

hatch.h

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