UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
any_model.H
1 /* any_model.H */
2 /* $Id: any_model.H,v 2.7 2005/07/18 07:15:51 nikita Exp $ */
3 
4 #ifndef __any_model_H
5 #define __any_model_H
6 
7 #include <mix/Types.h>
8 #include <ldb/dbtools.h>
9 #include <mix/IntAr.H>
10 #include "db_container.H"
11 
12 #include "any_elements.H"
13 
14 /*
15  Класс any_model.
16  Прародитель для всех классов, работающих с трехмерными геофизическими
17  моделями.
18 
19  Объект может работать только с одной моделью. Если есть желание загрузить другую модель - только через создание нового объекта. Обеспечивает считывание/запись в базу данных, отображение различных элементов модели, редакцию модели без нарушения целостности */ // Длина строки комментария в таблице базы данных #define DB_COMMENT_SIZE 35 class any_model{ protected: void (*idle_func)(); model_db_container mdbStorage; Logic lRuined; // Флаг, что всех, кого надо, уже удалили Logic lUpToDate; // Флаг корректности модели. TRUE => собрана char sComment[DB_COMMENT_SIZE]; char sWell[DB_WELL_LEN+1]; int iSP; any_borders aBorders; any_bodies aBodies; // Элементы описания модели any_splines aSplines; dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
20  другую модель - только через создание нового объекта.
21 
22  Обеспечивает считываниезапись в базу данных, отображение различных элементов модели, редакцию модели без нарушения целостности */ // Длина строки комментария в таблице базы данных #define DB_COMMENT_SIZE 35 class any_model{ protected: void (*idle_func)(); model_db_container mdbStorage; Logic lRuined; // Флаг, что всех, кого надо, уже удалили Logic lUpToDate; // Флаг корректности модели. TRUE => собрана char sComment[DB_COMMENT_SIZE]; char sWell[DB_WELL_LEN+1]; int iSP; any_borders aBorders; any_bodies aBodies; // Элементы описания модели any_splines aSplines; dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */ /запись в базу данных, отображение различных элементов модели, редакцию модели без нарушения целостности */ // Длина строки комментария в таблице базы данных #define DB_COMMENT_SIZE 35 class any_model{ protected: void (*idle_func)(); model_db_container mdbStorage; Logic lRuined; // Флаг, что всех, кого надо, уже удалили Logic lUpToDate; // Флаг корректности модели. TRUE => собрана char sComment[DB_COMMENT_SIZE]; char sWell[DB_WELL_LEN+1]; int iSP; any_borders aBorders; any_bodies aBodies; // Элементы описания модели any_splines aSplines; dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
23  элементов модели, редакцию модели без нарушения целостности
24  */
25 
26 
27 // Длина строки комментария в таблице базы данных#define DB_COMMENT_SIZE 35 class any_model{ protected: void (*idle_func)(); model_db_container mdbStorage; Logic lRuined; // Флаг, что всех, кого надо, уже удалили Logic lUpToDate; // Флаг корректности модели. TRUE => собрана char sComment[DB_COMMENT_SIZE]; char sWell[DB_WELL_LEN+1]; int iSP; any_borders aBorders; any_bodies aBodies; // Элементы описания модели any_splines aSplines; dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
28 #define DB_COMMENT_SIZE 35
29 
30 class any_model{
31 protected:
32  void (*idle_func)();
33  model_db_container mdbStorage;
34 
35  Logic lRuined; // Флаг, что всех, кого надо, уже удалили
36  Logic lUpToDate; // Флаг корректности модели. TRUE => собрана char sComment[DB_COMMENT_SIZE]; char sWell[DB_WELL_LEN+1]; int iSP; any_borders aBorders; any_bodies aBodies; // Элементы описания модели any_splines aSplines; dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
37 
38  char sComment[DB_COMMENT_SIZE];
39  char sWell[DB_WELL_LEN+1];
40  int iSP;
41 
42  any_borders aBorders;
43  any_bodies aBodies; // Элементы описания модели
44  any_splines aSplines;
45 
46  dbItem dbiModel; // Идентификатор модели в базе данных dbItem dbiBorders; // Идентификатор границ модели в базе данных (?) // Название проекта (для полного описания нахождения модели в БД) char sProject[PROJECT_LEN+1]; int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
47  dbItem dbiBorders; // Идентификатор границ модели в базе данных (?)
48  // Название проекта (для полного описания нахождения модели в БД)
49  char sProject[PROJECT_LEN+1];
50  int iModelId; // Уникальный номер модели // Родили-убили any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
51 
52  // Родили-убили
53  any_model(); // Пустой как пустой any_model(any_model& am); // Конструктор копирования... Не бывает virtual ~any_model(); // Простенькие служебные процедуры IntAr neighbors(p_any_body)const; Logic contains_border(p_any_body,int)const; int border_number(p_any_border pBorder)const ; int common_border(int iB1,int iB2)const; void remind() const; public: // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
54  any_model(any_model& am); // Конструктор копирования... Не бывает
55 
56  virtual ~any_model();
57 
58  // Простенькие служебные процедуры
59  IntAr neighbors(p_any_body)const;
60  Logic contains_border(p_any_body,int)const;
61  int border_number(p_any_border pBorder)const ;
62  int common_border(int iB1,int iB2)const;
63  void remind() const;
64 public:
65 
66  // Работа с комментарием int set_comment(char * sC); char* get_comment(char * sC); // Изменение расположения модели в базе данных (еще не определился, как) // int db_model(); // Отображение модели пользователю - можем показать количество элементов int n_of_borders() const; int n_of_bodies() const; int n_of_splines()const ; int get_body(int i, any_body &bod)const ; // Редактирование модели void go_out_of_date(); Logic up_to_date()const; virtual Logic analyse_gp(int LeadingWaveType); // Простенькие служебные процедуры Logic contains_border(int iBody,int iBorder)const; Logic in_one_body(int iBorder1,int iBorder2)const; void set_idle_process(void(*f)()); virtual const char* class_id(){return "any_model";}; virtual Logic isDerivedFrom(const char* class_name); }; #endif /* any_model.H */ /* Melnikov George Y. 16-Sep-1998 */ /* ... */ /* Melnikov George Yu. 29-Nov-1999 */
67  int set_comment(char * sC);
68  char* get_comment(char * sC);
69 
70  // Изменение расположения модели в базе данных (еще не определился, как)
71  // int db_model();
72 
73  // Отображение модели пользователю - можем показать количество элементов
74  int n_of_borders() const;
75  int n_of_bodies() const;
76  int n_of_splines()const ;
77  int get_body(int i, any_body &bod)const ;
78 
79  // Редактирование модели
80  void go_out_of_date();
81  Logic up_to_date()const;
82  virtual Logic analyse_gp(int LeadingWaveType);
83 
84  // Простенькие служебные процедуры
85  Logic contains_border(int iBody,int iBorder)const;
86  Logic in_one_body(int iBorder1,int iBorder2)const;
87 
88  void set_idle_process(void(*f)());
89  virtual const char* class_id(){return "any_model";};
90  virtual Logic isDerivedFrom(const char* class_name);
91 };
92 
93 #endif /* any_model.H */
94 /* Melnikov George Y. 16-Sep-1998 */
95 /* ... */
96 /* Melnikov George Yu. 29-Nov-1999 */
Definition: any_model.H:30
Definition: db_container.H:95
Definition: IntAr.H:14
Definition: any_elements.H:108
Definition: dbnamedefs.h:85
Definition: any_elements.H:134