function node_xy_plot_test ( )

%*****************************************************************************80
%
%% node_xy_plot_test() tests node_xy_plot().
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    12 March 2021
%
%  Author:
%
%    John Burkardt
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'node_xy_plot_test():\n' );
  fprintf ( 1, '  node_xy_plot() plots nodes of an Eternity object.\n' );
%
%  HEXAGON
%  Here we can use the generic node and subnode functions.
%
  [ w, p_ij ] = hexagon_word ( );
  v_ij = word_to_vertex_ij ( w, p_ij );
  u_ij = node_ij ( w, p_ij );
  s_ij = subnode_ij ( w, p_ij );
  v_xy = node_ij_to_xy ( v_ij, p_ij );
  u_xy = node_ij_to_xy ( u_ij, p_ij );
  s_xy = node_ij_to_xy ( s_ij, p_ij );
  label = 'node xy plot: hexagon';
  filename = 'hexagon_node_xy.png';
  node_xy_plot ( v_xy, u_xy, s_xy, label, filename );
%
%  HEXAGON3
%  Here we can use the generic node and subnode functions.
%
  [ w, p_ij ] = hexagon3_word ( );
  v_ij = word_to_vertex_ij ( w, p_ij );
  u_ij = node_ij ( w, p_ij );
  s_ij = subnode_ij ( w, p_ij );
  v_xy = node_ij_to_xy ( v_ij, p_ij );
  u_xy = node_ij_to_xy ( u_ij, p_ij );
  s_xy = node_ij_to_xy ( s_ij, p_ij );
  label = 'node xy plot: hexagon3';
  filename = 'hexagon3_node_xy.png';
  node_xy_plot ( v_xy, u_xy, s_xy, label, filename );
%
%  RECTANGLE 4x5
%  Here, we have to use the specific rectangle functions for nodes and subnodes.
%
  nx = 4;
  ny = 5;
  [ w, p_ij ] = rectangle_word ( nx, ny );
  v_ij = word_to_vertex_ij ( w, p_ij );
  u_ij = rectangle_node_ij ( nx, ny );
  s_ij = rectangle_subnode_ij ( nx, ny );
  v_xy = rectangle_vertex_xy ( nx, ny, p_ij );
  v_xy = node_ij_to_xy ( v_ij, p_ij );
  u_xy = node_ij_to_xy ( u_ij, p_ij );
  s_xy = node_ij_to_xy ( s_ij, p_ij );
  label = 'node xy plot: rectangle:';
  filename = 'rectangle_4x5_node_xy.png';
  node_xy_plot ( v_xy, u_xy, s_xy, label, filename );
%
%  Terminate.
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'node_xy_plot_test():\n' );
  fprintf ( 1, '  Normal end of execution.\n' );

  return
end
