From 739088af9faac764e8d7a0a811cda5057b1cbc6b Mon Sep 17 00:00:00 2001 From: SaraP Date: Wed, 29 Jan 2025 16:24:30 +0100 Subject: [PATCH] Vroni 7.8 : - aggiornamento versione. --- api_functions.cc | 2 +- approx.cc | 2 +- arc_arc_arc.cc | 143 +++++++++++++++++++++++++-------------- arc_arc_pnt.cc | 41 ++++++++--- arc_arc_seg.cc | 2 +- arc_common.cc | 2 +- arc_pnt_pnt.cc | 2 +- arc_seg_pnt.cc | 2 +- arc_seg_seg.cc | 2 +- arg_eval.cc | 2 +- clean_data.cc | 2 +- compute.cc | 2 +- data.cc | 4 +- data_off.cc | 2 +- desperate.cc | 2 +- driver.cc | 2 +- elapsed.cc | 2 +- ext_appl_defs.cc | 2 +- ext_appl_vroni_object.cc | 2 +- geom.cc | 15 +--- grid.cc | 2 +- heap.cc | 2 +- intersections.cc | 2 +- io_basic.cc | 2 +- io_debug.cc | 2 +- io_dxf.cc | 2 +- io_help.cc | 2 +- io_misc.cc | 2 +- io_other.cc | 2 +- io_parse.cc | 2 +- io_vddt.cc | 2 +- ipe_io.cc | 2 +- memory.cc | 2 +- mic.cc | 2 +- misc.cc | 2 +- numerics.cc | 2 +- offset.cc | 2 +- pnt_pnt_pnt.cc | 2 +- prepro.cc | 2 +- redraw.cc | 2 +- seg_pnt_pnt.cc | 2 +- seg_seg_pnt.cc | 2 +- seg_seg_seg.cc | 2 +- tree.cc | 2 +- vd_arc.cc | 2 +- vd_basic.cc | 2 +- vd_data.cc | 2 +- vd_pnt.cc | 2 +- vd_seg.cc | 2 +- vddata.cc | 2 +- vroni_object.cc | 10 ++- wmat.cc | 2 +- 52 files changed, 181 insertions(+), 126 deletions(-) diff --git a/api_functions.cc b/api_functions.cc index 1be99b9..4f815bb 100644 --- a/api_functions.cc +++ b/api_functions.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) Martin Held 1999-2023 */ +/* Copyright (C) Martin Held 1999-2025 */ /* */ /* */ /* C O P Y R I G H T */ diff --git a/approx.cc b/approx.cc index e2e1304..7b1107d 100644 --- a/approx.cc +++ b/approx.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arc_arc_arc.cc b/arc_arc_arc.cc index 37ba06b..ee849ca 100644 --- a/arc_arc_arc.cc +++ b/arc_arc_arc.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ @@ -41,6 +41,20 @@ #include "vddata.h" +vr_bool vroniObject::CouldBeFine(double eps, coord c1, double rr1, coord c3, double rr3) +{ + double dist; + + dist = PntPntDist(c1, c3); + + if (dist > rr3) dist -= rr3; + else dist = rr3 - dist; + + dist -= rr1; + + return (eq(dist, eps)); +} + /* */ /* Calculate the Voronoi center of three arcs */ @@ -54,7 +68,9 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, double rr1, rr2, rr3, rad; coord centers[VRONI_MAXSOL]; double radii[VRONI_MAXSOL]; - int num_sol=0; + coord special_centers[2]; + double special_radii[2]; + int num_sol = 0, special_sol = 0; coord tmp; int tmpi; double tmpr; @@ -68,27 +84,7 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, coord ep, v; #ifdef TRACE - if ((i == 0) && (j == 1) && (k == 23)) { - printf("arc %d-arc %d-arc %d\n", i, j, k); - printf("start1 : (%20.16f %20.16f)\n", GetArcStartCoord(i).x, - GetArcStartCoord(i).y); - printf("end1 : (%20.16f %20.16f)\n", GetArcEndCoord(i).x, - GetArcEndCoord(i).y); - printf("center1: (%20.16f %20.16f)\n", GetArcCenter(i).x, - GetArcCenter(i).y); - printf("start2 : (%20.16f %20.16f)\n", GetArcStartCoord(j).x, - GetArcStartCoord(j).y); - printf("end2 : (%20.16f %20.16f)\n", GetArcEndCoord(j).x, - GetArcEndCoord(j).y); - printf("center2: (%20.16f %20.16f)\n", GetArcCenter(j).x, - GetArcCenter(j).y); - printf("start3 : (%20.16f %20.16f)\n", GetArcStartCoord(k).x, - GetArcStartCoord(k).y); - printf("end3 : (%20.16f %20.16f)\n", GetArcEndCoord(k).x, - GetArcEndCoord(k).y); - printf("center3: (%20.16f %20.16f)\n", GetArcCenter(k).x, - GetArcCenter(k).y); - } + printf("ArcArcArcCntr: %d - %d - %d; bisector edge %d\n", i, j, k, e); #endif i_in = i; @@ -103,6 +99,30 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, /* */ SortThreeNumbers(i,j,k,t); +#ifdef TRACE + if ((i == 0) && (j == 1) && (k == 3)) { + printf("arc %d-arc %d-arc %d\n", i, j, k); + printf("start%d : (%20.16f %20.16f)\n", i, GetArcStartCoord(i).x, + GetArcStartCoord(i).y); + printf("end%d : (%20.16f %20.16f)\n", i, GetArcEndCoord(i).x, + GetArcEndCoord(i).y); + printf("center%d: (%20.16f %20.16f)\n", i, GetArcCenter(i).x, + GetArcCenter(i).y); + printf("start%d : (%20.16f %20.16f)\n", j, GetArcStartCoord(j).x, + GetArcStartCoord(j).y); + printf("end%d : (%20.16f %20.16f)\n", j, GetArcEndCoord(j).x, + GetArcEndCoord(j).y); + printf("center%d: (%20.16f %20.16f)\n", j, GetArcCenter(j).x, + GetArcCenter(j).y); + printf("start%d : (%20.16f %20.16f)\n", k, GetArcStartCoord(k).x, + GetArcStartCoord(k).y); + printf("end%d : (%20.16f %20.16f)\n", k, GetArcEndCoord(k).x, + GetArcEndCoord(k).y); + printf("center%d: (%20.16f %20.16f)\n", k, GetArcCenter(k).x, + GetArcCenter(k).y); + } +#endif + /* */ /* Check whether the three cites are all in lists */ /* */ @@ -190,12 +210,13 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, eps = ZERO; while (eps <= ZERO_MAX) { - no_check = false; - ij_joint = false; - jk_joint = false; - ik_joint = false; - is_special = false; - num_sol = 0; + no_check = false; + ij_joint = false; + jk_joint = false; + ik_joint = false; + is_special = false; + num_sol = 0; + special_sol = 0; /* */ /* check whether any pair of the arcs has (roughly) a common endpoint */ @@ -519,12 +540,16 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, eq(VecDet(c1,c2,epi), eps) || eq(VecDet(c1,c2,spj), eps) || eq(VecDet(c1,c2,epj), eps)) { - is_special = true; - centers[0] = c1; - centers[1] = c2; - radii[0] = rr1; - radii[1] = rr2; - num_sol = 2; + if (CouldBeFine(eps, c1, rr1, c3, rr3)) { + special_centers[special_sol] = c1; + special_radii[special_sol] = rr1; + ++special_sol; + } + if (CouldBeFine(eps, c2, rr2, c3, rr3)) { + special_centers[special_sol] = c2; + special_radii[special_sol] = rr2; + ++special_sol; + } } } if ((!jk_joint) && (Abs(rr2+rr3 - d_c2c3) <= eps)) { @@ -532,12 +557,16 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, eq(VecDet(c2,c3,epj), eps) || eq(VecDet(c2,c3,spk), eps) || eq(VecDet(c2,c3,epk), eps)) { - is_special = true; - centers[0] = c2; - centers[1] = c3; - radii[0] = rr2; - radii[1] = rr3; - num_sol = 2; + if (CouldBeFine(eps, c2, rr2, c1, rr1)) { + special_centers[special_sol] = c2; + special_radii[special_sol] = rr2; + ++special_sol; + } + if (CouldBeFine(eps, c3, rr3, c1, rr1)) { + special_radii[special_sol] = rr3; + special_centers[special_sol] = c3; + ++special_sol; + } } } if ((!ik_joint) && (Abs(rr1+rr3 - d_c1c3) <= eps)) { @@ -545,17 +574,19 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, eq(VecDet(c1,c3,epi), eps) || eq(VecDet(c1,c3,spk), eps) || eq(VecDet(c1,c3,epk), eps)) { - is_special = true; - centers[0] = c1; - centers[1] = c3; - radii[0] = rr1; - radii[1] = rr3; - num_sol = 2; + if (CouldBeFine(eps, c1, rr1, c2, rr2)) { + special_centers[special_sol] = c1; + special_radii[special_sol] = rr1; + ++special_sol; + } + if (CouldBeFine(eps, c3, rr3, c2, rr2)) { + special_radii[special_sol] = rr3; + special_centers[special_sol] = c3; + ++special_sol; + } } } - } - if (!is_special) { /* */ /* general case */ /* */ @@ -592,6 +623,20 @@ vr_bool vroniObject::ArcArcArcCntr(int i, int j, int k, int e, num_sol = CircCircCircCenters(c1, c2, c3, rr1, rr2, rr3, centers, radii, eps); + + if (special_sol == 2) { + centers[num_sol] = special_centers[1]; + radii[num_sol] = special_radii[1]; + --special_sol; + ++num_sol; + } + if (special_sol == 1) { + centers[num_sol] = special_centers[0]; + radii[num_sol] = special_radii[0]; + --special_sol; + ++num_sol; + } + #ifdef TRACE printf("in the general case! num_sol = %d\n", num_sol); printf("i_in = %d, j_in = %d, k_in = %d\n", i_in, j_in, k_in); diff --git a/arc_arc_pnt.cc b/arc_arc_pnt.cc index da6ceab..5fe25a4 100644 --- a/arc_arc_pnt.cc +++ b/arc_arc_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ @@ -54,12 +54,14 @@ vr_bool vroniObject::ArcArcPntCntr(int i, int j, int k, int e, coord centers[VRONI_MAXSOL]; double radii[VRONI_MAXSOL]; - int num_sol = 0, best_sol = NIL, old_num_sol = 0; + int num_sol = 0, best_sol = NIL, old_num_sol = 0, special_sol = 0; double eps = ZERO; coord spi, spj, epj, epi, ep, v; int i_in, j_in; vr_bool no_check, is_arc_endpoint, is_special; vr_bool spi_in_common, epi_in_common, counter_tangential; + coord special_centers[2]; + double special_radii[2]; i_in = i; j_in = j; @@ -151,9 +153,10 @@ vr_bool vroniObject::ArcArcPntCntr(int i, int j, int k, int e, epi = GetArcEndCoord(i); while (eps <= ZERO_MAX) { - no_check = false; - is_special = false; - num_sol = old_num_sol; + no_check = false; + is_special = false; + num_sol = old_num_sol; + special_sol = 0; #ifdef TRACE if ((e == 15) && (i_in == 5)) { @@ -269,12 +272,16 @@ vr_bool vroniObject::ArcArcPntCntr(int i, int j, int k, int e, /* */ if (eq(VecDet(c1,c2,spi), eps) || eq(VecDet(c1,c2,epi), eps) || eq(VecDet(c1,c2,spj), eps) || eq(VecDet(c1,c2,epj), eps)) { - is_special = true; - centers[0] = c1; - centers[1] = c2; - radii[0] = rr1; - radii[1] = rr2; - num_sol = 2; + if (CouldBeFine(eps, c1, rr1, c3, rr3)) { + special_centers[special_sol] = c1; + special_radii[special_sol] = rr1; + ++special_sol; + } + if (CouldBeFine(eps, c2, rr2, c3, rr3)) { + special_centers[special_sol] = c2; + special_radii[special_sol] = rr2; + ++special_sol; + } } } @@ -285,6 +292,18 @@ vr_bool vroniObject::ArcArcPntCntr(int i, int j, int k, int e, //printf("ordinary\n"); num_sol = CircCircCircCenters(c1, c2, c3, rr1, rr2, rr3, centers, radii, eps); + if (special_sol == 2) { + centers[num_sol] = special_centers[1]; + radii[num_sol] = special_radii[1]; + --special_sol; + ++num_sol; + } + if (special_sol == 1) { + centers[num_sol] = special_centers[0]; + radii[num_sol] = special_radii[0]; + --special_sol; + ++num_sol; + } } } diff --git a/arc_arc_seg.cc b/arc_arc_seg.cc index f3ac6ae..a7e56bd 100644 --- a/arc_arc_seg.cc +++ b/arc_arc_seg.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arc_common.cc b/arc_common.cc index 83647fc..8ddfd6c 100644 --- a/arc_common.cc +++ b/arc_common.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arc_pnt_pnt.cc b/arc_pnt_pnt.cc index 249be5a..73067b8 100644 --- a/arc_pnt_pnt.cc +++ b/arc_pnt_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arc_seg_pnt.cc b/arc_seg_pnt.cc index ad60c22..51c03c5 100644 --- a/arc_seg_pnt.cc +++ b/arc_seg_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arc_seg_seg.cc b/arc_seg_seg.cc index 7d9b0b8..792aeac 100644 --- a/arc_seg_seg.cc +++ b/arc_seg_seg.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2007-2023 S. Huber, M. Held */ +/* Copyright (C) 2007-2025 S. Huber, M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/arg_eval.cc b/arg_eval.cc index 3b82da7..5e9e5a7 100644 --- a/arg_eval.cc +++ b/arg_eval.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/clean_data.cc b/clean_data.cc index 9064219..83d6fa9 100644 --- a/clean_data.cc +++ b/clean_data.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/compute.cc b/compute.cc index 07b7754..57be23d 100644 --- a/compute.cc +++ b/compute.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) Martin Held 1999-2023 */ +/* Copyright (C) Martin Held 1999-2025 */ /* */ /* This code is provided at no charge to you for non-commercial purposes */ /* only and only for use internal to your institution. You may use this */ diff --git a/data.cc b/data.cc index 0b12adc..d7ea24f 100644 --- a/data.cc +++ b/data.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ @@ -1287,7 +1287,7 @@ int vroniObject::GetNextSite(void) int i, j; assert(m_cur_rnd_sites > 0); assert(m_cur_rnd_sites <= m_num_rnd_sites); - i = RandomInteger(m_cur_rnd_sites); + RandomInteger(m_cur_rnd_sites, i); assert((i >= 0) && (i < m_cur_rnd_sites)); j = m_rnd_sites[i]; --m_cur_rnd_sites; diff --git a/data_off.cc b/data_off.cc index 6d8ff37..c710bfa 100644 --- a/data_off.cc +++ b/data_off.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/desperate.cc b/desperate.cc index eddc58f..7495ff3 100644 --- a/desperate.cc +++ b/desperate.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/driver.cc b/driver.cc index 63891b5..5273746 100644 --- a/driver.cc +++ b/driver.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) Martin Held 1999-2023 */ +/* Copyright (C) Martin Held 1999-2025 */ /* */ /* */ /* C O P Y R I G H T */ diff --git a/elapsed.cc b/elapsed.cc index 6cd75dc..1afba96 100644 --- a/elapsed.cc +++ b/elapsed.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1993-2023 M. Held */ +/* Copyright (C) 1993-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/ext_appl_defs.cc b/ext_appl_defs.cc index 84dffd0..0d414ab 100644 --- a/ext_appl_defs.cc +++ b/ext_appl_defs.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/ext_appl_vroni_object.cc b/ext_appl_vroni_object.cc index b0ed4f9..f0acded 100644 --- a/ext_appl_vroni_object.cc +++ b/ext_appl_vroni_object.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/geom.cc b/geom.cc index 345d3b9..974eb8c 100644 --- a/geom.cc +++ b/geom.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2010-2023 M. Held, S. Huber */ +/* Copyright (C) 2010-2025 M. Held, S. Huber */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ @@ -31,7 +31,6 @@ /* */ #include "fpkernel.h" #include "vroni_object.h" -#include "random.h" /* */ @@ -45,17 +44,5 @@ coord vroniObject::CirclePnt(const coord & c, double_arg r, double_arg phi) return q; } -/* */ -/* Compute a point distributed uniformly random */ -/* */ -coord vroniObject::UniformRandomPoint() -{ - coord q; - UniformRandom(q.x); - UniformRandom(q.y); - return q; -} - - diff --git a/grid.cc b/grid.cc index 91eafb9..897efc3 100644 --- a/grid.cc +++ b/grid.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2003-2023 M. Held */ +/* Copyright (C) 2003-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/heap.cc b/heap.cc index 1894120..f6776a4 100644 --- a/heap.cc +++ b/heap.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2003--2023 M. Held */ +/* Copyright (C) 2003--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README" or in the */ diff --git a/intersections.cc b/intersections.cc index 56c997a..2a61a19 100644 --- a/intersections.cc +++ b/intersections.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_basic.cc b/io_basic.cc index 4399f08..bc94c3e 100644 --- a/io_basic.cc +++ b/io_basic.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_debug.cc b/io_debug.cc index a02d953..c56fac7 100644 --- a/io_debug.cc +++ b/io_debug.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_dxf.cc b/io_dxf.cc index d03edc1..d024171 100644 --- a/io_dxf.cc +++ b/io_dxf.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2003--2023 M. Held */ +/* Copyright (C) 2003--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_help.cc b/io_help.cc index c379aa0..6372267 100644 --- a/io_help.cc +++ b/io_help.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002-2023 M. Held */ +/* Copyright (C) 2002-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_misc.cc b/io_misc.cc index 0d1cc5a..49760ed 100644 --- a/io_misc.cc +++ b/io_misc.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002-2023 M. Held */ +/* Copyright (C) 2002-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.pdf" or in */ diff --git a/io_other.cc b/io_other.cc index 4d0a642..72d8faa 100644 --- a/io_other.cc +++ b/io_other.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002-2023 M. Held */ +/* Copyright (C) 2002-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/io_parse.cc b/io_parse.cc index 386e6bb..db1cec6 100644 --- a/io_parse.cc +++ b/io_parse.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.pdf" or in */ diff --git a/io_vddt.cc b/io_vddt.cc index b84ab85..6901f76 100644 --- a/io_vddt.cc +++ b/io_vddt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/ipe_io.cc b/ipe_io.cc index e04a699..780c014 100644 --- a/ipe_io.cc +++ b/ipe_io.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1996-2023 M. Held */ +/* Copyright (C) 1996-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.pdf" or in */ diff --git a/memory.cc b/memory.cc index b1a3f76..156e045 100644 --- a/memory.cc +++ b/memory.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1996-2023 M. Held */ +/* Copyright (C) 1996-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/mic.cc b/mic.cc index 7001593..b27f460 100644 --- a/mic.cc +++ b/mic.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/misc.cc b/misc.cc index 4729848..3e716ff 100644 --- a/misc.cc +++ b/misc.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/numerics.cc b/numerics.cc index 3fa58b9..bf4b1b1 100644 --- a/numerics.cc +++ b/numerics.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/offset.cc b/offset.cc index c7e5f1d..f417931 100644 --- a/offset.cc +++ b/offset.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2000-2023 M. Held */ +/* Copyright (C) 2000-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/pnt_pnt_pnt.cc b/pnt_pnt_pnt.cc index 6965210..c85db03 100644 --- a/pnt_pnt_pnt.cc +++ b/pnt_pnt_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/prepro.cc b/prepro.cc index 6df4992..4be7d7b 100644 --- a/prepro.cc +++ b/prepro.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2002--2023 M. Held */ +/* Copyright (C) 2002--2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/redraw.cc b/redraw.cc index 225e03f..d068960 100644 --- a/redraw.cc +++ b/redraw.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/seg_pnt_pnt.cc b/seg_pnt_pnt.cc index af83fa8..1ff1fdf 100644 --- a/seg_pnt_pnt.cc +++ b/seg_pnt_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/seg_seg_pnt.cc b/seg_seg_pnt.cc index bc46385..93cee38 100644 --- a/seg_seg_pnt.cc +++ b/seg_seg_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/seg_seg_seg.cc b/seg_seg_seg.cc index b9c7050..a17fe5a 100644 --- a/seg_seg_seg.cc +++ b/seg_seg_seg.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/tree.cc b/tree.cc index 3c69a66..2a568eb 100644 --- a/tree.cc +++ b/tree.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2003-2023 M. Held */ +/* Copyright (C) 2003-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vd_arc.cc b/vd_arc.cc index 0f9dc11..139f259 100644 --- a/vd_arc.cc +++ b/vd_arc.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vd_basic.cc b/vd_basic.cc index 37bf366..a9edb4a 100644 --- a/vd_basic.cc +++ b/vd_basic.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 1999-2023 M. Held */ +/* Copyright (C) 1999-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vd_data.cc b/vd_data.cc index c7aa877..994d37b 100644 --- a/vd_data.cc +++ b/vd_data.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vd_pnt.cc b/vd_pnt.cc index 635f234..6a20f87 100644 --- a/vd_pnt.cc +++ b/vd_pnt.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README" or in the */ diff --git a/vd_seg.cc b/vd_seg.cc index edd1a84..cd3f49a 100644 --- a/vd_seg.cc +++ b/vd_seg.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vddata.cc b/vddata.cc index 5fdb000..0e66353 100644 --- a/vddata.cc +++ b/vddata.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2010-2023 M. Held, S. Huber */ +/* Copyright (C) 2010-2025 M. Held, S. Huber */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */ diff --git a/vroni_object.cc b/vroni_object.cc index 0af796c..5631880 100644 --- a/vroni_object.cc +++ b/vroni_object.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) Martin Held 1999-2023 */ +/* Copyright (C) Martin Held 1999-2025 */ /* */ /* */ /* C O P Y R I G H T */ @@ -973,8 +973,12 @@ void vroniObject::apiTerminateProgram() FreeDrawingBuffer(); } #endif - -#ifdef VRONI_INFO + +#ifdef RANDOM_R + free(rdata); +#endif + + #ifdef VRONI_INFO /* */ /* check and report memory used */ /* */ diff --git a/wmat.cc b/wmat.cc index 57083fc..c1ba7f5 100644 --- a/wmat.cc +++ b/wmat.cc @@ -1,6 +1,6 @@ /*****************************************************************************/ /* */ -/* Copyright (C) 2001-2023 M. Held */ +/* Copyright (C) 2001-2025 M. Held */ /* */ /* This code is not in the public domain. All rights reserved! Please make */ /* sure to read the full copyright statement contained in "README.txt" or in */