labplot  2.8.2
About: LabPlot is an application for plotting and analysis of 2D and 3D functions and data. It is a complete rewrite of LabPlot1 and lacks in the first release a lot of features available in the predecessor. On the other hand, the GUI and the usability is more superior.
  Fossies Dox: labplot-2.8.2.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

OriginObj.h
Go to the documentation of this file.
1 /***************************************************************************
2  File : OriginObj.h
3  --------------------------------------------------------------------
4  Copyright : (C) 2005-2007, 2017 Stefan Gerlach
5  (C) 2007-2008 Alex Kargovsky, Ion Vasilief
6  Email (use @ for *) : kargovsky*yumr.phys.msu.su, ion_vasilief*yahoo.fr
7  Description : Origin internal object classes
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_OBJ_H
32 #define ORIGIN_OBJ_H
33 
34 #include <cstring>
35 #include <ctime>
36 #include <vector>
37 #include <string>
38 
39 using namespace std;
40 
41 #define _ONAN (-1.23456789E-300)
42 
43 namespace Origin
44 {
45  enum ValueType {Numeric = 0, Text = 1, Time = 2, Date = 3, Month = 4, Day = 5, ColumnHeading = 6, TickIndexedDataset = 7, TextNumeric = 9, Categorical = 10};
46  // Numeric Format:
47  // 1000 | 1E3 | 1k | 1,000
49  // Time Format:
50  // hh:mm | hh | hh:mm:ss | hh:mm:ss.zz | hh ap | hh:mm ap | mm:ss
51  // mm:ss.zz | hhmm | hhmmss | hh:mm:ss.zzz
54  // Date Format:
55  // dd/MM/yyyy | dd/MM/yyyy HH:mm | dd/MM/yyyy HH:mm:ss | dd.MM.yyyy | y. (year abbreviation) | MMM d
56  // M/d | d | ddd | First letter of day | yyyy | yy | dd.MM.yyyy hh:mm | dd.MM.yyyy hh:mm:ss
57  // yyMMdd | yyMMdd hh:mm | yyMMdd hh:mm:ss | yyMMdd hhmm | yyMMdd hhmmss | MMM
58  // First letter of month | Quartal | M-d-yyyy (Custom1) | hh:mm:ss.zzzz (Custom2)
63  // Month Format:
64  // MMM | MMMM | First letter of month
66  // ddd | dddd | First letter of day
68 
70  enum Attach {Frame = 0, Page = 1, Scale = 2, End_};
71  enum BorderType {BlackLine = 0, Shadow = 1, DarkMarble = 2, WhiteOut = 3, BlackOut = 4, None = -1};
75  enum ColorGradientDirection {NoGradient = 0, TopLeft = 1, Left = 2, BottomLeft = 3, Top = 4, Center = 5, Bottom = 6, TopRight = 7, Right = 8, BottomRight = 9};
76 
77  struct Color
78  {
79  enum ColorType {None = 0, Automatic = 1, Regular = 2, Custom = 3, Increment = 4, Indexing = 5, RGB = 6, Mapping = 7};
80  enum RegularColor {Black = 0, Red = 1, Green = 2, Blue = 3, Cyan = 4, Magenta = 5, Yellow = 6, DarkYellow = 7, Navy = 8,
81  Purple = 9, Wine = 10, Olive = 11, DarkCyan = 12, Royal= 13, Orange = 14, Violet = 15, Pink = 16, White = 17,
82  LightGray = 18, Gray = 19, LTYellow = 20, LTCyan = 21, LTMagenta = 22, DarkGray = 23, SpecialV7Axis = 0xF7/*, Custom = 255*/};
83 
85  union
86  {
87  unsigned char regular;
88  unsigned char custom[3];
89  unsigned char starting;
90  unsigned char column;
91  };
92  };
93 
94  struct Rect
95  {
96  short left;
97  short top;
98  short right;
99  short bottom;
100 
101  Rect(short width = 0, short height = 0)
102  : left(0)
103  , top(0)
104  , right(width)
105  , bottom(height)
106  {
107  };
108 
109  int height() const
110  {
111  return bottom - top;
112  };
113 
114  int width() const
115  {
116  return right - left;
117  };
118 
119  bool isValid() const
120  {
121  return height() > 0 && width() > 0;
122  }
123  };
124 
126  {
128  unsigned char fillPattern;
131 
134  unsigned char lineStyle;
135  double lineWidth;
136 
138  };
139 
140  typedef vector<pair<double, ColorMapLevel> > ColorMapVector;
141 
142  struct ColorMap
143  {
146  };
147 
148  struct Window
149  {
151  enum Title {Name, Label, Both};
152 
153  string name;
154  string label;
155  int objectID;
156  bool hidden;
160  time_t creationDate;
165 
166  Window(const string& _name = string(), const string& _label = string(), bool _hidden = false)
167  : name(_name)
168  , label(_label)
169  , objectID(-1)
170  , hidden(_hidden)
171  , state(Normal)
172  , title(Both)
173  , creationDate(0)
174  , modificationDate(0)
178  {};
179  };
180 
181  // Variant type with boost-free functions
182  // see https://github.com/highperformancecoder/scidavis/commit/7c6e07dfad80dbe190af29ffa8a56c82a8aa9180
183  // see https://www.ojdip.net/2013/10/implementing-a-variant-type-in-cpp/
184  // https://stackoverflow.com/questions/35648390/tagged-union-c
185  // https://books.google.de/books?id=PSUNAAAAQBAJ&pg=PA217&lpg=PA217&dq=c%2B%2B+tagged+union+string&source=bl&ots=DqArIieZ8H&sig=k2a6okxxgUuEkLw48hFJChkIG9o&hl=en&sa=X&ved=0ahUKEwjylreR08DUAhWBVRoKHWPSBqE4ChDoAQhUMAg#v=onepage&q=c%2B%2B%20tagged%20union%20string&f=false
186  typedef class Variant {
187  public:
189  vtype type() const {return m_type;}
190  double as_double() const {return m_double;}
191  const char* as_string() const {return m_string;}
192 
193  Variant() {}
194  Variant(const double d): m_double(d) {}
195  Variant(const string& s): m_type(V_STRING)
196  {
197  asgString(s.c_str());
198  }
199 
200  Variant(const Variant& v): m_type(v.m_type) {
201  switch (v.m_type) {
202  case V_DOUBLE:
203  m_double = v.m_double;
204  break;
205  case V_STRING:
206  asgString(v.m_string);
207  break;
208  }
209  }
210 
212  if (m_type == V_STRING)
213  delete [] m_string;
214 
215  switch (v.m_type) {
216  case V_DOUBLE:
217  m_double = v.m_double;
218  break;
219  case V_STRING:
220  asgString(v.m_string);
221  break;
222  }
223  m_type = v.m_type;
224  return *this;
225  }
226 
228  //printf("~Variant()\n");
229  if (m_type == V_STRING)
230  delete [] m_string;
231  }
232  private:
234  union {
235  double m_double=0.;
236  char* m_string;
237  };
238  void asgString(const char* x)
239  {
240  m_string=new char[strlen(x)+1];
241  strcpy(m_string,x);
242  }
244 
246  {
247  enum ColumnType {X, Y, Z, XErr, YErr, Label, NONE};
248 
249  string name;
250  string dataset_name;
257  string command;
258  string comment;
259  int width;
260  unsigned int index;
261  unsigned int colIndex;
262  unsigned int sheet;
263  unsigned int numRows;
264  unsigned int beginRow;
265  unsigned int endRow;
266  vector<variant> data;
267 
268  SpreadColumn(const string& _name = string(), unsigned int _index = 0)
269  : name(_name)
270  , type(ColumnType::Y)
271  , valueType(Numeric)
273  , significantDigits(6)
274  , decimalPlaces(6)
276  , width(8)
277  , index(_index)
278  , colIndex(0)
279  , sheet(0)
280  , numRows(0)
281  , beginRow(0)
282  , endRow(0)
283  {};
284  };
285 
286  struct SpreadSheet : public Window
287  {
288  unsigned int maxRows;
289  bool loose;
290  unsigned int sheets;
291  vector<SpreadColumn> columns;
292 
293  SpreadSheet(const string& _name = string())
294  : Window(_name)
295  , maxRows(30)
296  , loose(true)
297  , sheets(1)
298  {};
299  };
300 
301  struct Excel : public Window
302  {
303  unsigned int maxRows;
304  bool loose;
305  vector<SpreadSheet> sheets;
306 
307  Excel(const string& _name = string(), const string& _label = string(), int _maxRows = 0, bool _hidden = false, bool _loose = true)
308  : Window(_name, _label, _hidden)
309  , maxRows(_maxRows)
310  , loose(_loose)
311  {
312  };
313  };
314 
315  struct MatrixSheet
316  {
318 
319  string name;
320  unsigned short rowCount;
321  unsigned short columnCount;
326  string command;
327  unsigned short width;
328  unsigned int index;
331  vector<double> data;
332  vector<double> coordinates;
333 
334  MatrixSheet(const string& _name = string(), unsigned int _index = 0)
335  : name(_name)
336  , rowCount(8)
337  , columnCount(8)
339  , significantDigits(6)
340  , decimalPlaces(6)
342  , width(8)
343  , index(_index)
344  , view(DataView)
345  , colorMap()
346  {coordinates.push_back(10.0);coordinates.push_back(10.0);coordinates.push_back(1.0);coordinates.push_back(1.0);};
347  };
348 
349  struct Matrix : public Window
350  {
352 
353  unsigned int activeSheet;
355  vector<MatrixSheet> sheets;
356 
357  Matrix(const string& _name = string())
358  : Window(_name)
359  , activeSheet(0)
360  , header(ColumnRow)
361  {};
362  };
363 
364  struct Function
365  {
367 
368  string name;
370  string formula;
371  double begin;
372  double end;
374  unsigned int index;
375 
376  Function(const string& _name = string(), unsigned int _index = 0)
377  : name(_name)
378  , type(Normal)
379  , begin(0.0)
380  , end(0.0)
381  , totalPoints(0)
382  , index(_index)
383  {};
384  };
385 
386 
387  struct TextBox
388  {
389  string text;
392  unsigned short fontSize;
393  int rotation;
394  int tab;
397 
398  TextBox(const string& _text = string())
399  : text(_text)
401  , fontSize(20)
402  , rotation(0)
403  , tab(8)
405  , attach(Frame)
406  {};
407 
408  TextBox(const string& _text, Rect _clientRect, Color _color, unsigned short _fontSize, int _rotation, int _tab, BorderType _borderType, Attach _attach)
409  : text(_text)
410  , clientRect(_clientRect)
411  , color(_color)
412  , fontSize(_fontSize)
413  , rotation(_rotation)
414  , tab(_tab)
415  , borderType(_borderType)
416  , attach(_attach)
417  {};
418  };
419 
421  {
422  unsigned char viewAngle;
423  unsigned char thickness;
425  short rotation;
426  unsigned short radius;
427  unsigned short horizontalOffset;
428  unsigned long displacedSectionCount; // maximum - 32 sections
429  unsigned short displacement;
430 
431  //labels
437  unsigned short distance;
438 
440  : viewAngle(33)
441  , thickness(33)
442  , clockwiseRotation(false)
443  , rotation(33)
444  , radius(70)
445  , horizontalOffset(0)
447  , displacement(25)
448  , formatAutomatic(false)
449  , formatValues(false)
450  , formatPercentages(false)
451  , formatCategories(false)
452  , positionAssociate(false)
453  , distance(25)
454  {};
455  };
456 
458  {
460 
462  double width;
463  unsigned short arrowLength;
464  unsigned char arrowAngle;
468 
472  float multiplier;
475 
478  , width(2.0)
479  , arrowLength(45)
480  , arrowAngle(30)
481  , arrowClosed(false)
482  , position(Tail)
483  , multiplier(1.0)
484  , constAngle(0)
485  , constMagnitude(0)
486  {};
487  };
488 
490  {
492 
494  bool fontBold;
497  bool whiteOut;
499 
500  short rotation;
501  short xOffset;
502  short yOffset;
503  unsigned short fontSize;
504  };
505 
507  {
509  {
510  bool fill;
511  bool contour;
513  double lineWidth;
514  };
515 
517  enum Grids {None, X, Y, XY};
518 
519  unsigned char type;
523 
527 
531 
535 
537  };
538 
540  {
541  unsigned char maxSymbolType;
542  unsigned char p99SymbolType;
543  unsigned char meanSymbolType;
544  unsigned char p1SymbolType;
545  unsigned char minSymbolType;
548  unsigned short symbolSize;
549  unsigned char boxRange;
550  unsigned char whiskersRange;
551  double boxCoeff;
554  unsigned char labels;
556  : maxSymbolType(1)
557  , p99SymbolType(2)
558  , meanSymbolType(3)
559  , p1SymbolType(4)
560  , minSymbolType(5)
563  , symbolSize(5)
564  , boxRange(25)
565  , whiskersRange(5)
566  , boxCoeff(1.0)
567  , whiskersCoeff(1.5)
568  , diamondBox(true)
569  , labels(0)
570  {};
571  };
572 
573  struct GraphCurve
574  {
575  enum Plot {Scatter3D = 101, Surface3D = 103, Vector3D = 183, ScatterAndErrorBar3D = 184, TernaryContour = 185,
576  PolarXrYTheta = 186, SmithChart = 191, Polar = 192, BubbleIndexed = 193, BubbleColorMapped = 194,
577  Line = 200, Scatter=201, LineSymbol=202, Column = 203, Area = 204, HiLoClose = 205, Box = 206,
578  ColumnFloat = 207, Vector = 208, PlotDot = 209, Wall3D = 210, Ribbon3D = 211, Bar3D = 212, ColumnStack = 213,
579  AreaStack = 214, Bar = 215, BarStack = 216, FlowVector = 218, Histogram = 219, MatrixImage = 220, Pie = 225,
580  Contour = 226, Unknown = 230, ErrorBar = 231, TextPlot = 232, XErrorBar = 233, SurfaceColorMap = 236,
581  SurfaceColorFill = 237, SurfaceWireframe = 238, SurfaceBars = 239, Line3D = 240, Text3D = 241, Mesh3D = 242,
582  XYZContour = 243, XYZTriangular = 245, LineSeries = 246, YErrorBar = 254, XYErrorBar = 255};
583  enum LineStyle {Solid = 0, Dash = 1, Dot = 2, DashDot = 3, DashDotDot = 4, ShortDash = 5, ShortDot = 6, ShortDashDot = 7};
586 
587  bool hidden;
588  unsigned char type;
589  string dataName;
590  string xDataName;
591  string xColumnName;
592  string yColumnName;
593  string zColumnName;
595  unsigned char lineTransparency;
596  unsigned char lineStyle;
597  unsigned char lineConnect;
598  unsigned char boxWidth;
599  double lineWidth;
600 
601  bool fillArea;
602  unsigned char fillAreaType;
603  unsigned char fillAreaPattern;
605  unsigned char fillAreaTransparency;
612 
613  unsigned char symbolInterior;
614  unsigned char symbolShape;
617  unsigned char symbolFillTransparency;
618  double symbolSize;
619  unsigned char symbolThickness;
620  unsigned char pointOffset;
621 
623 
624  //pie
626 
627  //vector
629 
630  //text
632 
633  //surface
635 
636  //contour
638  };
639 
641  {
642  bool show;
643 
644  bool log10;
645  double from;
646  double to;
647  double position;
648 
651 
652  unsigned char minorTicksBefore;
653  unsigned char minorTicksAfter;
654 
656  : show(false)
657  , log10(false)
658  , from(4.)
659  , to(6.)
660  , position(50.)
663  , minorTicksBefore(1)
664  , minorTicksAfter(1)
665  {};
666  };
667 
668  struct GraphGrid
669  {
670  bool hidden;
671  unsigned char color;
672  unsigned char style;
673  double width;
674  };
675 
677  {
678  bool hidden;
679  unsigned char color;
680  double thickness;
687  string prefix;
688  string suffix;
689  string factor;
690  };
691 
693  {
695  unsigned char color;
699  unsigned short fontSize;
700  bool fontBold;
701  string dataName;
702  string columnName;
703  int rotation;
704  };
705 
706  struct GraphAxis
707  {
709  enum Scale {Linear = 0, Log10 = 1, Probability = 2, Probit = 3, Reciprocal = 4, OffsetReciprocal = 5, Logit = 6, Ln = 7, Log2 = 8};
710 
712  bool zeroLine;
714  double min;
715  double max;
716  double step;
717  unsigned char majorTicks;
718  unsigned char minorTicks;
719  unsigned char scale;
723  GraphAxisTick tickAxis[2]; //bottom-top, left-right
724  };
725 
726  struct Figure
727  {
729 
734  unsigned char style;
735  double width;
737  unsigned char fillAreaPattern;
741 
743  : type(_type)
744  , attach(Frame)
746  , style(0)
747  , width(1.0)
752  , useBorderColor(false)
753  {
754  };
755  };
756 
757  struct LineVertex
758  {
759  unsigned char shapeType;
760  double shapeWidth;
761  double shapeLength;
762  double x;
763  double y;
764 
766  : shapeType(0)
767  , shapeWidth(0.0)
768  , shapeLength(0.0)
769  , x(0.0)
770  , y(0.0)
771  {};
772  };
773 
774  struct Line
775  {
779  double width;
780  unsigned char style;
783  };
784 
785  struct Bitmap
786  {
789  unsigned long size;
790  string windowName;
792  unsigned char* data;
793 
794  Bitmap(const string& _name = string())
795  : attach(Frame)
796  , size(0)
797  , windowName(_name)
799  , data(nullptr)
800  {
801  };
802 
803  Bitmap(const Bitmap& bitmap)
804  : clientRect(bitmap.clientRect)
805  , attach(bitmap.attach)
806  , size(bitmap.size)
807  , windowName(bitmap.windowName)
808  , borderType(bitmap.borderType)
809  , data(nullptr)
810  {
811  if(size > 0)
812  {
813  data = new unsigned char[size];
814  memcpy(data, bitmap.data, size);
815  }
816  };
817 
819  {
820  if(size > 0)
821  delete data;
822  };
823  };
824 
825  struct ColorScale
826  {
827  bool visible;
829  unsigned short labelGap;
830  unsigned short colorBarThickness;
833  : visible(true)
834  , reverseOrder(false)
835  , labelGap(5)
836  , colorBarThickness(3)
838  {};
839  };
840 
841  struct GraphLayer
842  {
847 
851 
855 
856  double histogramBin;
858  double histogramEnd;
859 
863 
864  vector<TextBox> texts;
865  vector<TextBox> pieTexts;
866  vector<Line> lines;
867  vector<Figure> figures;
868  vector<Bitmap> bitmaps;
869  vector<GraphCurve> curves;
870 
871  float xAngle;
872  float yAngle;
873  float zAngle;
874 
875  float xLength;
876  float yLength;
877  float zLength;
878 
880  double vLine;
881  double hLine;
882 
884  int xOffset;
885  int yOffset;
886 
887  bool gridOnTop;
889  bool isXYY3D;
891 
895  , xAxis(), yAxis(), zAxis()
896  , histogramBin(0.5)
897  , histogramBegin(0.0)
898  , histogramEnd(10.0)
899  , colorMap()
900  , xAngle(0)
901  , yAngle(0)
902  , zAngle(0)
903  , xLength(10)
904  , yLength(10)
905  , zLength(10)
906  , imageProfileTool(0)
907  , vLine(0.0)
908  , hLine(0.0)
909  , isWaterfall(false)
910  , xOffset(10)
911  , yOffset(10)
912  , gridOnTop(false)
913  , exchangedAxes(false)
914  , isXYY3D(false)
915  , orthographic3D(false)
916  {colorScale.visible = false;};
917 
918  //bool threeDimensional;
919  bool is3D() const
920  {
921  for (vector<GraphCurve>::const_iterator it = curves.begin(); it != curves.end(); ++it)
922  {
923  switch (it->type)
924  {
930  case GraphCurve::Line3D:
931  case GraphCurve::Mesh3D:
934  return true;
935  default:
936  break;
937  }
938  }
939  return false;
940  }
941  };
942 
944  {
945  double min;
946  double max;
947  double step;
948 
949  GraphLayerRange(double _min = 0.0, double _max = 0.0, double _step = 0.0)
950  : min(_min)
951  , max(_max)
952  , step(_step)
953  {};
954  };
955 
956  struct Graph : public Window
957  {
958  vector<GraphLayer> layers;
959  unsigned short width;
960  unsigned short height;
961  bool is3D;
962  bool isLayout;
964  string templateName;
965 
966  Graph(const string& _name = string())
967  : Window(_name)
968  , width(400)
969  , height(300)
970  , is3D(false)
971  , isLayout(false)
972  , connectMissingData(false)
973  {};
974  };
975 
976  struct Note : public Window
977  {
978  string text;
979  Note(const string& _name = string())
980  : Window(_name)
981  {};
982  };
983 
984  struct ProjectNode
985  {
987 
989  string name;
990  time_t creationDate;
992  bool active;
993 
994  ProjectNode(const string& _name = string(), NodeType _type = Folder, const time_t _creationDate = time(nullptr), const time_t _modificationDate = time(nullptr), bool _active = false)
995  : type(_type)
996  , name(_name)
997  , creationDate(_creationDate)
998  , modificationDate(_modificationDate)
999  , active(_active)
1000  {};
1001  };
1002 }
1003 
1004 
1005 
1006 #endif // ORIGIN_OBJ_H
Aspect that manages a column.
Definition: Column.h:42
Folder in a project.
Definition: Folder.h:35
A 2D-curve, provides an interface for editing many properties of the curve.
Definition: Histogram.h:42
double as_double() const
Definition: OriginObj.h:190
void asgString(const char *x)
Definition: OriginObj.h:238
Variant(const double d)
Definition: OriginObj.h:194
Variant(const string &s)
Definition: OriginObj.h:195
char * m_string
Definition: OriginObj.h:236
Origin::Variant & operator=(const Origin::Variant &v)
Definition: OriginObj.h:211
vtype type() const
Definition: OriginObj.h:189
Variant(const Variant &v)
Definition: OriginObj.h:200
const char * as_string() const
Definition: OriginObj.h:191
double m_double
Definition: OriginObj.h:235
DayOfWeekFormat
Definition: OriginObj.h:67
@ DAY_LETTER
Definition: OriginObj.h:67
@ DAY_DDD
Definition: OriginObj.h:67
@ DAY_DDDD
Definition: OriginObj.h:67
vector< pair< double, ColorMapLevel > > ColorMapVector
Definition: OriginObj.h:140
@ Page
Definition: OriginObj.h:70
@ Scale
Definition: OriginObj.h:70
@ End_
Definition: OriginObj.h:70
@ Frame
Definition: OriginObj.h:70
NumericFormat
Definition: OriginObj.h:48
@ Decimal
Definition: OriginObj.h:48
@ DecimalWithMarks
Definition: OriginObj.h:48
@ Scientific
Definition: OriginObj.h:48
@ Engineering
Definition: OriginObj.h:48
BorderType
Definition: OriginObj.h:71
@ None
Definition: OriginObj.h:71
@ BlackLine
Definition: OriginObj.h:71
@ WhiteOut
Definition: OriginObj.h:71
@ Shadow
Definition: OriginObj.h:71
@ BlackOut
Definition: OriginObj.h:71
@ DarkMarble
Definition: OriginObj.h:71
ColorGradientDirection
Definition: OriginObj.h:75
@ NoGradient
Definition: OriginObj.h:75
@ BottomRight
Definition: OriginObj.h:75
@ Top
Definition: OriginObj.h:75
@ TopRight
Definition: OriginObj.h:75
@ TopLeft
Definition: OriginObj.h:75
@ Center
Definition: OriginObj.h:75
@ BottomLeft
Definition: OriginObj.h:75
@ Bottom
Definition: OriginObj.h:75
@ Right
Definition: OriginObj.h:75
@ Left
Definition: OriginObj.h:75
class Origin::Variant variant
FillPattern
Definition: OriginObj.h:72
@ CrossDense
Definition: OriginObj.h:74
@ FDiagSparse
Definition: OriginObj.h:72
@ BDiagDense
Definition: OriginObj.h:72
@ FDiagMedium
Definition: OriginObj.h:72
@ DiagCrossMedium
Definition: OriginObj.h:73
@ BDiagMedium
Definition: OriginObj.h:72
@ CrossMedium
Definition: OriginObj.h:74
@ HorizontalDense
Definition: OriginObj.h:73
@ HorizontalSparse
Definition: OriginObj.h:73
@ VerticalMedium
Definition: OriginObj.h:74
@ BDiagSparse
Definition: OriginObj.h:72
@ HorizontalMedium
Definition: OriginObj.h:73
@ FDiagDense
Definition: OriginObj.h:72
@ DiagCrossDense
Definition: OriginObj.h:73
@ VerticalSparse
Definition: OriginObj.h:74
@ NoFill
Definition: OriginObj.h:72
@ DiagCrossSparse
Definition: OriginObj.h:73
@ CrossSparse
Definition: OriginObj.h:74
@ VerticalDense
Definition: OriginObj.h:74
MonthFormat
Definition: OriginObj.h:65
@ MONTH_MMM
Definition: OriginObj.h:65
@ MONTH_MMMM
Definition: OriginObj.h:65
@ MONTH_LETTER
Definition: OriginObj.h:65
DateFormat
Definition: OriginObj.h:59
@ DATE_YYMMDD_HH_MM
Definition: OriginObj.h:61
@ DATE_M_D
Definition: OriginObj.h:60
@ DATE_DD_MM_YYYY
Definition: OriginObj.h:59
@ DATE_YYYY
Definition: OriginObj.h:60
@ DATE_D
Definition: OriginObj.h:60
@ DATE_YYMMDD_HH_MM_SS
Definition: OriginObj.h:61
@ DATE_DDD
Definition: OriginObj.h:60
@ DATE_YYMMDD
Definition: OriginObj.h:61
@ DATE_YYMMDD_HHMM
Definition: OriginObj.h:61
@ DATE_YYMMDD_HHMMSS
Definition: OriginObj.h:61
@ DATE_Q
Definition: OriginObj.h:62
@ DATE_Y
Definition: OriginObj.h:59
@ DATE_DDMMYYYY_HH_MM
Definition: OriginObj.h:60
@ DATE_YY
Definition: OriginObj.h:60
@ DATE_DD_MM_YYYY_HH_MM_SS
Definition: OriginObj.h:59
@ DATE_MMM_D
Definition: OriginObj.h:59
@ DATE_DDMMYYYY
Definition: OriginObj.h:59
@ DATE_DD_MM_YYYY_HH_MM
Definition: OriginObj.h:59
@ DATE_DAY_LETTER
Definition: OriginObj.h:60
@ DATE_HH_MM_SS_ZZZZ
Definition: OriginObj.h:62
@ DATE_M_D_YYYY
Definition: OriginObj.h:62
@ DATE_DDMMYYYY_HH_MM_SS
Definition: OriginObj.h:60
@ DATE_MMM
Definition: OriginObj.h:61
@ DATE_MONTH_LETTER
Definition: OriginObj.h:62
TimeFormat
Definition: OriginObj.h:52
@ TIME_HH_MM_AP
Definition: OriginObj.h:52
@ TIME_HH
Definition: OriginObj.h:52
@ TIME_HH_MM
Definition: OriginObj.h:52
@ TIME_HHMMSS
Definition: OriginObj.h:53
@ TIME_HHMM
Definition: OriginObj.h:53
@ TIME_HH_AP
Definition: OriginObj.h:52
@ TIME_HH_MM_SS
Definition: OriginObj.h:52
@ TIME_HH_MM_SS_ZZ
Definition: OriginObj.h:52
@ TIME_MM_SS
Definition: OriginObj.h:52
@ TIME_HH_MM_SS_ZZZ
Definition: OriginObj.h:53
@ TIME_MM_SS_ZZ
Definition: OriginObj.h:53
ValueType
Definition: OriginObj.h:45
@ TickIndexedDataset
Definition: OriginObj.h:45
@ Month
Definition: OriginObj.h:45
@ ColumnHeading
Definition: OriginObj.h:45
@ Categorical
Definition: OriginObj.h:45
@ TextNumeric
Definition: OriginObj.h:45
@ Date
Definition: OriginObj.h:45
@ Time
Definition: OriginObj.h:45
@ Numeric
Definition: OriginObj.h:45
@ Text
Definition: OriginObj.h:45
@ Day
Definition: OriginObj.h:45
NumericDisplayType
Definition: OriginObj.h:69
@ DecimalPlaces
Definition: OriginObj.h:69
@ SignificantDigits
Definition: OriginObj.h:69
@ DefaultDecimalDigits
Definition: OriginObj.h:69
BorderType borderType
Definition: OriginObj.h:791
Bitmap(const string &_name=string())
Definition: OriginObj.h:794
unsigned char * data
Definition: OriginObj.h:792
Bitmap(const Bitmap &bitmap)
Definition: OriginObj.h:803
unsigned long size
Definition: OriginObj.h:789
string windowName
Definition: OriginObj.h:790
Attach attach
Definition: OriginObj.h:788
unsigned char lineStyle
Definition: OriginObj.h:134
unsigned char fillPattern
Definition: OriginObj.h:128
double fillPatternLineWidth
Definition: OriginObj.h:130
ColorMapVector levels
Definition: OriginObj.h:145
unsigned short colorBarThickness
Definition: OriginObj.h:830
unsigned short labelGap
Definition: OriginObj.h:829
unsigned char starting
Definition: OriginObj.h:89
ColorType type
Definition: OriginObj.h:84
unsigned char custom[3]
Definition: OriginObj.h:88
unsigned char regular
Definition: OriginObj.h:87
unsigned char column
Definition: OriginObj.h:90
unsigned int maxRows
Definition: OriginObj.h:303
Excel(const string &_name=string(), const string &_label=string(), int _maxRows=0, bool _hidden=false, bool _loose=true)
Definition: OriginObj.h:307
vector< SpreadSheet > sheets
Definition: OriginObj.h:305
Color fillAreaPatternColor
Definition: OriginObj.h:738
unsigned char fillAreaPattern
Definition: OriginObj.h:737
FigureType type
Definition: OriginObj.h:730
double width
Definition: OriginObj.h:735
bool useBorderColor
Definition: OriginObj.h:740
Attach attach
Definition: OriginObj.h:732
double fillAreaPatternWidth
Definition: OriginObj.h:739
unsigned char style
Definition: OriginObj.h:734
Figure(FigureType _type=Rectangle)
Definition: OriginObj.h:742
Color fillAreaColor
Definition: OriginObj.h:736
FunctionType type
Definition: OriginObj.h:369
Function(const string &_name=string(), unsigned int _index=0)
Definition: OriginObj.h:376
unsigned int index
Definition: OriginObj.h:374
unsigned char minorTicksBefore
Definition: OriginObj.h:652
unsigned char minorTicksAfter
Definition: OriginObj.h:653
unsigned char color
Definition: OriginObj.h:679
unsigned char color
Definition: OriginObj.h:695
unsigned short fontSize
Definition: OriginObj.h:699
GraphGrid majorGrid
Definition: OriginObj.h:720
unsigned char minorTicks
Definition: OriginObj.h:718
AxisPosition position
Definition: OriginObj.h:711
GraphAxisTick tickAxis[2]
Definition: OriginObj.h:723
unsigned char majorTicks
Definition: OriginObj.h:717
GraphGrid minorGrid
Definition: OriginObj.h:721
GraphAxisFormat formatAxis[2]
Definition: OriginObj.h:722
unsigned char scale
Definition: OriginObj.h:719
unsigned char fillAreaPattern
Definition: OriginObj.h:603
unsigned char symbolThickness
Definition: OriginObj.h:619
PieProperties pie
Definition: OriginObj.h:625
unsigned char fillAreaPatternBorderStyle
Definition: OriginObj.h:609
TextProperties text
Definition: OriginObj.h:631
unsigned char lineConnect
Definition: OriginObj.h:597
unsigned char fillAreaTransparency
Definition: OriginObj.h:605
Color fillAreaPatternColor
Definition: OriginObj.h:607
unsigned char symbolFillTransparency
Definition: OriginObj.h:617
unsigned char lineStyle
Definition: OriginObj.h:596
VectorProperties vector
Definition: OriginObj.h:628
unsigned char symbolInterior
Definition: OriginObj.h:613
SurfaceProperties surface
Definition: OriginObj.h:634
unsigned char pointOffset
Definition: OriginObj.h:620
unsigned char lineTransparency
Definition: OriginObj.h:595
unsigned char boxWidth
Definition: OriginObj.h:598
unsigned char type
Definition: OriginObj.h:588
unsigned char fillAreaType
Definition: OriginObj.h:602
double fillAreaPatternWidth
Definition: OriginObj.h:608
Color fillAreaPatternBorderColor
Definition: OriginObj.h:610
ColorMap colorMap
Definition: OriginObj.h:637
double fillAreaPatternBorderWidth
Definition: OriginObj.h:611
bool fillAreaWithLineTransparency
Definition: OriginObj.h:606
unsigned char symbolShape
Definition: OriginObj.h:614
unsigned char style
Definition: OriginObj.h:672
unsigned char color
Definition: OriginObj.h:671
GraphLayerRange(double _min=0.0, double _max=0.0, double _step=0.0)
Definition: OriginObj.h:949
vector< GraphCurve > curves
Definition: OriginObj.h:869
bool is3D() const
Definition: OriginObj.h:919
double histogramBegin
Definition: OriginObj.h:857
ColorScale colorScale
Definition: OriginObj.h:861
vector< TextBox > pieTexts
Definition: OriginObj.h:865
vector< Figure > figures
Definition: OriginObj.h:867
GraphAxisBreak zAxisBreak
Definition: OriginObj.h:854
PercentileProperties percentile
Definition: OriginObj.h:860
vector< Bitmap > bitmaps
Definition: OriginObj.h:868
vector< TextBox > texts
Definition: OriginObj.h:864
ColorMap colorMap
Definition: OriginObj.h:862
GraphAxisBreak xAxisBreak
Definition: OriginObj.h:852
GraphAxis xAxis
Definition: OriginObj.h:848
vector< Line > lines
Definition: OriginObj.h:866
BorderType borderType
Definition: OriginObj.h:846
GraphAxis yAxis
Definition: OriginObj.h:849
GraphAxisBreak yAxisBreak
Definition: OriginObj.h:853
GraphAxis zAxis
Definition: OriginObj.h:850
bool connectMissingData
Definition: OriginObj.h:963
unsigned short height
Definition: OriginObj.h:960
unsigned short width
Definition: OriginObj.h:959
string templateName
Definition: OriginObj.h:964
Graph(const string &_name=string())
Definition: OriginObj.h:966
vector< GraphLayer > layers
Definition: OriginObj.h:958
unsigned char shapeType
Definition: OriginObj.h:759
Color color
Definition: OriginObj.h:777
double width
Definition: OriginObj.h:779
Rect clientRect
Definition: OriginObj.h:776
unsigned char style
Definition: OriginObj.h:780
LineVertex end
Definition: OriginObj.h:782
Attach attach
Definition: OriginObj.h:778
LineVertex begin
Definition: OriginObj.h:781
unsigned short width
Definition: OriginObj.h:327
vector< double > data
Definition: OriginObj.h:331
vector< double > coordinates
Definition: OriginObj.h:332
unsigned int index
Definition: OriginObj.h:328
unsigned short rowCount
Definition: OriginObj.h:320
NumericDisplayType numericDisplayType
Definition: OriginObj.h:325
unsigned short columnCount
Definition: OriginObj.h:321
MatrixSheet(const string &_name=string(), unsigned int _index=0)
Definition: OriginObj.h:334
HeaderViewType header
Definition: OriginObj.h:354
vector< MatrixSheet > sheets
Definition: OriginObj.h:355
unsigned int activeSheet
Definition: OriginObj.h:353
Matrix(const string &_name=string())
Definition: OriginObj.h:357
string text
Definition: OriginObj.h:978
Note(const string &_name=string())
Definition: OriginObj.h:979
unsigned char meanSymbolType
Definition: OriginObj.h:543
unsigned short symbolSize
Definition: OriginObj.h:548
unsigned char p99SymbolType
Definition: OriginObj.h:542
unsigned char whiskersRange
Definition: OriginObj.h:550
unsigned char maxSymbolType
Definition: OriginObj.h:541
unsigned char p1SymbolType
Definition: OriginObj.h:544
unsigned char minSymbolType
Definition: OriginObj.h:545
unsigned short radius
Definition: OriginObj.h:426
unsigned short displacement
Definition: OriginObj.h:429
unsigned char viewAngle
Definition: OriginObj.h:422
unsigned short distance
Definition: OriginObj.h:437
unsigned char thickness
Definition: OriginObj.h:423
unsigned long displacedSectionCount
Definition: OriginObj.h:428
unsigned short horizontalOffset
Definition: OriginObj.h:427
time_t modificationDate
Definition: OriginObj.h:991
ProjectNode(const string &_name=string(), NodeType _type=Folder, const time_t _creationDate=time(nullptr), const time_t _modificationDate=time(nullptr), bool _active=false)
Definition: OriginObj.h:994
short right
Definition: OriginObj.h:98
short bottom
Definition: OriginObj.h:99
Rect(short width=0, short height=0)
Definition: OriginObj.h:101
int height() const
Definition: OriginObj.h:109
short left
Definition: OriginObj.h:96
bool isValid() const
Definition: OriginObj.h:119
short top
Definition: OriginObj.h:97
int width() const
Definition: OriginObj.h:114
vector< variant > data
Definition: OriginObj.h:266
SpreadColumn(const string &_name=string(), unsigned int _index=0)
Definition: OriginObj.h:268
unsigned int numRows
Definition: OriginObj.h:263
unsigned int sheet
Definition: OriginObj.h:262
unsigned int colIndex
Definition: OriginObj.h:261
unsigned int beginRow
Definition: OriginObj.h:264
unsigned int index
Definition: OriginObj.h:260
unsigned int endRow
Definition: OriginObj.h:265
ValueType valueType
Definition: OriginObj.h:252
NumericDisplayType numericDisplayType
Definition: OriginObj.h:256
unsigned int maxRows
Definition: OriginObj.h:288
SpreadSheet(const string &_name=string())
Definition: OriginObj.h:293
unsigned int sheets
Definition: OriginObj.h:290
vector< SpreadColumn > columns
Definition: OriginObj.h:291
SurfaceColoration bottomContour
Definition: OriginObj.h:534
SurfaceColoration surface
Definition: OriginObj.h:532
SurfaceColoration topContour
Definition: OriginObj.h:533
TextBox(const string &_text=string())
Definition: OriginObj.h:398
BorderType borderType
Definition: OriginObj.h:395
unsigned short fontSize
Definition: OriginObj.h:392
TextBox(const string &_text, Rect _clientRect, Color _color, unsigned short _fontSize, int _rotation, int _tab, BorderType _borderType, Attach _attach)
Definition: OriginObj.h:408
unsigned short fontSize
Definition: OriginObj.h:503
unsigned short arrowLength
Definition: OriginObj.h:463
VectorPosition position
Definition: OriginObj.h:469
unsigned char arrowAngle
Definition: OriginObj.h:464
time_t creationDate
Definition: OriginObj.h:160
Color windowBackgroundColorEnd
Definition: OriginObj.h:164
Color windowBackgroundColorBase
Definition: OriginObj.h:163
string label
Definition: OriginObj.h:154
Window(const string &_name=string(), const string &_label=string(), bool _hidden=false)
Definition: OriginObj.h:166
time_t modificationDate
Definition: OriginObj.h:161
ColorGradientDirection windowBackgroundColorGradient
Definition: OriginObj.h:162