function model = mttMeasureDomainCompletion(model) number_of_bonds = mttGetFieldLength(model,'bond') ; for i = 1:number_of_bonds domain_defined(i) = ~isempty(model.bond(i).domain) ; end domain_completion.bonds = number_of_bonds ; domain_completion.assignments = sum(domain_defined) ; domain_completion.is_done = (domain_completion.bonds==domain_completion.assignments) ; object_names = mttGetFieldNames(model,'obj') ; number_of_objects = length(object_names) ; for i = 1:number_of_objects object_name = object_names{i} ; object = getfield(model,'obj',object_name) ; if ~isempty(object.abg) object = mttMeasureDomainCompletion(object) ; domain_completion.bonds = domain_completion.bonds + object.domain_completion.bonds ; domain_completion.assignments = domain_completion.assignments + object.domain_completion.assignments ; domain_completion.is_done = domain_completion.is_done & object.domain_completion.is_done ; end end model.domain_completion = domain_completion ;