% Input:
% constraints: Matrix (constraints*x <= results)
% results: vector
% L: Matrix (containing row-wise direction vectors)
% algo: String
% method: String
% bq: vector
% location: integer

% Output:
% s: function handle (support function)

% Description:
% Reconstructs the support function representation based on L and the
% evaluation in directions from L using the specified algorithm and method. If this is
% not possible, the correspondent dialog is shown to alow the user to react
% to the problem.

% Beschreibung:
% Rekonstruiert die Support function auf Basis der L und Auswertungen mit
% den gewünschten Algorithmen. Falls dies nicht möglich ist, so wird der
% Dialog zur Behandlung diese Falss aufgerufen

function [s] = reconstructOmega(constraints,results,L,algo,method,bq,location)

if isempty(constraints) || isempty(results)
    s = [];
else
fprintf('reconstruction of function handle at: %s \n',location);
[algorithm,method,results] = testSPalgos(constraints,results,L,algo,method,bq);
s = calcPolytopeSP(constraints,results,algorithm,method,zeros(size(L,2),1),[],[]);
end;