simpleboundary_4.h

00001 #ifndef SIMPLEBOUNDARY_4_H
00002 #define SIMPLEBOUNDARY_4_H
00003 #include "afltypes.h"
00004 #include "boundary_4.h"
00005 
00006 #include <iostream>
00007 #include <list>
00008 
00009 namespace afl
00010 {
00015     class SimpleBoundary_4 : public Boundary_4
00016     {
00020         public:
00021 
00029             SimpleBoundary_4( const Point& from, const Point& to, bool colour );
00030 
00034             virtual ~SimpleBoundary_4(  );
00035 
00043             virtual troolean locate( const Point& p ) const;
00044             
00056             virtual data_t intersect( const Point& p, const Point& v ) const;
00057 
00068             virtual void addSegment( const Point& from, const Point& to );
00069 
00080             virtual void addSegment( const Field* field );
00081 
00088             virtual Point getBoundingBoxMin(  ) const;
00089 
00096             virtual Point getBoundingBoxMax(  ) const;
00097 
00106              virtual void toXML( std::ostream& doc, 
00107                      const std::string& componentsDir, 
00108                      const std::string& baseURI ) const;
00109 
00113              virtual Boundary_4* clone(  );
00114 
00121             virtual Point findNearest( const Point& p ) const;
00122 
00129             virtual Value getNormal( const Point& p ) const; 
00130 
00134         protected:
00143             virtual int whereIs( const Point& p ) const;
00144 
00153             virtual bool intersectSegment( const Point& from, const Point& to ) const;
00154 
00158         private:
00162              data_t _left;
00163 
00167              data_t _top;
00168 
00172              data_t _back;
00173 
00177              data_t _before;
00178 
00182              data_t _right;
00183 
00187              data_t _bottom;
00188 
00192              data_t _front;
00193 
00197              data_t _after;
00198 
00199     }; //class SimpleBoundary_4
00200 
00201 } // namespace afl
00202 
00203 #endif //SIMPLEBOUNDARY_4_H
00204 

Generated on Fri Dec 22 07:17:50 2006 for afl by  doxygen 1.4.6