00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef BINITEM_H
00029 #define BINITEM_H
00030
00031 #include <iostream>
00032
00033 #include "RealVect.H"
00034
00036
00044 class BinItem
00045 {
00046 public:
00048 BinItem();
00049
00051 BinItem(const RealVect& a_position);
00052
00054 virtual ~BinItem();
00055
00057 virtual void define(const RealVect& a_position);
00058
00060 void setPosition(const RealVect& a_position);
00061
00063 void setPosition(const Real a_position, const int a_dimension);
00064
00066 RealVect& position();
00067
00069 const RealVect& position() const;
00070
00072 Real position(const int a_dir) const;
00073
00074
00075
00077
00080 virtual int size() const;
00081
00083
00087 virtual void linearOut(void* a_buf) const;
00088
00090
00093 virtual void linearIn(void* a_buf);
00094
00096 int preAllocatable() {return 0;}
00097
00098
00099
00101 virtual void print() const;
00102 friend std::ostream& operator<<( std::ostream& ostr, const BinItem& a_item );
00103
00104 protected:
00106 RealVect m_position;
00107 };
00108
00109 std::ostream& operator<<( std::ostream& ostr, const BinItem& a_item );
00110
00111 #endif