33 double y1,
double x2,
double y2,
double start,
37 int line, type, temp_line;
47 int nlines_a, nlines_b;
77 for (i = 0; i < List->
n_values; i++) {
78 line = List->
value[i];
91 &Points_b, &nlines_a, &nlines_b,
WITHOUT_Z);
93 if (nlines_a < 2 || nlines_b < 1)
97 for (p_i = 0; p_i < Points_a[0]->
n_points; p_i++) {
98 Points_a[0]->
z[p_i] = 0;
113 for (cv_i = 0; cv_i < cv.
n_values; cv_i++) {
117 for (p_i = 0; p_i < Points->
n_points; p_i++) {
118 Points->
z[p_i] = value;
122 nlines_modified = -1;
131 nlines_modified = -1;
140 return nlines_modified;
void db_CatValArray_free(dbCatValArray *)
Free allocated dbCatValArray.
int db_CatValArray_sort_by_value(dbCatValArray *)
Sort key/value array by value.
int db_CatValArray_alloc(dbCatValArray *, int)
Allocate dbCatValArray.
void Vect_destroy_line_struct(struct line_pnts *)
Frees all memory associated with a line_pnts structure, including the structure itself.
off_t Vect_rewrite_line(struct Map_info *, off_t, int, const struct line_pnts *, const struct line_cats *)
Rewrites existing feature (topological level required)
double Vect_line_length(const struct line_pnts *)
Calculate line length, 3D-length in case of 3D vector line.
void Vect_line_box(const struct line_pnts *, struct bound_box *)
Get bounding box of line.
int Vect_line_intersection(struct line_pnts *, struct line_pnts *, struct bound_box *, struct bound_box *, struct line_pnts ***, struct line_pnts ***, int *, int *, int)
void Vect_destroy_cats_struct(struct line_cats *)
Frees all memory associated with line_cats structure, including the struct itself.
int Vect_read_line(struct Map_info *, struct line_pnts *, struct line_cats *, int)
Read vector feature (topological level required)
int Vect_line_check_intersection(struct line_pnts *, struct line_pnts *, int)
Check if 2 lines intersect.
int Vect_line_alive(struct Map_info *, int)
Check if feature is alive or dead (topological level required)
int Vect_delete_line(struct Map_info *, off_t)
Delete existing feature (topological level required)
off_t Vect_write_line(struct Map_info *, int, const struct line_pnts *, const struct line_cats *)
Writes a new feature.
struct line_pnts * Vect_new_line_struct(void)
Creates and initializes a line_pnts structure.
struct line_cats * Vect_new_cats_struct(void)
Creates and initializes line_cats structure.
int Vect_append_point(struct line_pnts *, double, double, double)
Appends one point to the end of a line.
#define PORT_DOUBLE_MAX
Limits for portable types.
#define WITHOUT_Z
2D/3D vector data
int n_values
Number of values in the list.
int * value
Array of values.
Feature geometry info - coordinates.
int n_points
Number of points.
double * z
Array of Z coordinates.
int Vedit_bulk_labeling(struct Map_info *Map, struct ilist *List, double x1, double y1, double x2, double y2, double start, double step)
Lines z-bulk labeling.