0001 function [obj] = surf_data_new(V, F, xx, coord_type, model_name, conductivity)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 const = define_bm_edit_app;
0021
0022
0023
0024
0025 if ~exist('V', 'var'), error('V is a required parameter.'); end
0026 if ~exist('F', 'var'), error('F is a required parameter.'); end
0027 if ~exist('xx', 'var'), error('xx is a required parameter.'); end
0028 if ~exist('coord_type', 'var')
0029 error('coord_type is a required parameter.');
0030 end
0031 if ~exist('model_name', 'var') || isempty(model_name)
0032 model_name = 'surface model';
0033 end
0034 if ~exist('conductivity', 'var') || isempty(conductivity)
0035 conductivity = const.DEFAULT_CONDUCTIVITY;
0036 end
0037
0038
0039
0040
0041 obj = brain_data_new(coord_type, model_name, conductivity);
0042
0043
0044 obj.class_type = 'surf_data';
0045
0046
0047
0048
0049
0050
0051 obj.V = V;
0052 obj.F = F;
0053 obj.xx = xx;
0054
0055
0056 omega = vb_solid_angle_check(V, F);
0057 if abs(omega-1)>1e-10
0058 obj.status = const.surf_status.SURFACE_NOT_CLOSED;
0059 else
0060 obj.status = const.surf_status.SURFACE_CLOSED;
0061 end
0062
0063
0064
0065
0066 if nargout ~= 1
0067 error('function caller should receive obj.');
0068 end