Program Listing for File OutputGrid.cpp

Program Listing for File OutputGrid.cpp#

Return to documentation for file (src/main/cpp/lib/OutputGrid.cpp)

#include "OutputGrid.h"

OutputGrid::OutputGrid (const std::vector<DefVariable>& output_vars,
            const Angle& start, const Angle& end, double radius,
            double height, Direction dir) :
    output_variables (output_vars), m_num_outputs (output_vars.size ()), m_scale (
    Configuration::get_instance ().get_num_major_sections_grid (),
    Configuration::get_instance ().get_num_minor_sections_grid (),
    Configuration::get_instance ().get_prop_scale_label ()), m_start (
    start), m_end (end), m_radius (radius), m_height (height), m_direction (
    dir)
{
  for (DefVariable var : output_vars)
    {
      m_scale.add_scale (std::make_pair (var.min, var.max));
    }
}

const DefVariable &
OutputGrid::get_var (std::size_t num_output) const
{
  if (num_output >= m_num_outputs)
    {
      throw std::out_of_range (
      "Variable index (" + std::to_string (num_output)
          + ") is out of range " + std::to_string (m_num_outputs - 1));
    }

  return output_variables[num_output];
}