Quad tree search site.cc
Revision as of 20:41, 3 July 2016 by Maintenance script (talk)
/* * Jesse B. Dooley * mh42013 * Date: March 6,2000 * For: CMSC 420-0201 Spring 2000 * Prof. Michelle Hugue * Title: Project 1 * Module: site.cc */ #ifndef SITE_CC #define SITE_CC #include "TemasBase.h" #include "TwoDPointFloat.cc" #include "BadSiteNameException.cc" #include "BadAxisException.cc" #include "BadTypeException.cc" using namespace std; class site { string site_name_string; // six alpha-num characters TwoDPointFloat Point; char type_char; bool visited_bool; public: site() { visited_bool = false; } // site site( const site &S ) { site_name_string = S.site_name_string; Point = S.Point; type_char = S.type_char; visited_bool = S.visited_bool; } // site ~site(){} bool material() { return ( type_char == 'P' || type_char == 'M' ); } string name() { return site_name_string; } void name( string name_string ) throw (BadSiteNameException) { BadSiteNameException B; B.test( name_string ); site_name_string = name_string; } // name float xaxis() { return Point.xaxis(); } void xaxis( float xaxis_d ) throw (BadAxisException) { BadAxisException B; B.test( xaxis_d ); Point.xaxis( xaxis_d ); } // xaxis float yaxis() { return Point.yaxis(); } void yaxis( float yaxis_d ) throw (BadAxisException) { BadAxisException B; B.test( yaxis_d ); Point.yaxis( yaxis_d ); } // yaxis void point( TwoDPointFloat P ) { Point = P; } TwoDPointFloat point() { return Point; } void type( char C ) throw (BadTypeException) { BadTypeException B; B.test( C ); type_char = C; } char type() { return type_char; } void visited( bool T ) { visited_bool = T; } bool visited() { return visited_bool; } // overloads bool operator==( const site &E ) { return (site_name_string == E.site_name_string ); } // == bool operator==( const string &E ) { return (site_name_string == E ); } // == bool operator==( const TwoDPointFloat &A ) { return ( Point == A ); } // < void operator=( const site &S ) { site_name_string = S.site_name_string; Point = S.Point; type_char = S.type_char; } // = bool operator!=( const site &E ) { return (site_name_string != E.site_name_string); } // != bool operator!=( const TwoDPointFloat &A ) { return ( Point != A ); } // < bool operator<( const site &E ) { return (site_name_string < E.site_name_string); } // < bool operator<( const TwoDPointFloat &A ) { return ( Point < A ); } // < bool operator<=( const TwoDPointFloat &A ) { return ( Point <= A ); } // < bool operator>( const site &E ) { return (site_name_string > E.site_name_string); } // > bool operator>( const TwoDPointFloat &A ) { return ( Point > A ); } // < bool operator>=( const TwoDPointFloat &A ) { return ( Point >= A ); } // < void OutPut() { cout << site_name_string; cout << " of type "; cout << type_char; cout << " at "; Point.PRINT(); // cout << endl; } }; #endif // site.cc