Overture  Version 25
SiblingInfo.h
Go to the documentation of this file.
1 // created by Bobby Philip 05092001
2 #ifndef _SIBLINGINFO_H_
3 #define _SIBLINGINFO_H_
4 
6 #include "Box.H"
7 
8 // in future these classes could be reference counted but
9 // at this point we are not going to worry about this issue
10 
12 {
13  private:
14  // we need to keep both boxes to handle periodic grids
16  Box ghostBox;
18  Box siblingBox;
20  aString className;
21  public:
23  ~SiblingInfo();
25  SiblingInfo();
27  SiblingInfo( const SiblingInfo &X );
29  SiblingInfo( const int siblingGridIndex,
30  const Box &ghostBox,
31  const Box &siblingBox );
33  SiblingInfo &operator=( const SiblingInfo &X );
35  virtual inline aString getClassName( void ) { return className; }
37  virtual Integer get( const GenericDataBase & db, const aString &name );
39  virtual Integer put( const GenericDataBase & db, const aString &name ) const;
41  virtual void consistencyCheck( void ) const;
43  const inline Box &getGhostBox( void ) const { return ghostBox;}
45  const inline Box &getSiblingBox( void ) const { return siblingBox;}
47  inline void setGhostBox( const Box &box ) { assert( box.ok() ); ghostBox = box; }
49  inline void setSiblingBox( const Box &box ) { assert( box.ok() ); siblingBox = box; }
51  friend ostream& operator<<(ostream& s, const SiblingInfo &siblingInfo );
52 };
53 #endif //_SIBLINGINFO_H_