static inline void apply(LineString const& ls,
            SegmentIdentifier const& seg_id,
            signed_size_type to_index,
            RobustPolicy const& robust_policy,
            RangeOut& current_output)
    {
        signed_size_type const from_index = seg_id.segment_index + 1;

        // Sanity check
        if ( from_index > to_index
          || from_index < 0
          || to_index >= static_cast<signed_size_type>(boost::size(ls)) )
        {
            return;
        }

        signed_size_type const count = to_index - from_index + 1;

        typename boost::range_iterator<LineString const>::type
            it = boost::begin(ls) + from_index;

        for (signed_size_type i = 0; i < count; ++i, ++it)
        {
            append_to_output(current_output, *it, robust_policy,
                             boost::integral_constant<bool, RemoveSpikes>());
        }
    }
Esempio n. 2
0
File: xpp.c Progetto: pmolfese/nidb
/**
 Create the output file.
*/
bool create_output_file()
{
  int i;

  if (m_option.verbose) {
    printf("creating %s\n", m_output_file);
  }

  // Create empty output file
  if ((m_output_fp = fopen(m_output_file, "w")) == NULL) {
    printf("Error: Could not create output file: %s\n", m_output_file);
    return false;
  }

  // Loop thru all input files and append to output file
  if (m_option.verbose) {
    printf("from:\n");
  }
  for (i = 0; i < m_input_file_len; ++i) {
    if (append_to_output(m_input_file[i])) {
      if (m_option.verbose) {
        printf("%s\n", m_input_file[i]);
      }
    }
    else if (m_option.verbose) {
      printf("%s (output failed)\n", m_input_file[i]);
    }
  }

  fclose(m_output_fp);
  return true;
}
Esempio n. 3
0
File: xpp.c Progetto: pmolfese/nidb
void pp_include(char *p)
{
  parse_id(p, m_path_buf);
  if (append_to_output(m_path_buf)) {
    if (m_option.verbose) {
      printf("%s (included)\n", m_path_buf);
    }
  }
  else if (m_option.verbose) {
    printf("%s (include failed)\n", m_path_buf);
  }
}