Quad tree search twodpointfloat.cc

From Minor Miracle Software
Jump to: navigation, search
//TwoDPointFloat.cc

#ifndef TWODPOINTFLOAT_CC
#define TWODPOINTFLOAT_CC

#include <float.h>
#include <iostream.h>

using namespace std;

class TwoDPointFloat {

  	float Xaxis_float;
	float Yaxis_float;

public:

	TwoDPointFloat()
	{
		Xaxis_float = FLT_MAX;
		Yaxis_float = FLT_MAX;
	}

	~TwoDPointFloat(){}

	float xaxis()
	{
		return Xaxis_float;
	}

	void xaxis( float A )
	{
		Xaxis_float = A;
	}

	float yaxis()
	{
		return Yaxis_float;
	}

	void yaxis( float A )
	{
		Yaxis_float = A;
	}

// overloads
    bool operator==( const TwoDPointFloat &A )
    {
        return ( Xaxis_float == A.Xaxis_float && Yaxis_float == A.Yaxis_float );
    } // ==

    void operator=( const TwoDPointFloat &A )
    {
        Xaxis_float = A.Xaxis_float;
        Yaxis_float = A.Yaxis_float;
    } // =

    bool operator!=( const TwoDPointFloat &A )
    {
        return ( Xaxis_float != A.Xaxis_float && Yaxis_float != A.Yaxis_float );
    } // !=

    bool operator<( const TwoDPointFloat &A )
    {
        return (( Xaxis_float < A.Xaxis_float && Yaxis_float < A.Yaxis_float ) ||
        		( Xaxis_float < A.Xaxis_float && Yaxis_float == A.Yaxis_float ) ||
		        ( Xaxis_float == A.Xaxis_float && Yaxis_float < A.Yaxis_float ) );
    } // <

    bool operator<=( const TwoDPointFloat &A )
    {
        return ( Xaxis_float <= A.Xaxis_float && Yaxis_float <= A.Yaxis_float );
    } // <=

    bool operator>( const TwoDPointFloat &A )
    {
        return (( Xaxis_float > A.Xaxis_float && Yaxis_float > A.Yaxis_float ) ||
        		( Xaxis_float > A.Xaxis_float && Yaxis_float == A.Yaxis_float ) ||
	      		( Xaxis_float == A.Xaxis_float && Yaxis_float > A.Yaxis_float ) );
    } // >

    bool operator>=( const TwoDPointFloat &A )
    {
        return ( Xaxis_float >= A.Xaxis_float && Yaxis_float >= A.Yaxis_float );
    } // >=

	void PRINT()
	{
		cout << "(";
		cout << (int) Xaxis_float;
		cout << ",";
		cout << (int) Yaxis_float;
		cout << ")";
	}
};
#endif // TwoDPointFloat.cc