$extrastylesheet
00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 00019 00020 // C++ includes 00021 #include <sstream> 00022 00023 // Local includes 00024 #include "libmesh/node.h" 00025 00026 namespace libMesh 00027 { 00028 00029 00030 00031 00032 // ------------------------------------------------------------ 00033 // Node class static member initialization 00034 //const unsigned int Node::invalid_id = libMesh::invalid_uint; 00035 00036 00037 bool Node::operator==(const Node& rhs) const 00038 { 00039 // Explicitly calling the operator== defined in Point 00040 return this->Point::operator==(rhs); 00041 } 00042 00043 00044 00045 void Node::print_info (std::ostream& os) const 00046 { 00047 os << this->get_info() 00048 << std::endl; 00049 } 00050 00051 00052 00053 std::string Node::get_info () const 00054 { 00055 std::ostringstream oss; 00056 00057 oss << " Node id()="; 00058 00059 if (this->valid_id()) 00060 oss << this->id(); 00061 else 00062 oss << "invalid"; 00063 00064 oss << ", processor_id()=" << this->processor_id() << 00065 ", Point=" << *static_cast<const Point*>(this) << '\n'; 00066 00067 oss << " DoFs="; 00068 for (unsigned int s=0; s != this->n_systems(); ++s) 00069 for (unsigned int v=0; v != this->n_vars(s); ++v) 00070 for (unsigned int c=0; c != this->n_comp(s,v); ++c) 00071 oss << '(' << s << '/' << v << '/' << this->dof_number(s,v,c) << ") "; 00072 00073 return oss.str(); 00074 } 00075 00076 00077 } // namespace libMesh