00001
00002
00003
00004
00005 #ifndef MuSquareTile_h
00006 #define MuSquareTile_h
00007
00008 #include "SquareTile.h"
00009
00010 #include "Serializable.h"
00011
00012
00013 namespace BIE {
00014
00015
00022 class MuSquareTile : public SquareTile {
00023
00024 public:
00025
00026
00028 MuSquareTile();
00029
00030
00032 MuSquareTile(double mu);
00033
00034
00037 MuSquareTile (double x1, double y1, double x2, double y2, double mu=0.67);
00038
00039 virtual MuSquareTile* New();
00040
00041 double Y(double u, double v);
00042
00043 double measure(double u, double v);
00044
00046 void print(ostream & outputstream);
00047
00048 private:
00049
00051 double MU;
00052
00053
00054 private:
00055 friend class boost::serialization::access;
00056 template<class Archive>
00057 void serialize(Archive & ar, const unsigned int version) {
00058 this->pre_serialize(ar, version);
00059 try {
00060 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(SquareTile);
00061 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00062 }
00063 try {
00064 ar & BOOST_SERIALIZATION_NVP(MU);
00065 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION;
00066 }
00067 this->post_serialize(ar, version);
00068 }
00069
00070 };
00071
00072 }
00073 BIE_CLASS_TYPE_INFO(BIE::MuSquareTile)
00074 BIE_CLASS_EXPORT_KEY(BIE::MuSquareTile)
00075 #endif