libMesh
Loading...
Searching...
No Matches
cell.h
Go to the documentation of this file.
1// The libMesh Finite Element Library.
2// Copyright (C) 2002-2026 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3
4// This library is free software; you can redistribute it and/or
5// modify it under the terms of the GNU Lesser General Public
6// License as published by the Free Software Foundation; either
7// version 2.1 of the License, or (at your option) any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12// Lesser General Public License for more details.
13
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library; if not, write to the Free Software
16// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18
19
20#ifndef LIBMESH_CELL_H
21#define LIBMESH_CELL_H
22
23// Local includes
24#include "libmesh/elem.h"
25
26namespace libMesh
27{
28
38class Cell : public Elem
39{
40public:
41
45 Cell (const unsigned int nn,
46 const unsigned int ns,
47 Elem * p,
48 Elem ** elemlinkdata,
49 Node ** nodelinkdata) :
50 Elem (nn, ns, p, elemlinkdata, nodelinkdata) {}
51
52 Cell (Cell &&) = delete;
53 Cell (const Cell &) = delete;
54 Cell & operator= (const Cell &) = delete;
55 Cell & operator= (Cell &&) = delete;
56 virtual ~Cell() = default;
57
61 virtual unsigned short dim () const override { return 3; }
62
67 virtual BoundingBox loose_bounding_box () const override;
68
69#ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS
70
75 virtual bool infinite () const override { return false; }
76
77#endif
78};
79
80
81} // namespace libMesh
82
83
84#endif // LIBMESH_CELL_H
Defines a Cartesian bounding box by the two corner extremum.
The Cell is an abstract element type that lives in three dimensions.
Definition cell.h:39
virtual ~Cell()=default
Cell(Cell &&)=delete
Cell(const unsigned int nn, const unsigned int ns, Elem *p, Elem **elemlinkdata, Node **nodelinkdata)
Constructor.
Definition cell.h:45
Cell & operator=(const Cell &)=delete
virtual BoundingBox loose_bounding_box() const override
Definition cell.C:26
virtual bool infinite() const override
Definition cell.h:75
virtual unsigned short dim() const override
Definition cell.h:61
Cell(const Cell &)=delete
This is the base class from which all geometric element types are derived.
Definition elem.h:96
A Node is like a Point, but with more information.
Definition node.h:55
The libMesh namespace provides an interface to certain functionality in the library.