24#include "libmesh/point.h"
25#include "libmesh/dof_object.h"
26#include "libmesh/reference_counted_object.h"
76#ifdef LIBMESH_ENABLE_DEPRECATED
93 std::enable_if<ScalarTraits<T>::value,
void>::type>
94 explicit Node (
const T x) :
115#ifdef LIBMESH_ENABLE_DEPRECATED
116 static std::unique_ptr<Node>
build (
const Node & n);
122 static std::unique_ptr<Node>
build (
const Point & p,
129 static std::unique_ptr<Node>
build (
const Real x,
158#ifdef LIBMESH_HAVE_MPI
161 const unsigned int header_size = 2;
164 static const unsigned int idtypes_per_Real =
167 return header_size + LIBMESH_DIM*idtypes_per_Real +
180#ifdef LIBMESH_ENABLE_NODE_VALENCE
183 libmesh_not_implemented();
208#ifdef LIBMESH_ENABLE_NODE_VALENCE
245#ifdef LIBMESH_ENABLE_NODE_VALENCE
254#ifdef LIBMESH_ENABLE_DEPRECATED
260#ifdef LIBMESH_ENABLE_NODE_VALENCE
265 libmesh_deprecated();
275#ifdef LIBMESH_ENABLE_NODE_VALENCE
313#ifdef LIBMESH_ENABLE_DEPRECATED
317 libmesh_deprecated();
318 return std::make_unique<Node>(n);
328 return std::make_unique<Node>(p,
id);
339 return std::make_unique<Node>(x,y,z,
id);
352#ifdef LIBMESH_ENABLE_NODE_VALENCE
357 _valence = cast_int<valence_idx_t>(val);
365 libmesh_not_implemented();
The DofObject defines an abstract base class for objects that have degrees of freedom associated with...
static constexpr dof_id_type invalid_id
An invalid id to distinguish an uninitialized DofObject.
unsigned int packed_indexing_size() const
If we pack our indices into an buffer for communications, how many ints do we need?
This is the base class from which all geometric element types are derived.
Implements (adaptive) mesh refinement algorithms for a MeshBase.
A Node is like a Point, but with more information.
void print_info(std::ostream &os=libMesh::out) const
Prints relevant information about the node.
Node(const Point &p, const dof_id_type id=invalid_id)
Copy-constructor from a Point.
void set_valence(unsigned int val)
Sets the number of nodes connected with this node.
Node(const T x)
Disambiguate constructing from non-Real scalars.
unsigned int valence() const
Node(const Node &n)
"Copy"-constructor: deliberately slices the source Node and only copies its' Point information,...
Node & operator=(const Point &p)
Assign to a node from a point.
static std::unique_ptr< Node > build(const Node &n)
unsigned char valence_idx_t
Type used to store node valence.
Node(const Node &n)=delete
bool operator==(const Node &rhs) const
processor_id_type choose_processor_id(processor_id_type pid1, processor_id_type pid2) const
Return which of pid1 and pid2 would be preferred by the current load-balancing heuristic applied to t...
unsigned int packed_size() const
valence_idx_t _valence
The number of nodes connected with this node.
std::string get_info() const
Prints relevant information about the node to a string.
A Point defines a location in LIBMESH_DIM dimensional Real space.
friend class Node
Make the derived class a friend.
This class implements reference counting.
The libMesh namespace provides an interface to certain functionality in the library.
std::ostream & operator<<(std::ostream &os, const OrderWrapper &order)
Overload stream operators.
const unsigned int invalid_uint
A number which is used quite often to represent an invalid or uninitialized value for an unsigned int...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
uint8_t processor_id_type