UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PolyMatrix_old.hpp
1 /* PolyMatrix.hpp */
2 /* $Id: PolyMatrix.hpp 21282 2011-11-29 07:48:35Z guser1 $ */
3 #ifndef __PolyMatrix_old_hpp
4 #define __PolyMatrix_old_hpp
5 
6 #include <vector>
7 #include <set>
8 
9 #ifdef GE_BUILD
10 #include <trace.hpp>
11 #else
12 #include <s2proc/trace.hpp>
13 #endif
14 
15 //===================================================================================================
16 //=========================* Abstract interface for SP/RP based matrix construction *================
17 //===================================================================================================
18 
19 namespace polycor_old
20 {
21 
23 {
24 public:
25 
26  PolyMatrix();
27  virtual ~PolyMatrix();
28 
29  virtual bool SetMatrixElement(size_t i, size_t j, double& val) = 0;
30  virtual bool SetVectorElement(size_t i, double& val) = 0;
31  virtual bool IsReady() = 0;
32  virtual size_t GetPointsCount(std::vector<int> &ID_num) = 0;
33 };
34 
35 
36 //===================================================================================================
37 //======================* Class for universal based matrix construction *============================
38 //===================================================================================================
39 
40 class PolyMatrixPSC : public PolyMatrix
41 {
42 public:
43 
44  PolyMatrixPSC(std::map<int, std::map<int, Trace> > &sum_rows);
45  virtual ~PolyMatrixPSC();
46 
47  bool SetMatrixElement(size_t i, size_t j, double& val);
48  bool SetVectorElement(size_t i, double& val);
49 
50  bool IsReady();
51  size_t GetPointsCount(std::vector<int> &ID_num);
52 
53 protected:
54 
55  bool set_ID_Row();
56  std::set<int> m_point_set;
57  std::map<int, std::map<int, Trace> > m_sum_rows;
58 
59 private:
60  bool m_ready;
61 
62 };
63 
64 };
65 
66 #endif /* PolyMatrix_old.hpp */
Definition: PolyMatrix_old.hpp:22
Definition: PolyMatrix_old.hpp:40