Generated on Tue Dec 16 12:49:16 2008 for BIU-2.2.0 by doxygen 1.5.1

src/biu/NeighborVector.hh

Go to the documentation of this file.
00001 #ifndef NEIGHBORVECTOR_HH_
00002 #define NEIGHBORVECTOR_HH_
00003 
00004 
00005 #include <biu/SquareMatrix.hh>
00006 #include "biu/Point.hh"
00007 #include "biu/Alphabet.hh"
00008 
00009 namespace biu
00010 {
00012     typedef biu::SquareMatrix<int,3> Automorphism;
00013 
00015     typedef std::vector<Automorphism> AutomorphismVec;  
00016 
00018     typedef Alphabet MoveAlphabet;
00019 
00021     typedef MoveAlphabet::AlphElem Move;
00022 
00024     typedef MoveAlphabet::Sequence MoveSequence;
00025     
00026         
00034     class NeighborVector : public IntPoint {
00035     private:
00036         Move    move;   
00037         
00039         Automorphism    rel2absRotation;    
00040         
00042         Automorphism    abs2relRotation;    
00043         
00044         
00045     public :
00046         NeighborVector(const int x, const int y, const int z,
00047                        const Move _move,
00048                        const Automorphism& rel2absRot,
00049                        const Automorphism& abs2relRot) 
00050             :   IntPoint(x,y,z), move(_move), rel2absRotation(rel2absRot), 
00051                 abs2relRotation(abs2relRot)
00052         {}
00053         
00054         NeighborVector(const IntPoint& point) : IntPoint(point), move(0) 
00055         {}
00056         
00057         virtual ~NeighborVector() 
00058         {}
00059         
00060         const Move& getMove() const { 
00061             return move; 
00062         }
00063         
00064         const Automorphism& getRel2AbsRotation() const {
00065             return rel2absRotation; 
00066         }
00067         const Automorphism& getAbs2RelRotation() const {
00068             return abs2relRotation;
00069         }
00070         
00071     };
00072     
00074     typedef std::set<NeighborVector> NeighSet;
00075     
00076     
00077 
00078 } // namespace biu
00079 
00080 #endif /*NEIGHBORVECTOR_HH_*/