00001 ////////////////////////////////////////////////////////////////////// 00002 // Copyright (c) 2003 David Pritchard <drpritch@alumni.uwaterloo.ca> 00003 // 00004 // This program is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public License 00006 // as published by the Free Software Foundation; either 00007 // version 2 of the License, or (at your option) any later 00008 // version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public License 00016 // along with this program; if not, write to the Free Software 00017 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 00019 #include <freecloth/simulator/simVector.h> 00020 00021 //////////////////////////////////////////////////////////////////////////////// 00022 // LOCAL DECLARATIONS 00023 00024 namespace freecloth { 00025 00026 //////////////////////////////////////////////////////////////////////////////// 00027 // CLASS SimVector 00028 00029 00030 //////////////////////////////////////////////////////////////////////////////// 00031 // GLOBAL FUNCTIONS 00032 // 00033 00034 //------------------------------------------------------------------------------ 00035 00036 std::ostream& operator<<( std::ostream& os, const SimVector& v ) 00037 { 00038 os << "v("; 00039 SimVector::const_iterator i = v.begin(); 00040 if ( i != v.end() ) { 00041 os << *i; 00042 for ( ++i; i != v.end(); ++i ) { 00043 os << "," << *i; 00044 } 00045 } 00046 os << ")" << std::endl; 00047 return os; 00048 } 00049 00050 }