00001
00002
00014 #ifndef DataColumn_H
00015 #define DataColumn_H
00016
00017 #include "pattern/libhippo.h"
00018
00019 #include <vector>
00020
00021 #ifndef _MSC_VER
00022 #include <inttypes.h>
00023 #endif
00024
00025 namespace hippodraw {
00026
00031 class MDL_HIPPOPLOT_API DataColumn
00032 {
00033 public:
00034
00035 enum Type {
00036 Double,
00037 Float,
00038 Int,
00039 UInt,
00040 ULong64
00041 };
00042
00043 private:
00044
00048 std::vector < double > m_double_data;
00049
00053 std::vector < intptr_t > m_shape;
00054
00057 Type m_type;
00058
00059 private:
00060
00063 DataColumn ( const DataColumn & );
00064
00065 public:
00066
00069 DataColumn ();
00070
00073 ~DataColumn();
00074
00077 std::vector < double > & getData ();
00078
00081 const std::vector < double > & getData () const;
00082
00089 unsigned int getRank () const;
00090
00094 const std::vector < intptr_t > & getShape ();
00095
00099 void setShape ( const std::vector < intptr_t > & shape );
00100
00101
00107 std::size_t size () const;
00108
00111 void clear ();
00112
00115 double * doubleArrayAt ( unsigned int row );
00116
00117 };
00118
00119 }
00120
00121 #endif // DataColumn_H