delaunay_logger.cpp
1 #include <fstream>
2 #include "delaunay_logger.hpp"
3 #include "../misc/simple_io.hpp"
4 
5 using namespace delaunay_loggers;
6 
8 
9 void DelaunayLogger::output(vector<Vector2D> const& /*cor*/,
10  vector<facet> const& /*f*/) {}
11 
12 DelaunayLogger::~DelaunayLogger(void) {}
13 
14 BinaryLogger::BinaryLogger(string const& file_name):
15  file_name_(file_name) {}
16 
17 void BinaryLogger::output(vector<Vector2D> const& cor,
18  vector<facet> const& f)
19 {
20  ofstream file_handle(file_name_.c_str(),std::ostream::binary);
21 
22  binary_write_single_int(static_cast<int>(cor.size()),file_handle);
23 
24  binary_write_single_int(static_cast<int>(f.size()),file_handle);
25 
26  for(size_t i=0;i<cor.size();++i){
27  binary_write_single_double(cor[i].x,file_handle);
28  binary_write_single_double(cor[i].y,file_handle);
29  }
30 
31  for(size_t i=0;i<f.size();++i){
32  for(size_t j=0;j<3;++j)
33  binary_write_single_int(f[i].vertices[j],file_handle);
34  }
35 
36  for(size_t i=0;i<f.size();++i){
37  for(size_t j=0;j<3;++j)
38  binary_write_single_int(f[i].neighbors[j],file_handle);
39  }
40 
41  file_handle.close();
42 }
void output(vector< Vector2D > const &cor, vector< facet > const &f)
Dumps output.
void binary_write_single_double(double d, ofstream &fh)
Writes a double to a binary file.
Definition: simple_io.cpp:80
DelaunayLogger(void)
Class constructor.
Diagnostic functions for Delaunay triangulation.
virtual void output(vector< Vector2D > const &cor, vector< facet > const &f)
Dumps output.
void binary_write_single_int(int n, ofstream &fh)
Writes a single integer to a binary file.
Definition: simple_io.cpp:75
BinaryLogger(string const &file_name)
Class constructor.
A debugging function for the Delaunay triangulation.