intersect_hulls - Finds the intersection of convex hulls.


#include "h/h_intersect.h"

Example compile flags (system dependent):
   -L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
  -lKJB                               -lfftw3  -lgsl -lgslcblas -ljpeg  -lSVM -lstdc++                    -lpthread -lSLATEC -lg2c    -lacml -lacml_mv -lblas -lg2c      -lncursesw 

int intersect_hulls
	Queue_element *hull_list_head,
	unsigned long options,
	Hull **result_hp_ptr


This routine finds the intersection of a list of convex hulls and returns the result as a convex hull. The first argument "hull_list_head" is the address of the queue containing the list of convex hulls to process. Only lists of 2-D or 3-D hulls are currently supported. The second argument "options" contains the flags controlling the data returned in the output hull structure. For most circumstances, the value of DEFAULT_HULL_OPTIONS will suffice. See the man page for "find_convex_hull" for a description of the option flags. The method of hull intersection is under user control via the option hull-intersection-method. One method "a" is a discrete approximationl. A faster, more accurate method is the dual space method "d". In the case of the discrete approximation, the resolution of the descrete space is user settable with the "hir" option, provided that the KJB library options are made available to the user (recommended!). The dual space method also makes use of the resolution when finding an intial point inside the hull. The dual space method normally returns an answer independent of the resolution, but the resolution does set the smallest amount that hulls can intersect, and still be recognized as intersecting (with all methods).


NO_ERROR on success, with the address of the result in "result_hp_ptr", NO_SOLUTION if the intersection in empty, and ERROR if there are more serious problems.


create_hull, find_convex_hull, Hull, Queue_element


This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.


Kobus Barnard


Lindsay Martin and Kobus Barnard