00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <basis/function.h>
00020 #include <basis/guards.h>
00021 #include <geometric/warper.cpp>
00022 #include <data_struct/static_memory_gremlin.h>
00023
00024 #include <stdio.h>
00025
00026 HOOPLE_STARTUP_CODE;
00027
00028 using namespace geometric;
00029
00030 int main(int formal(argc), char *formal(argv)[])
00031 {
00032 rectangle<double> inner(-20, 0, -60, 30);
00033 rectangle<double> outer(20, 30, 0, 0);
00034 rectangle_warper<double> ito(inner, outer, rectangle_warper<double>::TOP_LEFT,
00035 rectangle_warper<double>::BOTTOM_RIGHT);
00036
00037
00038 rectangle<double> warped_inner(ito.to_system_2(inner));
00039
00040 rectangle<double> warped_outer(ito.to_system_1(outer));
00041
00042 if ( (warped_inner != outer) || (warped_outer != inner) )
00043 deadly_error("t_rectangle_warper", "main",
00044 "systems do not warp to each other correctly");
00045
00046 point<double> in_center(inner.center());
00047 point<double> warp_in_center(ito.to_system_2(in_center));
00048 point<double> out_center(outer.center());
00049 point<double> warp_out_center(ito.to_system_1(out_center));
00050 if ( (warp_out_center != inner.center())
00051 || (warp_in_center != outer.center()) )
00052 deadly_error("t_rectangle_warper", "main",
00053 "centers do not warp to each other");
00054 printf("rectangle_warper:: works for those functions tested.\n");
00055 return 0;
00056 }
00057