UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
zd_coord_obj_stream.hpp
1 /* zd_coord_obj_stream.hpp */
2 /* $Id: zd_coord_obj_stream.hpp,v 1.2 2007/04/13 19:57:50 vlad Exp $ */
3 #ifndef __zd_coord_obj_stream_hpp
4 #define __zd_coord_obj_stream_hpp
5 
6 #include "zqb_types.h"
7 #include "zd_document.hpp"
8 
9 
16 {
17 public:
18 
20  ZdCoordObjStream (const char* szDocName = NULL);
21 
22 
26  virtual void setCustomCoord (int iCoordId,
27  ZqbOrder eOrder = Z_O_ASCENT);
28 
34  virtual void setSecondaryOrder (int iSecondaryId,
35  ZqbOrder eOrder = Z_O_ASCENT);
36 
42  virtual void setTertiaryOrder (int iTertiaryId,
43  ZqbOrder eOrder = Z_O_ASCENT);
44 
47  virtual bool getCoordRange (double c[2]) = 0;
48 
50  virtual double averageCoordStep () = 0;
51 
53  virtual int maxEnsembleLength () = 0;
54 
55 
56  /*
57  * Iterator methods.
58  */
59 
62  virtual bool goFirstCoord () = 0;
63 
66  virtual bool goNextCoord () = 0;
67 
70  virtual double coord () = 0;
71 
74  virtual int ensembleLength () = 0;
75 
80  virtual void* custom (int ens_index = 0,
81  ZqbType* pRetType = NULL) { return NULL; }
82 
83 private:
84 
86  static int s_iNameCounter;
87 
89  static char *s_szOwnType;
90 
91 };
92 
93 
94 #endif /* zd_coord_obj_stream.hpp */
virtual int maxEnsembleLength()=0
virtual double averageCoordStep()=0
virtual void setSecondaryOrder(int iSecondaryId, ZqbOrder eOrder=Z_O_ASCENT)
virtual int ensembleLength()=0
ZdCoordObjStream(const char *szDocName=NULL)
virtual void setCustomCoord(int iCoordId, ZqbOrder eOrder=Z_O_ASCENT)
virtual bool getCoordRange(double c[2])=0
Definition: zd_coord_obj_stream.hpp:15
Definition: zd_document.hpp:16
virtual double coord()=0
virtual bool goNextCoord()=0
virtual void * custom(int ens_index=0, ZqbType *pRetType=NULL)
Definition: zd_coord_obj_stream.hpp:80
virtual void setTertiaryOrder(int iTertiaryId, ZqbOrder eOrder=Z_O_ASCENT)
virtual bool goFirstCoord()=0