liborigin 2.0.0
/usr/src/slapt-src/libraries/liborigin/liborigin/Origin750Parser.h
Go to the documentation of this file.
1/***************************************************************************
2 File : Origin750Parser.h
3 --------------------------------------------------------------------
4 Copyright : (C) 2007-2008 Alex Kargovsky, Stefan Gerlach,
5 Ion Vasilief
6 Email (use @ for *) : kargovsky*yumr.phys.msu.su, ion_vasilief*yahoo.fr
7 Description : Origin 7.5 file parser class
8
9 ***************************************************************************/
10
11/***************************************************************************
12 * *
13 * This program is free software; you can redistribute it and/or modify *
14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. *
17 * *
18 * This program is distributed in the hope that it will be useful, *
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21 * GNU General Public License for more details. *
22 * *
23 * You should have received a copy of the GNU General Public License *
24 * along with this program; if not, write to the Free Software *
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
26 * Boston, MA 02110-1301 USA *
27 * *
28 ***************************************************************************/
29
30
31#ifndef ORIGIN_750_PARSER_H
32#define ORIGIN_750_PARSER_H
33
34#include "OriginParser.h"
35#include "endianfstream.hh"
36#include <string>
37#include <cmath> // for floor()
38
39using namespace std;
40using namespace Origin;
41
43{
44public:
45 Origin750Parser(const string& fileName);
46 bool parse();
47
48protected:
49 void readSpreadInfo();
50 void readExcelInfo();
51 void readMatrixInfo();
52 void readGraphInfo();
53 unsigned int readGraphAxisInfo(GraphAxis& axis);
54 void readGraphGridInfo(GraphGrid& grid);
55 void readGraphAxisBreakInfo(GraphAxisBreak& axis_break);
58 void readGraphAxisPrefixSuffixInfo(const string& sec_name, unsigned int size, GraphLayer& layer);
59 void readProjectTree();
61 void readWindowProperties(Window& window, unsigned int size);
62 virtual void readColorMap(ColorMap& colorMap);
63 void skipLine();
64 inline double stringToDouble(const string& s)
65 {
66 string s1 = s;
67 size_t pos = s.find(",");
68 if (pos != string::npos)
69 s1.replace(pos, 1, ".");
70 return strtod(s1.c_str(), NULL);
71 }
72
73 inline time_t doubleToPosixTime(double jdt)
74 {
75 /* 2440587.5 is julian date for the unixtime epoch */
76 return (time_t) floor((jdt - 2440587.5) * 86400. + 0.5);
77 }
78
79 unsigned int objectIndex;
81 FILE *logfile;
82
83 unsigned int d_file_size;
84 unsigned int d_colormap_offset;
85 unsigned int d_start_offset;
86};
87
88#endif // ORIGIN_750_PARSER_H
Definition: Origin750Parser.h:43
FILE * logfile
Definition: Origin750Parser.h:81
bool parse()
Definition: Origin750Parser.cpp:42
unsigned int d_file_size
Definition: Origin750Parser.h:83
void readGraphAxisPrefixSuffixInfo(const string &sec_name, unsigned int size, GraphLayer &layer)
Definition: Origin750Parser.cpp:2438
unsigned int d_start_offset
Definition: Origin750Parser.h:85
virtual void readProjectTreeFolder(tree< ProjectNode >::iterator parent)
Definition: Origin750Parser.cpp:2262
iendianfstream file
Definition: Origin750Parser.h:80
void readSpreadInfo()
Definition: Origin750Parser.cpp:576
unsigned int readGraphAxisInfo(GraphAxis &axis)
Definition: Origin750Parser.cpp:2203
unsigned int d_colormap_offset
Definition: Origin750Parser.h:84
void readGraphGridInfo(GraphGrid &grid)
Definition: Origin750Parser.cpp:2031
time_t doubleToPosixTime(double jdt)
Definition: Origin750Parser.h:73
unsigned int objectIndex
Definition: Origin750Parser.h:79
double stringToDouble(const string &s)
Definition: Origin750Parser.h:64
void readWindowProperties(Window &window, unsigned int size)
Definition: Origin750Parser.cpp:2329
void readGraphInfo()
Definition: Origin750Parser.cpp:1174
void readGraphAxisTickLabelsInfo(GraphAxisTick &tick)
Definition: Origin750Parser.cpp:2117
void skipLine()
Definition: Origin750Parser.cpp:2475
Origin750Parser(const string &fileName)
Definition: Origin750Parser.cpp:34
void readGraphAxisFormatInfo(GraphAxisFormat &format)
Definition: Origin750Parser.cpp:2075
void readProjectTree()
Definition: Origin750Parser.cpp:2241
void readGraphAxisBreakInfo(GraphAxisBreak &axis_break)
Definition: Origin750Parser.cpp:2053
void readExcelInfo()
Definition: Origin750Parser.cpp:792
void readMatrixInfo()
Definition: Origin750Parser.cpp:1013
virtual void readColorMap(ColorMap &colorMap)
Definition: Origin750Parser.cpp:2398
Definition: OriginParser.h:46
Definition: endianfstream.hh:38
Depth-first iterator, first accessing the node, then its children.
Definition: tree.hh:161
Definition: OriginObj.h:44
Definition: endianfstream.hh:36
Definition: OriginObj.h:119
Definition: OriginObj.h:484
Definition: OriginObj.h:512
Definition: OriginObj.h:527
Definition: OriginObj.h:541
Definition: OriginObj.h:504
Definition: OriginObj.h:655
Definition: OriginObj.h:125