33 double x1,
double y1,
double x2,
double y2,
34 double start,
double step)
37 int line, type, temp_line;
47 int nlines_a, nlines_b;
76 for (i = 0; i < List->
n_values; i++) {
77 line = List->
value[i];
90 &Points_a, &Points_b, &nlines_a, &nlines_b,
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;
112 for (cv_i = 0; cv_i < cv.
n_values; cv_i++) {
116 for (p_i = 0; p_i < Points->
n_points; p_i++) {
117 Points->
z[p_i] = value;
137 return nlines_modified;
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)
int n_points
Number of points.
int n_values
Number of values in the list.
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 db_CatValArray_alloc(dbCatValArray *, int)
Allocate dbCatValArray.
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.
int db_CatValArray_sort_by_value(dbCatValArray *)
Sort key/value array by value.
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)
Intersect 2 lines.
Feature geometry info - coordinates.
struct line_pnts * Vect_new_line_struct(void)
Creates and initializes a line_pnts structure.
void Vect_destroy_cats_struct(struct line_cats *)
Frees all memory associated with line_cats structure, including the struct itself.
off_t Vect_write_line(struct Map_info *, int, const struct line_pnts *, const struct line_cats *)
Writes a new feature.
int Vect_append_point(struct line_pnts *, double, double, double)
Appends one point to the end of a line.
#define WITHOUT_Z
2D/3D vector data
#define PORT_DOUBLE_MAX
Limits for portable types.
int Vect_delete_line(struct Map_info *, off_t)
Delete existing feature (topological level required)
struct line_cats * Vect_new_cats_struct(void)
Creates and initializes line_cats structure.
void db_CatValArray_free(dbCatValArray *)
Free allocated dbCatValArray.
int Vect_line_alive(const struct Map_info *, int)
Check if feature is alive or dead (topological level required)
double * z
Array of Z coordinates.
int * value
Array of values.
void Vect_destroy_line_struct(struct line_pnts *)
Frees all memory associated with a line_pnts structure, including the structure itself.
int Vect_read_line(const 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.