function tf = structuralSEISpecified(self, varargin)  
 % structuralSEISpecified True if boundary conditions is defined as an SE interface.

% Copyright 2019 The MathWorks, Inc.

narginchk(3,3);  

parser = inputParser;
parser.addParameter('face', [], @pde.EquationModel.isValidEntityID); 
parser.addParameter('edge', [], @pde.EquationModel.isValidEntityID);  
parser.addParameter('vertex', [], @pde.EquationModel.isValidEntityID); 
parser.parse(varargin{:});

if ~ismember('face', parser.UsingDefaults)
    qregiontype = 'Face';
    qregionid = parser.Results.face;
elseif ~ismember('edge', parser.UsingDefaults)
    qregiontype = 'Edge';
    qregionid = parser.Results.edge;
else
    qregiontype = 'Vertex';
    qregionid = parser.Results.vertex;
end

numassigns = numel(self.StructuralSEIAssignments);
numqueries = numel(qregionid);
tf = false(size(qregionid)); 
for i = 1:numqueries
    rid = qregionid(i);
    for j = numassigns:-1:1
       thisbc =  self.StructuralSEIAssignments(j);       
       if strcmpi(qregiontype,thisbc.RegionType) && ismember(rid, thisbc.RegionID)       
          tf(i) = true;
          break
       end
    end
end

end