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 */
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 */
46dbItem 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 */
47dbItem dbiBorders; // Идентификатор границ модели в базе данных (?)
48// Название проекта (для полного описания нахождения модели в БД)
49char sProject[PROJECT_LEN+1];
50int 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// Родили-убили
53any_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 */
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 */
67int set_comment(char * sC);
68char* get_comment(char * sC);
69
70// Изменение расположения модели в базе данных (еще не определился, как)
71// int db_model();
72
73// Отображение модели пользователю - можем показать количество элементов