% rotate - Rotates a geometry
% 
% ROTATE(geom,theta) rotates the geometry geom around the Z-axis by the 
% angle theta. Here, theta must be specified in degrees. The direction of 
% rotation is based on the right-hand rule.
% 
% ROTATE(geom,theta,refpoint) uses the rotation axis specified by the 
% reference point, refpoint. the axis of rotation is the line in the 
% Z-direction passing through the reference point.
% 
% ROTATE(geom,theta,refpoint1,refpoint2) uses the rotation axis specified 
% by two reference points. This syntax is only valid for a 3-D geometry.
% 
% ROTATE modifies a geometry, but it does not modify a mesh. After modifying 
% a geometry, re-generate the mesh to ensure a proper mesh association with 
% the modified geometry.
%
% Example 1: Rotate a 2-D geometry around the Z-axis by 45 degrees.
%     model = createpde();
%     geom = importGeometry(model,'PlateHolePlanar.stl');
%     rotate(geom,45);
%     pdegplot(geom)
%
% Example 2: Rotate a 3-D geometry around the Z-axis by 45 degrees.
%     geom = multicuboid(1,1,1);
%     rotate(geom,45);
%     pdegplot(geom)  
%
% Example 3: Specify the rotation axis for a 2-D geometry.
%     model = createpde();
%     geom = importGeometry(model,'PlateHolePlanar.stl');
%     rotate(geom,45, [1 1]);
%     pdegplot(geom)
%
% Example 4: Specify the rotation axis for a 3-D geometry.
%     model = createpde();
%     geom = multicuboid(1,1,1);
%     rotate(geom,45,[0 0 0],[1 1 1]);  
%     pdegplot(geom)
%
% See also pde.DiscreteGeometry, pde.DiscreteGeometry/translate,
% pde.DiscreteGeometry/scale

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