Skip to content
Snippets Groups Projects
Commit ff643add authored by Van Herck, Walter's avatar Van Herck, Walter
Browse files

Implement casting from BinAxis to AxisDouble

parent c471e79a
No related branches found
No related tags found
No related merge requests found
......@@ -17,6 +17,9 @@
#include <string>
#include <vector>
// Forward declaration of BinAxis class, as needed for conversion constructor
class BinAxis;
//- -------------------------------------------------------------------
//! @class AxisDouble
//! @brief Definition of AxisDouble class that stores the points of an axis
......@@ -28,6 +31,10 @@ public:
AxisDouble(std::string name);
AxisDouble(std::string name, size_t size, double start, double end);
//! explicit conversion from BinAxis
//TODO: make explicit
AxisDouble(const BinAxis &source);
//! clone function
AxisDouble* clone() const;
......
......@@ -32,7 +32,7 @@ template <class T> class OutputData
{
public:
OutputData();
virtual ~OutputData();
~OutputData();
//! make object clone
OutputData* clone() const;
......
#include "AxisDouble.h"
#include "BinAxis.h"
#include "Numeric.h"
#include "Exceptions.h"
......@@ -15,6 +16,14 @@ AxisDouble::AxisDouble(std::string name, size_t size, double start, double end)
initElements(size, start, end);
}
AxisDouble::AxisDouble(const BinAxis& source)
: m_name(source.getName())
{
for (size_t i=0; i<source.getSize(); ++i) {
m_value_vector.push_back(source[i].getMidPoint());
}
}
AxisDouble* AxisDouble::clone() const
{
AxisDouble *p_clone = new AxisDouble(getName());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment