OSDLPoint2D.cc

Go to the documentation of this file.
00001 #include "OSDLPoint2D.h"
00002 
00003 
00004 
00005 
00006 using std::string ;
00007 using std::list ;
00008 
00009 using namespace OSDL::Video::TwoDimensional ;
00010 
00011 
00012 const Point2D Point2D::Origin( static_cast<Coordinate>( 0 ), 0 ) ;
00013 
00014 
00015 Point2D::Point2D( Coordinate x, Coordinate y ) throw()
00016 {
00017 
00018     _coord[0] = x ;
00019     _coord[1] = y ;
00020     
00021 }
00022 
00023 
00024 Point2D::Point2D( const Point2D & source ) throw()  :
00025     Point()
00026 {
00027 
00028     _coord[0] = source._coord[0] ;
00029     _coord[1] = source._coord[1] ; 
00030       
00031 }
00032 
00033 
00034 Point2D::Point2D( const Ceylan::Maths::Linear::Bipoint & source ) throw()
00035 {
00036 
00037     _coord[0] = static_cast<Coordinate>( source.getX() ) ;
00038     _coord[1] = static_cast<Coordinate>( source.getY() ) ;
00039     
00040 }
00041 
00042 
00043 Point2D::Point2D( const Ceylan::Maths::Linear::Vector2 & source ) throw()
00044 {
00045 
00046     _coord[0] = static_cast<Coordinate>( source.getX() ) ;
00047     _coord[1] = static_cast<Coordinate>( source.getY() ) ;
00048     
00049 }
00050 
00051 
00052 
00053 Point2D & Point2D::CreateFrom( FloatingPointCoordinate x,
00054     FloatingPointCoordinate y ) throw()
00055 {
00056 
00057     return * new Point2D( static_cast<Coordinate>( x ), 
00058         static_cast<Coordinate>( y ) ) ;
00059 }
00060 
00061     
00062 Point2D::~Point2D() throw()
00063 {
00064 
00065 }
00066 
00067 
00068 void Point2D::setTo( Coordinate x, Coordinate y ) throw() 
00069 {
00070 
00071     _coord[0] = x ;
00072     _coord[1] = y ; 
00073     
00074 }
00075 
00076 
00077 void Point2D::setTo( FloatingPointCoordinate x, FloatingPointCoordinate y )
00078     throw() 
00079 {
00080 
00081     _coord[0] = static_cast<Coordinate>( x ) ;
00082     _coord[1] = static_cast<Coordinate>( y ) ; 
00083     
00084 }
00085 
00086 
00087 
00088 void Point2D::setFrom( const Point2D & source ) throw()
00089 {
00090 
00091     _coord[0] = source._coord[0] ;
00092     _coord[1] = source._coord[1] ;  
00093     
00094 }
00095 
00096 
00097 void Point2D::setFrom( const Ceylan::Maths::Linear::Vector2 & source ) throw()
00098 {
00099 
00100     _coord[0] = static_cast<Coordinate>( source.getElementAt( 0 ) ) ;
00101     _coord[1] = static_cast<Coordinate>( source.getElementAt( 1 ) ) ;
00102     
00103 }
00104 
00105 
00106 const string Point2D::toString( Ceylan::VerbosityLevels level ) const throw()
00107 {
00108 
00109     return ( string( " ( " ) 
00110         + _coord[0] 
00111         + string( " ; " ) 
00112         + _coord[1]
00113         + string( " )" ) ) ;
00114 
00115 }
00116 
00117 
00118 void Point2D::translate( Offset x, Offset y ) throw() 
00119 {
00120 
00121     _coord[0] += x ;
00122     _coord[1] += y ;
00123     
00124 }
00125 
00126 
00127 void Point2D::flip() throw()
00128 {
00129 
00130     _coord[0] = - _coord[0] ;
00131     _coord[1] = - _coord[1] ;
00132     
00133 }
00134 
00135 
00136 void Point2D::flipX() throw() 
00137 {
00138 
00139     _coord[0] = - _coord[0] ;
00140     
00141 }
00142 
00143 
00144 void Point2D::flipY() throw()
00145 {
00146 
00147     _coord[1] = - _coord[1] ;
00148     
00149 }
00150 
00151 
00152 
00153 void Point2D::Translate( list<Point2D *> & pointList, Offset x, Offset y )
00154     throw()
00155 {
00156 
00157     for ( list<Point2D *>::iterator it = pointList.begin(); 
00158             it != pointList.end(); it++ )
00159         (*it)->translate( x, y ) ;
00160         
00161 }
00162 
00163 
00164 std::ostream & operator << ( std::ostream & os, const Point2D & p )
00165 {
00166 
00167     return os << p.toString() ;
00168     
00169 }
00170 
00171 

Generated on Fri Mar 30 14:46:59 2007 for OSDL by  doxygen 1.5.1