00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00027 #include <boxes_delta.h>
00028 #include <print_seq.h>
00029
00030 bool boxes_delta::apply(work_node& _x, undelta_base*& _u) const
00031 {
00032 std::cerr << "Cannot directly apply a boxes_delta: convert missing!" <<
00033 std::endl;
00034 _u = NULL;
00035 return false;
00036 }
00037
00038 void boxes_delta::create_table(work_node& _x,
00039 vdbl::standard_table*& ptb,
00040 const std::string& __t) const
00041 {
00042 _x.get_database_ptr()->create_table("box", _x.get_dbuserid());
00043 ptb = (vdbl::standard_table*)
00044 _x.get_database_ptr()->get_table("box", _x.get_dbuserid());
00045 if(ptb == NULL)
00046 throw "Database inconsistency: Programming Error!";
00047 ptb->add_col("x",
00048 vdbl::typed_col<std::vector<interval> >(std::vector<interval>()),
00049 vdbl::colflags());
00050 vdbl::colid _xi(ptb->get_col_id("x"));
00051 ptb->add_col("exclusion box", vdbl::typed_col<bool>(false),
00052 vdbl::colflags(true));
00053 ptb->add_col("intersecting", vdbl::method_col<box_check_intersection>(
00054 box_check_intersection(_xi)),
00055 vdbl::colflags(true));
00056
00057 ptb->add_col("contains optimum", vdbl::typed_col<bool>(false),
00058 vdbl::colflags(true));
00059 ptb->add_col("eval region", vdbl::typed_col<bool>(false),
00060 vdbl::colflags(true));
00061 }
00062