You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: vol2restrictedtri.m
    path of file: ./repos/fecgsyn/subfunctions/data-generation/libs/iso2mesh
    
    the code of the file until where you have to start completion: function [node,elem]=vol2restrictedtri(vol,thres,cent,brad,ang,radbound,distbound,maxnode)
%
% [node,elem]=vol2restrictedtri(vol,thres,cent,brad,ang,radbound,distbound,maxnode)
%
% surface mesh extraction using CGAL mesher
%
% author: Qianqian Fang, <q.fang at neu.edu>
% date: 2009/01/06
%
% input:
%       vol: a 3D volumetric image
%       thres: a scalar as the threshold of of the extraction
%       cent: a 3d position (x,y,z) which locates inside the resulting
%             mesh, this is automatically computed from vol2surf
%       brad: maximum bounding sphere squared of the resulting mesh
%       ang: minimum angular constrains of the resulting tranglar elements
%            (in degrees)
%       radbound: maximum triangle delaunay circle radius
%       distbound: maximum delaunay sphere distances
%       maxnode: maximum number of surface nodes (even radbound is not reached)
% output:
%       node: the list of 3d nodes in the resulting surface (x,y,z)
%       elem: the element list of the resulting mesh (3 columns of integers)
%

    
function [node,elem]=vol2restrictedtri(vol,thres,cent,brad,ang,radbound,distbound,maxnode)
%
% [node,elem]=vol2restrictedtri(vol,thres,cent,brad,ang,radbound,distbound,maxnode)
%
% surface mesh extraction using CGAL mesher
%
% author: Qianqian Fang, <q.fang at neu.edu>
% date: 2009/01/06
%
% input:
%       vol: a 3D volumetric image
%       thres: a scalar as the threshold of of the extraction
%       cent: a 3d position (x,y,z) which locates inside the resulting
%             mesh, this is automatically computed from vol2surf
%       brad: maximum bounding sphere squared of the resulting mesh
%       ang: minimum angular constrains of the resulting tranglar elements
%            (in degrees)
%       radbound: maximum triangle delaunay circle radius
%       distbound: maximum delaunay sphere distances
%       maxnode: maximum number of surface nodes (even radbound is not reached)
% output:
%       node: the list of 3d nodes in the resulting surface (x,y,z)
%       elem: the element list of the resulting mesh (3 columns of integers)
%
% -- this function is part of iso2mesh toolbox (http://iso2mesh.sf.net)
%

if(radbound<1)
    warning(['You are meshing the surface with sub-pixel size. If this ' ...
             'is not your your intent, please check if you set ' ...
             '"opt.radbound" correctly for the default meshing method.']);
end