% addVertex - Adds a vertex on geometry boundary
%
%   VertexID = addVertex(GM, 'Coordinates', COORDS) adds a new isolated
%   vertex at the point with coordinates COORDS to the geometry GM,
%   specified as a DiscreteGeometry object. COORDS represent the Cartesian
%   coordinates of locations on the boundary, specified as an
%   N-by-2 or N-by-3 matrix, for a 2-D and a 3-D geometry, respectively.
%   Here N is the number of specified points. VertexID is a row vector
%   containing IDs of vertices. If a vertex already exists at the
%   specified location, addVertex returns the ID of the existing vertex.
%   
%   New vertices do not modify the geometry or the mesh. After adding new
%   vertices, call generateMesh to create a mesh with the nodes at the
%   corresponding locations.
%
%   You can apply structural boundary conditions or concentrated structural
%   boundary loads at the new vertices created by addVertex.
%
%   Example: Add a vertex on the side of a block.
%
%       thePde = createpde();
%       gm = importGeometry(thePde,'Block.stl')
%       addVertex(gm,'Coordinates',[20 0 40])
%       pdegplot(gm, 'VertexLabels', 'on')
%
%  See also pde.DiscreteGeometry, pde.EquationModel/importGeometry,
%           pde.DiscreteGeometry/addFace,
%           pde.EquationModel/generateMesh,
%           pde.StructuralModel/structuralBC,
%           pde.StructuralModel/structuralBoundaryLoad

%  Copyright 2019-2020 The MathWorks, Inc.
%  Built-in function.
