• Brad Barber's avatar
    C++ interface for Qhull 8.0.1, 2020.2 · e23876c9
    Brad Barber authored
    - Removed Java-style iterators for Coordinates and PointCoordinates.
      std::vector has an expensive copy constructor and copy assignment.
      A pointer to std::vector is vulnerable to mysterious overwrites (e.g., deleting
      a returned value and reusing its memory).  Qt's 'foreach' should not be used for
      Coordinates and PointCoordinates.  It copies std::vector.
    - QHULL_DECLARE_SEQUENTIAL_ITERATOR: allow temporary results
      The Jave-style iterator copies the container.  Same as Qt's Q_DECLARE_SEQUENTIAL_ITERATOR
    - QhullHyperplaneIterator,QhullPointIterator,QhullPointsIterator: allow temporary results
      These Java-style iterators copy the container instead of pointing to the container
    - QhullLinkedListIterator,QhullFacetListIterator,QhullVertexListIterator: allow temporary results
      These Java-style iterators copy the container instead of pointing to the container
    - QhullSetIterator,QhullFacetSetIterator,QhullPointSetIterator,QhullVertexSetIterator: add documentation about temporary results
      These Java-style iterators have always copied the container
    - QhullUser.h, user_eg3_r.cpp: Removed C++11 dependencies [S. Grein #66,#67]
      QhullUser.cpp: Use intptr_t to avoid C++11 dependencies  [S. Grein, Spacelm #68]
    - QhullVertex.cpp: moved the copy constructor to the code file.  It was inline.
    
    Testing and example programs
    - user_eg3_r.cpp: Renamed 'inputSites' to 'voronoiRegions' in qvoronoi_o/qvoronoi_pfn [M. Konecny #72]
    - user_eg3_r.cpp: Replaced C++11's range-based for loops with Qhull's Java-style iterators
    - qh-code.html: Updated qhullcpp code example [M. Konecny #71]
    - QhullFacet_test.cpp: fixed hyperplane epsilon test in t_getSet. The epsilon due to rotation is unknown.
    - Qhull*List_test.cpp,Qhull*Set_test.cpp,QhullRidge_test,QhullVertex_test: test Qt's 'foreach' in t_foreach
    - Qhull*List_test.cpp,Qhull*Set_test.cpp,QhullRidge_test,QhullVertex_test: test C++11 range for in t_foreach
    - Qhull*List_test.cpp,Qhull*Set_test.cpp: test Java-style iterator in t_java_iterator
    - Coordinates_test.cpp,PointCoordinates_test.cpp,QhullHyperplane_test.cpp,QhullPoint_test.cpp,QhullPoints_test.cpp,RboxPoints_test.cpp
      test C++11 range for, Qt's 'foreach', and Java-style iterators (if available)
    
    Builds
    - README.txt: Fixed "cmake -G" for "Installing Qhull with CMake"
    - README.txt: Added a note on 'make install' to "Installing Qhull on Unix"
    - README.txt: Added 'make test' to "Installing Qhull on Unix"
    - README.txt: Added 'ctest' to "Installing Qhull with CMake"
    - README.txt: Added pkg-config notes to "Installing Qhull with CMake"
    - README.txt: Added usage notes for Windows to "Installing Qhull with CMake"
    - README.txt: Added instructions for downloading MinGW-W64-install.exe
    - build/qhull_p.pc.in,qhull_r.pc.in: Delete obsolete files [T. Roehling #63]
    - build/qhull.pc.in: move qhull.pc.in into the build/ directory [T. Roehling #63]
    
    Documentation
    - qh-code.htm, qhull-news.html: Add Toronto and McCarthy, "Practically accurate floating-point math".
    e23876c9