- Dec 29, 2018
-
-
Brad Barber authored
merge branch 'next' into master
-
Brad Barber authored
-
Brad Barber authored
Qhull options - Add option 'Tf' to flush each qh_fprintf for debugging segfaults - Add Q14-no-merge-pinched: do not merge pinched vertices for duplicate ridge Default if post-merge only ('Cn'), 'Qgood-only', or 2-d convex hulls - Add Q15-allow-wide-maxout: do not error on qh_check_maxout failures - Add Q16-simplex-merge: test opposite vertex instead of centrum for merges - option 'f' (print facets): updated flags for facets 'seen' and 'seen2' flags not listed (listed if tracing) Renamed 'new' to 'newfacet' 'isarea' if area is listed for the facet 'cycledone' if qh_mergefacet completed Renamed 'MERGE' to 'MERGEridge' in the facet neighors (for merging) Renamed 'DUP' to 'DUPLICATEridge' in the facet neighors (for merging) Comment '- horizon ridge to visible facet' added for tentative new facets - option 'f' (print facets): updated flags for ridges 'mergevertex' and 'mergevertex2' if a ridge vertex will be merged 'simplicialtop' and 'simplicialbot' if the top/bottom facet is simplicial - option 'f' (print facets): updated flags for vertices Renamed 'ridgedeleted' to 'delridge' 'newfacet' if the vertex belongs to a new facet on qh.newfacet_list 'seen' and 'seen2' listed if tracing - Option 'T3' prepend message number for trace levels 0-3 e.g., "[QH1040]qh_findhorizon: find horizon..." - Option 'TCone_stop' stops before vertex merge due to duplicate ridges (unlikely) - Option 'Ts' (qh_initbuild): print command prompt at start of run for segfaults - Rename option 'U-coplanar-distance' to 'U-max-coplanar' (qh.MAXcoplanar) Qhull documentation - Explanation of clobbered warning for Qhull::runQhull and qh_new_qhull - html/index.htm: Add "Nearly coincident points" to "When to use Qhull" - html/index.htm: Add Tomilov's qhullhull.hpp for general position input. - html/qh-eg.htm: Add 'Q0' link to eg.14.sphere.corner - html/qh-faq.htm,qh-code.htm: merge slivers in a Delaunay triangulation [M. Treacy] - html/qh-optq.htm: Update documentation for 'Qx' and its default behavior - html/qh-impre.htm: Rewrote notes on 'Nearly coincident points within 1e-13' - geom_r.c/qh_distplane: nearly coplanar points may return the same distance for different points - Update copyright to 2018 Qhull builds - Move 'extern "C" {}' logic from C++ to C headers [C. Atkins, github] - build/*-64.vcxproj Updated for tool set 8.1 - CMakeLists.txt: Add note for "dynamic linking" of qhull executables [M. Atzeri] Bugs fixed - libqulll_r.c/qh_findbest: search from newfacet_list instead of f.next if !bestfacet - merge_r.c/qh_find_newvertex: use v.seen to avoid maxvisit > qh.vertex_visit - merge_r.c/qh_merge_simplex: repeat with next ridge after qh_delridge_merge - merge_r.c/qh_vertexridges: 'qh.visit_id += 2' to avoid visit_id collision - poly_r.c/qh_appendfacet: update qh.visible_list if qh.newfacet_list/visible_list are empty - poly2_r.c/qh_check_maxout: check qh.min_vertex if qh.VERIFYoutput/CHECKfrequently - poly2_r.c/qh_checkpolygon: do not report qh.visible_list error if visible_list and newfacet_list are defined but empty - stat_r.c/qh_printallstatistics,qh_printstatistics: 'const char *string' instead of 'char *string' for !qh_KEEPstatistics Qhull error reporting - libqulll_r.c/qh_findhorizon: error if no neighbors for a visible facet - libqulll_r.c/qh_findbestnew: error if facet sentinel (!facet->next) - libqhull_r.c/qh_nextfurthest: error if infinite loop - libqhull_r.c/qh_partitioncoplanar: error if partition into a visible facet - libqhull_r.c/qh_partitionpoint: error if partition into a visible facet - libqhull_r.c/qh_partitionvisible: error if deleted vertex with an empty qh.newfacet_list - merge_r.c/qh_checkdelfacet: check that mergeset does not reference facet - merge_r.c/qh_checkdelridge: check that qh_delridge_merge is not needed for deleted ridges Call from qh_mergecycle, qh_makenewfacets, qh_attachnewfacets - merge_r.c/qh_maydropneighbor: error if simplicial facet or neighbor - merge_r.c/qh_merge_facet: error if wide merge (disabled with 'Q15') - merge_r.c/qh_merge_nonconvex: error if unexected mergetype - poly_r.c/qh_matchneighbor: convert error QH6106 (two facets with same vertices) to a warning (QH7084) and automatic fix - poly2_r.c/qh_check_maxout: error if wide qh.max_outside/min_vertex (disabled with 'Q15') - poly2_r.c/qh_check_maxout: warn if wide maxout for vertices (for diagnosing errors) - poly2_r.c/qh_check_maxout: warn if point is outside f.outside (for diagnosing errors) - poly2_r.c/qh_check_maxout: warn if 'f.maxoutside > qh.max_outside' - poly2_r.c/qh_check_maxout: changed comparison from 'dist == maxoutside' to 'dist >= maxoutside' (allow multiple warnings) - poly2_r.c/qh_checkfacet: error if 'redundant' or 'degenerate', but neither 'visible' nor qh.degen_mergeset - poly2_r.c/qh_checkfacet: error if 'dupridge' or 'newmerge', but not 'newfacet' - poly2_r.c/qh_checkfacet: error if neighbor of facet is 'visible' (i.e., deleted) - poly2_r.c/qh_checkfacet: report 'OK due to merging' as trace4 (QH4073) instead of error QH6134 - poly2_r.c/qh_checkpolygon: error if qh.visible_list is after qh.newfacet_list - poly2_r.c/qh_checkpolygon: error if f.newfacet before qh.visible_list or qh.newfacet_list - poly2_r.c/qh_checkpolygon: error qh.newfacet_list without f.newfacet - poly2_r.c/qh_checkpolygon: error if f.visible not on qh.visible_list - poly2_r.c/qh_checkpolygon: error if qh.visible_list without f.visible - poly2_r.c/qh_checkpolygon: error if qh.newfacet_list is not on qh.facet_list - poly2_r.c/qh_checkpolygon: error if v.newfacet not on qh.newvertex_list - poly2_r.c/qh_checkpolygon: error if qh.newvertex_list is not on qh.vertex_list - poly2_r.c/qh_checkpolygon: error if a facet occurs twice in v.neighbors - poly2_r.c/qh_checkpolygon: error if vertex not in f.vertices for facets in v.neighbors - poly2_r.c/qh_checkpolygon: error if facet not in v.neighbors for vertices in f.vertices - poly2_r.c/qh_delvertex: error if vertex previously deleted but not partitioned as a coplanar point - user_r.c/qh_errexit: clear printed flags on statistics (qh_allstatistics) - user_r.c/qh_errprint: print vertex and ridge before facets - user_r.c/qh_errprint: print vertex and ridge before facets - user_r.c/qh_printfacetlist: add 'qh_printfacetlist:' for rapid navigation Source code additions - mergeT: expanded for vertices and ridges - mergeType: add MRGconcavecoplanar, MRGtwisted, MRGsubridge, MRGvertices, and MRGcoplanarhorizon - qtT.ALLOWwidemaxout: true if 'Q15', allow qh.WIDEmaxoutside increases in qh_check_maxout - qtT.FLUSHprint: true if 'Tf', flush output on qh_fprintf - qtT.MERGEpinched: false if 'Q14', merge pinched vertex due to duplicate ridge - qtT.SIMPLEXmerge: true if 'Q16', test_appendmerge tests opposite vertex instead of centrum - qtT.first_newfacet: id of first new facet in qh_buildcone, other new facets were merged - qtT.isRenameVertex: true during qh_merge_pinchedvertices - qtT.NEWtentative: true while new facets are tentative due to qh.MERGEpinched or ONLYgood - qtT.repart_facetid: previous facetid to prevent recursive qh_partitioncoplanar - qtT.retry_addpoint: number of retries of qh_addpoint due to qh.MERGEpinched - qtT.vertex_mergeset: set of vertex merges for qh_next_vertexmerge - ridgeT.mergevertex and mergevertex2 if a ridge vertex will be merged - ridgeT.simplicialtop and simplicialbot if the top/bottom facet is simplicial - vertexT.partitioned: true if deleted vertex partitioned by qh_partitionvisible - geom2_r.c/qh_furthestnewvertex: return furthest unvisited, new vertex to a facet - geom2_r.c/qh_furthestvertex: return furthest unvisited vertex to a facet - geom2_r.c/qh_vertex_bestdist: return nearest distance between vertices - geom2_r.c/qh_vertex_bestdist2: return nearest vertex pair between vertices - geom2_r.c/qh_vertex_isbelow: test vertexA distance to vertexB's simplicial facets and vice versa - libqhull_r.c/qh_buildcone: split out qh_makenewfacets,etc. from qh_addpoint - merge_r.c/qh_all_vertexmerges: perform vertex merges in qh.vertex_mergeset - merge_r.c/qh_appendvertexmerge: append vertex merge to qh.vertex_mergeset - merge_r.c/qh_delridge_merge: split out ridge maintenance from qh_renameridgevertex and qh_merge_simplex - merge_r.c/qh_hasmerge: True if mergeset has mergetype for facetA and facetB - merge_r.c/qh_initmergesets,qh_freemergesets: init/free of qh.*_mergeset with error reporting - merge_r.c/qh_maybe_duplicateridge: add MRGvertices if neighboring facet has another ridge with the same vertices - merge_r.c/qh_maybe_duplicateridges: add MRGvertices if ridges with the same vertices - merge_r.c/qh_merge_dupridges: split out conversion of dupridges to MRGridge merges from qh_makeridges - merge_r.c/qh_merge_pinchedvertices- merge pinched vertices in qh.vertex_mergeset to avoid qh_forcedmerges of duplicated ridges - merge_r.c/qh_merge_twisted: merge twisted facets that are above and below their neighbors (4D+ and non-simplicial) - merge_r.c/qh_neighbor_vertices,qh_neighbor_vertices_facet: return neighboring vertices for a vertex (not in subridge) - merge_r.c/qh_next_facetmerge: split out next merge from qh_all_merges and replace qsort - merge_r.c/qh_next_vertexmerge: select next vertex merge by distance, allow one MRGsubridge merge - merge_r.c/qh_opposite_horizonfacet: return horizon facet for a merge facet and its opposite vertex - merge_r.c/qh_reducevertices: qh_merge_degenredundant if qh_remove_extravertices or qh_rename_sharedvertex - merge_r.c/qh_remove_mergetype: remove mergetype merges from mergeset - merge_r.c/qh_rename_adjacentvertex: rename oldvertex as newvertex, must be adjacent (i.e., in the same subridge) - merge_r.c/qh_test_cemtrum_merge: split out test centrum convexity from qh_test_appendmerge - merge_r.c/qh_test_simplex_merge: test simplex convexity and append non-convex facets to qh.facet_mergeset - merge_r.c/qh_test_nonsimplicial_merge: test nonsimplicial convexity and append non-convex facets to qh.facet_mergeset - merge_r.h/FOREACHmergeA_,FOREACHmerge_i_: add macros for mergeset iteration - poly_r.c/qh_getreplacement: split out new facet for visible facet from qh_partitionvisible and qh_merge_degenredunant - poly2_r.c/qh_addfacetvertex: split out add newvertex to f.vertices if not already there from qh_merge_simplex - poly2_r.c/qh_matchdupridge_coplanarhorizon: match duplicate ridges with the same coplanar horizon, instead of qh_matchdupridge - poly2_r.c/qh_opposite_vertex: return the opposite vertex in facetA to neighbor - poly2_r.c/qh_replacefacetvertex: replace oldvertex with newvertex in f.vertices - user_r.h/qh_RATIOconcavehorizon: ratio of horizon vertex distance to qh.max_outside for concave, twisted new facets in qh_test_nonsimplicial_merge - user_r.h/qh_RATIOconvexmerge: ratio of vertex distance to qh.min_vertex for clearly convex new facets in qh_test_nonsimplicial_merge - user_r.h/qh_RATIOcoplanarapex: ratio of best distance for coplanar apex vs. vertex merge in qh_getpinchedmerges - user_r.h/qh_RATIOcoplanaroutside: ratio to repartition a coplanar point as an outside point in qh_partitioncoplanar and qh_check_maxout - user_r.h/qh_RATIOpinchedsubridge: ratio to qh.ONEmerge to accept vertices in qh_findbest_pinchedvertex - user_r.h/qh_RATIOtrypinched: ratio to qh.ONEmerge to merge twisted facets in qh_merge_twisted - user_r.h/qh_RATIOtwisted: maximum ratio to qh.ONEmerge to merge twisted facets in qh_merge_twisted - user_r.h/qh_WIDEmaxoutside: precision ratio for maximum increase for qh.max_outside in qh_check_maxout - user_r.h/qh_WIDEmaxoutside2: precision ratio for maximum qh.max_outside in qh_check_maxout - user_r.h/qh_WIDEpinched: merge ratio for distance between pinched vertices compared to current facet width for qh_getpinchedmerges and qh_next_vertexmerge Source code changes - Change " = " to "= " (avoid confusion with " == ") - Improved error messages, tracing, and code comments throughout - Moved qh_check_dupridge from poly2_r.c to merge_r.c. It is used for merging - Moved qh_printlists from poly2_r.c to io_r.c. Useful for debugging - Removed qh_compareangle and qh_comparemerge. Replaced by qh_next_facetmerge - Renamed 'qh_precision' to 'qh_joggle_restart'. It restarts qhull to avoid a precision error. - Renamed 'Qhull internal error' to 'qhull internal error' for consistency - Renamed mergeT.type to mergetype. Same as parameters and local variables - Renamed vertexT.newlist to newfacet. True if on a new facet - Renamed qh_matchduplicates to qh_matchdupridge (poly2_r.c). A 'duplicates' is ridges with duplicate vertices - Use coordT for distances instead of realT. Needs further review. - qh_NOmerge: include comments in #ifndef - global_r.c/qh_freebuffers: use the same order as qh_initbuffers - global_r.c/qh_freebuild: free the global sets, qh.degen_mergeset,etc. - io_r.c/qh_printfacetheader: print 'MERGEridge' instead of 'MERGE' to match name of flag - io_r.c/qh_printfacetheader: print 'DUPLICATEridge' instead of 'DUP' to match name of flag - libqhull_r.c/qh_partitioncoplanar: change qh.findbestnew to a parameter (search all new facets) - libqhull_r.c/qh_partitioncoplanar: repartition a coplanar point if far outside typically due to a twisted facet in D4+ with almost coincident vertices - libqhull_r.c/qh_partitionpoint: if outside set is empty, set f.newfacet and adjust qh.facet_next - libqhull_r.c/qh_partitionvisible: prevent duplicate partitions of deleted vertices - libqhull_r.c/qh_partitionvisible: test against !f.next instead of qh.facet_tail. Both indicate sentinel - mrege_r.h/mergeType: reordered mergetypes is preference order - merge_r.c: identify MRGconcavecoplanar facets that are above and coplanar with their neighbors - merge_r.c/mergetypes: string names for mergeType - merge_r.c/qh_all_merges: clear wasmerge and othermerge on qh_reducevertices. Avoids extra calls - merge_r.c/qh_appendmergeset: add parameters for m.dist and m.angle - merge_r.c/qh_appendmergeset: initialize all fields of mergeT - merge_r.c/qh_copynonconvex: clear old r.nonconvex for consistency. Ridge will be deleted soon - merge_r.c/qh_degen_redundant_neighbors: check neighbors of delfacet instead of facet. Faster and it matches definition - merge_r.c/qh_mark_dupridges: add 'allmerges' parameter for dupridges vs. pinched vertices - merge_r.c/qh_mark_dupridges: test for duplicate vertices to avoid duplicate MRGridge - merge_r.c/qh_merge_cycle_all: test for duplicate ridges at end of merge_cycle_all (qh_maybe_duplicateridges) - merge_r.c/qh_merge_dupridges: clear mergeridge/mergeridge2 flags (not needed on first call) - merge_r.c/qh_merge_facet: test for qh_degen_redundant_facet and qh_maybe_duplicateridges - merge_r.c/qh_merge_facet: add mergeType parameter for logging - merge_r.c/qh_merge_facet: rename 'apex' to 'opposite' (not always apex) - merge_r.c/qh_merge_simplex: identify 'isnew' instead of 'issame' (more accurate) - merge_r.c/qh_remove_extravertices: skip for simplicial facets - merge_r.c/qh_renamevertex: test qh_maybe_duplicateridge if qh_renameridgevertex - merge_r.c/qh_renamevertex: test qh_degen_redundant_facet for oldvertex neighbors - merge_r.c/qh_renamevertex: test qh_degen_redundant_neighbors for oldvertex nonsimplicial neighbors - merge_r.c/qh_renamevertex: test qh_maybe_duplicateridge if qh_renameridgevertex - merge_r.c/qh_renamevertex: test qh_degen_redundant_facet oldfacet - merge_r.c/qh_tracemerge: add mergeType parameter for logging - merge_r.c/qh_test_appendmerge: calls qh_test_simplex_merge, qh_test_centrum_merge, or qh_test_nonsimplicial_merge as needed - merge_r.c/qh_vertexridges: add 'allneighbors' parameter to test all neighbors of a vertex - merge_r.c/qh_vertexridges_facet: optimize qh_setin by common cases - poly_r.c/qh_checkflipped: move call from qh_matchnewfacets to qh_setfacetplane. Allow call of qh_setfacetplane from qh_initialhull to reverse orientation - poly_r.c/qh_matchneighbor: call qh_setfacetplane/qh_checkflipped on-demand to support qh.NEWtentative - poly_r.c/qh_matchnewfacets: returns maxdupdist for duplicate ridges - poly_r.c/qh_matchnewfacets: move qh_joggle_restart from qh_matchduplicates ("ridge with multiple neighbors") - poly_r.c/qh_matchnewfacets: try to match ridges with coplanar horizon (qh_matchdupridge_coplanarhorizon) - poly_r.c/qh_updatevertices: use qh_setunique to pdate vertex neighbors (due to pinched vertex merge) - poly2_r.c/qh_checkfacet: optimize qh_setequal of ridges with the same vertices - poly2_r.c/qh_checkpolygon: do not include visible facets in totvertices - poly2_r.c/qh_initialhull: use f.flipped instead of qh_distplane/qh_checkflipped (qh_checkflipped called from qh_setfacetplane) - poly2_r.c/qh_matchdupridge: was qh_matchduplicates in qhull 2015.2 - poly2_r.c/qh_matchdupridge: detect duplicate facets/ridges and force vertex merge - poly2_r.c/qh_matchdupridge: separate code for qh_DUPLICATEridge/f.tricoplanar for improved logging - poly2_r.c/qh_matchdupridge: if !makematch, collect best match via flipped and qh_getdistance between facets - poly2_r.c/qh_resetlists: clear f.dupridge - poly2_r.c/qh_triangulate: clear f.degenerate at end (degenerate tricoplanar facets) - poly2_r.c/qh_triangulate_link: skip duplicate MRGmirror merges - poly2_r.c/qh_triangulate_mirror: skip duplicate MRGmirror merges and previously deleted MRGmirror facets
-
- Dec 28, 2018
-
-
bradb authored
Fix some apparently missing braces.
-
- Sep 26, 2018
-
-
Antony Lee authored
Caught by gcc's -Wmisleading-indentation. Note: Technically this changes the execution flow at that point; I haven't checked whether this is desired but it looks like the previous version was a incorrect...
-
- Jan 21, 2017
-
-
bradb authored
spelling
-
- Jan 18, 2017
-
-
Barak A. Pearlmutter authored
Gbp-Pq: Name 0003-spelling.patch
-
- Jun 17, 2016
-
-
bradb authored
include typename on templates iterator declaration
-
- Jun 15, 2016
-
-
Diego Gomes authored
Update CMakeLists.txt
-
Diego Gomes authored
-
diegodgs authored
-
- Feb 07, 2016
-
-
Brad Barber authored
-
Brad Barber authored
-
Brad Barber authored
Add and modify notes about nearly incident points Add links to Tomilov's qhullhull.hpp Add note about scipy's use of Qhull Suggestion: Add Octave's created endpoints for unbounded ridges [M. Voss] FAQ and suggestions: post-merge pass for slivers [M. Treacy] Add notes from Pavia and Zhang Fix links
-
- Jan 23, 2016
-
-
bradb authored
Make C headers safe for C++ inclusion. Thanks for your good idea, well implemented. --Brad
-
- Jan 20, 2016
-
-
Chuck Atkins authored
This commit moves the extern "C" { ... } logic into headers themselves. This way, it's the headers responsibility to define it's linkage appropriately and the consuming C and C++ code can both use "#include" without ifdef guards.
-
- Jan 19, 2016
-
-
Brad Barber authored
- Fixed memory leak in ~QhullQh [M. Sandim] QhullQh.cpp: call checkAndFreeQhullMemory() in the destructor. Otherwise memT is not freed. Remove checkAndFreeQhullMemory() from Qhull.h. It is not needed. Remove calls to checkAndFreeQhullMemory in qhulltest. It is called by ~QhullQh() libqhull_r.h: Document qh_ASvornoi and facetT.center qh_freeqhull: if qh_NOmem, use qh_ALL qh_memalloc: short memory is freed by qh_memfreeshort unless qh_NOmem qh_memstatistics (mem.c): call qh_memcheck() as done in mem_r.c qh_new_qhull calls qh_memcheck qh_newvertex: free vertex on error qh_projectinput: Free memory allocations on error qh_rboxpoints: free simplex on error qh_sethalfspace_all: Fixed memory leak on error QH8032 feasible not inside halfspace qh_triangulate_facet: For TRInormals ('Q11') replace qh_copypoints with qh_memalloc qh_triangulate_facet: Document qh.TRInormals qh_voronoi_center: Free center on error qhulltest: Fixed memory leak of s_testcases by calling RoadTest::deleteTests() qhulltest: The 'add_*_test' functions append the test object to RoadTest::s_testcases ~RoadTest: declare virtual for Q_OBJECT, removeAll not needed user_eg2: Check memory at end of each run user_r.h: Add QHULL_CRTDBG for invoking Microsoft's memory leak detector use _MSC_VER instead of QHULL_OS_WIN for QHULL_CRTDBG Call qh_freeqhull with qh_ALL/!qh_ALL instead of 'True/False' Include user_r.h with RoadError,h for QHULL_CRTDBG Invoke _CrtSetDbgFlag... at beginning of program Moved user_r.h/libqhull_r.h/qhull_ra.h as first include (for QHULL_CRTDBG) Moved QHULL_OS_WIN from qhull_ra.h to user_r.h Removed __CYGWIN__ from QHULL_OS_WIN (same as Qt's qglobal.h) - check_dupridge: A bounding box is not sufficient to avoid dupridge errors - qh_findbestneighor: Error if qh.CENTERtype is qh_ASvoronoi (i.e., no merging now) - qh_printstatlevel: Remove unused parameter, 'start' - QhullLinkedList::last() and back(): Return T instead of T& (T is computed) - qh-code.htm: "How to convert code to reentrant Qhull" Update "Nearly coincident points on an edge" Add 2012 size of data structures to "Qhull on 64-bit computers" - html/index.htm: Add CGAL to "When to use" - qh-optq.htm: Add documentation for option 'Q12' - Move suggestions from Changes.txt to qh-code.htm#enhance - user_r.h: Fixed qh-us_r.html links - Fixed links in html pages - QhullIterator and QhullLinkedList: Include <iterator> [B. Boeckel] - Moved include file for each C++ source file to the top of the includes - Prepend cpp includes with "libqhullcpp/" - RoadLogEvent includes RoadLogEvent.h - QhullIterator.h: Only QHULL_DECLARE_SEQUENTIAL_ITERATOR is used. - Compared src/libqhull/* to src/libqhull_r/* and resolved differences - qh_printpoint in io.c skips qh_IDnone like io_r.c - qhull_p-exports.def: Added three missing exports - set_r.h: Removed countT. Too many issues - libqhull_r/Makefile: Add help prompts to 'make qtest' - libqhull.pro: Add '../libqhull/' to sources and headers - libqhull/Makefile: Fixed -I,./,,/src - qhull-zip.sh: Add CMakeModules to tarball [C. Rosenvik] - CMakeLists.txt: Add targets qhullp and user_egp for qh_QHpointer and libqhull_p - Reorganized 'make help' - Makefile cleanall: Delete testqset and qhulltest from bin/ - Fix filetype of Unix-only files - Fix Unix line endings for Makefile and check in qhull-zip.sh - Fix Windows line-endings and check in qhull-zip.sh - qhull-zip.sh: Check for Unix text files
-
- Jan 09, 2016
-
-
Brad Barber authored
qh-impre.htm: Reworked "Nearly coincident points on an edge" Move suggestions from Changes.txt to qh-code.htm#enhance
-
- Jan 07, 2016
-
-
Brad Barber authored
-
Brad Barber authored
- Add Rbox option 'Cn,r,m' to add nearly coincident points. Trigger for duplicate ridges - Add Qhull option 'Q12' to ignore error on wide merge due to duplicate ridge - qh_findbestlower: Call qh_findfacet_all to fix rare "flipped or upper Delaunay" error QH6228. QH6228 input provided by J. Metz. Reported (date order): L. Fiaschi, N. Bowler, A. Liebscher, V. Vieira, N. Rhinehart, N. Vance, P. Shafer - qh_check_dupridge: Check if wide merge due to duplicate ridge from nearly coincident points - qh_initialhull: Fix error messages for initial simplex is flat - qh_determinant: increased 2-d and 3-d nearzero by 10x due to a counter-example - rbox: Add qh_outcoord() to output coordinates w/ or w/o iscdd - qh_meminit (mem.c): Add call to qh_memcheck - Compare libqhull/... to libqhull_r/... and resolve differences - Update builds for DevStudio (qhull.sln for msdev 2005..2009, qhull-32.sln and qhull-64.sln for recent releases) - qh-impre.htm: Add a section about precision errors for 'Nearly coincident points on an edge' - html/index.htm#geomview: Document how to install, build, and use Geomview. - html/index.htm: Emphasize program links and move related urls to end - qhull/index.htm: Emphasize manual, geomview, and imprecision - Fix documentation links in libqhull_r/index.htm - Add 'Functions' link to documentation headers - Change '<A>...</A>' to '<a>...</a>' - libqhull_r/index.htm -- Add instructions for configuring web browsers for source links. - libqhull_r/ -- Fix source links for ..._r.htm files
-
- Jan 02, 2016
-
-
Brad Barber authored
If this occurs, Qhull 2015.1 will report an error. For Delaunay triangulations a workaround is to add a bounding box to the input set. html/qh-impre.htm Add a section about precision errors for 'Nearly coincident points on an edge' html/index.htm#geomview Add instructions for building Geomview on Windows. Add instructions for using Geomview to view Qhull examples.
-
- Nov 10, 2015
-
-
Brad Barber authored
- Fix return type of operator-> in QhullLinkedList and other collection classes [F. Jares] - Fix return types for QhullLinkedList - Fix return types for QhullPoints - Simplify return type for Coordinates::operator[] (same as QList) - Add const to operators for QhullSet::iterator and add documentation - Coordinates.h: Fix return types for operations of iterator and const_iterator - Drop use of Perforce changelist number in qhull_VERSION of CMakeLists.txt - Rename the md5sum files as *.tgz.md5sum instead of *-tgz.md5sum - Fix build dependency for testqset_r [asekez] - rbox.c depends on Qhull due to qh_lib_check which uses qh_version2 for error messages - QhullFacet_test.cpp: Annotate Qhull invocations. Allows their repetition. - QhullFacet_test.cpp: Adjust epsilon on distance tests - Do not create libqhullcpp as a shared library. Qhull C++ classes may change layout and size. - qhull-cpp.xml: Make a relative path to road-faq.xsl
-
- Nov 04, 2015
-
-
Brad Barber authored
-
- Oct 23, 2015
-
-
Brad Barber authored
- In the libraries, exit() is only called from qh_exit(). qh_exit may be redefined. - Add qh_fprintf_stderr to usermem.c. May be overridden to avoid use of stderr [D. Sterratt] Add usermem to testqset builds - Remove most instances of stderr/stdout from libqhull, libqhull_r, and libqhullcpp [D. Sterratt] qh_fprintf_stderr may be redefined. qh_meminit and qh_new_qhull use stderr as the default ferr - qh_initflags: Use qh.fout instead of stdout for 'TO file'. A library caller may define a different qh.fout. - qh_settemppush: Call qh_fprintf() instead of fprintf() on error. - Rename qh_call_qhull as "Qhull-template" from user.c. Updated its references. - qh-code.htm: "How to avoid</a> exit(), fprintf(), stderr, and stdout" - html/index.htm: Fix table of contents for qh-code - libqhull_r/index.htm: Rewrite introduction to Reentrant Qhull - qh-faq.htm: Rewrite "Can Qhull use coordinates without placing them in a data file?" - qh-get.html: Link to github - Remove qhull_interface.cpp from the documentation
-
- Oct 15, 2015
-
-
Brad Barber authored
- qh_new_qhull: default 'errfile' is 'stderr'. outfile and errfile are optional [B. Pearlmutter] - qh_new_qhull: returns qh_ERRinput instead of exit() if qhull_cmd is not "qhull ..." [B. Pearlmutter] - qhalf_r.c,etc: Add clear of qh.NOerrexit - global.c: gcc 4.4.0 mingw32 segfault cleared by adding comment - usermem_r-cpp.cpp: Optional file to redefine qh_exit() as throw "QH10003.." [B. Pearlmutter] qh_exit() is called by qhull_r when qh_errexit() is not available. - html/index.htm: Add bibliographic reference to Golub & van Loan and annotated the source references - qhalf.htm: A halfspace is the points on or below a hyperplane [D. Strawn] - qh-opto.htm#n: Defined inside, outside, on, above, and below a hyperplane [D. Strawn] - qhalf.htm#notes: Recast the linear program using negative halfspaces (as used by Qhull) [D. Strawn] - qhull_a.h: Fix comment '#include "libqhull/qhull_a.h" [fe rew] - build/qhull*.pc.in: Add templates for pkg-config (derived from Fedorra) [P. McMunn] https://bitbucket.org/mgorny/pkg-config-spec/src/c1bf12afe0df6d95f2fe3f5e1ffb4c50f018825d/pkg-config-spec.txt?at=master&fileviewer=file-view-default - Makefile: Remove user_eg3.o from LIBQHULLCPP_OBJS - Makefile: Add .h dependencies for unix_r.o, etc. - libqhull/Makefile: Fix build of rbox - libqhull_r/Makefile: Fix build -I - qhull.sln/user_eg3: Add dependency on libcpp
-
- Oct 01, 2015
-
-
Brad Barber authored
-
Brad Barber authored
Preliminary Qhull release available at http://www.qhull.org/news - Visual Studio builds for VS-2010+ 32-bit and 64-bit - Unix tarball includes version number (e.g., qhull-2015-src-7.1.0.1940.tgz) [Hauptman] - qhull -V -- Display Unix version number for qhull [Hauptman] - Update eg/make-vcproj.sh for vcxproj Visual Studio builds - README.txt: updated builds and reentrant Qhull - Add documentation for QHULL_LIB_CHECK - qh_lib_check: Check for unknown QHULL_LIB_TYPE - qh-code.htm: Add memory requirements for 32- and 64-bit
-
- Sep 23, 2015
-
-
Brad Barber authored
-
Brad Barber authored
-
Brad Barber authored
Accidently reverted merge from next This reverts commit c27f1515.
-
Brad Barber authored
This reverts commit c27f1515.
-
Brad Barber authored
This reverts commit f06e487a, reversing changes made to db490523.
-
Brad Barber authored
Minor Conflicts: src/testqset_r/testqset_r.c
-
Brad Barber authored
- qh_mem, qh_merge: Log before 'delete' instead of afterwards [Coverity, K. Schwehr] - qh_merge: Test for NULL horizon in qh_checkzero [Coverity, K. Schwehr] - qh_matchneighbor: Check for matchfacet not a neighbor of facet [Coverity, K. Schwehr] - qh_triangulate: Explicit check for visible==NULL [Coverity, K. Schwehr] - qh_findbestfacet (unused by qhull): Fix test of isoutside [Coverity, K. Schwehr] - qh_check_maxout: Check bestfacet!=0 for logging its id [Coverity, K. Schwehr] - qh_nearvertex: Check for bestvertex not found [Coverity, K. Schwehr] - qh_checkfacet: Check for missing neighbors of simplicial facets [Coverity, K. Schwehr] - qh_setdelnth: Check 'nth' before using it [Coverity, K. Schwehr] - Annotate code for Coverity warnings (most of these protected by qh_errexit) [K. Schwehr] - qh_printfacet3math: explicit format string (duplicates change to io.c) [B. Pearlmutter] - libqhull_r.h: fix spelling error (duplicates change to libqhull.h) [B. Pearlmutter] - unix_r.c: fix spelling error (duplicates change to unix.c) [B. Pearlmutter] - qhull_a.h: define qhullUnused() only if defined(__cplusplus) [R. Stogner] - qh_version: Use const char str[]= "string" instead of const char * str= "string" [U. Drepper, p. 27] - qh_newvertex: Use UINT_MAX instead of 0xFFFFFFFF - qh_newridge: Use UINT_MAX instead of 0xFFFFFFFF - Reviewed FIXUP notes - QhullRidge_test: t_foreach use 'foreach(const QhullVertex &v, vertices) - Made '#include "RoadTest.h" consistent across all C++ tests - qh-code.htm: May also use libqhull_r (e.g., FOREACHfacet_(...)) - qh-get.htm: Add list of download build repositories - Add CMakeModules/CheckLFS.cmake: Enables Large File Support [B. Pearlmutter] - Makefile: Use -fpic at all times instead of -fPIC, [U. Drepper p. 15]
-
- Sep 19, 2015
-
-
bradb authored
debian quilt patches, forward ported
-
- Sep 02, 2015
-
-
Brad Barber authored
Moved 'to do' comments into Changes.txt global_r.c: Fixed spelling of /* duplicated in...qh_clear_outputflags */ [K. Schwehr]
-
- Sep 01, 2015
-
-
Barak A. Pearlmutter authored
Enable LFS aka Large File Support (as option) in cmake. Snag cmake LFS macro from https://github.com/simongog/sdsl/blob/master/libdivsufsort-2.0.1/CMakeModules/CheckLFS.cmake
-
Barak A. Pearlmutter authored
Avoid lintian error qhull-bin: manpage-has-errors-from-man to whit usr/share/man/man1/qhull.1.gz 750: warning: macro `QJn'' not defined usr/share/man/man1/qhull.1.gz 771: warning: macro `Qt'' not defined and consequent lost text. These result from a line starting with the single quote character; this patch backslash escapes them.
-
Barak A. Pearlmutter authored
-
Peter Green authored
Fix FTBFS when building with hardening flags as used by dpkg 1.16.0. Note that this was a *false positive* by the compiler: there was in fact no security issue. However we will work around it anyway. Bug-Debian: http://bugs.debian.org/643461
-