MFEM  v3.2
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
vertex.hpp
Go to the documentation of this file.
1 // Copyright (c) 2010, Lawrence Livermore National Security, LLC. Produced at
2 // the Lawrence Livermore National Laboratory. LLNL-CODE-443211. All Rights
3 // reserved. See file COPYRIGHT for details.
4 //
5 // This file is part of the MFEM library. For more information and source code
6 // availability see http://mfem.org.
7 //
8 // MFEM is free software; you can redistribute it and/or modify it under the
9 // terms of the GNU Lesser General Public License (as published by the Free
10 // Software Foundation) version 2.1 dated February 1999.
11 
12 #ifndef MFEM_VERTEX
13 #define MFEM_VERTEX
14 
15 #include "../config/config.hpp"
16 
17 namespace mfem
18 {
19 
21 class Vertex
22 {
23 protected:
24  double coord[3];
25 
26 public:
27  Vertex() { }
28 
29  Vertex (double *xx, int dim);
30  Vertex( double x, double y) { coord[0] = x; coord[1] = y; coord[2] = 0.; }
31  Vertex( double x, double y, double z)
32  { coord[0] = x; coord[1] = y; coord[2] = z; }
33 
35  inline double * operator() () const { return (double*)coord; }
36 
38  inline double & operator() (int i) { return coord[i]; }
39 
41  inline const double & operator() (int i) const { return coord[i]; }
42 
43  void SetCoords(const double *p)
44  { coord[0] = p[0]; coord[1] = p[1]; coord[2] = p[2]; }
45 
46  ~Vertex() { }
47 };
48 
49 }
50 
51 #endif
Data type for vertex.
Definition: vertex.hpp:21
int dim
Definition: ex3.cpp:47
Vertex(double x, double y, double z)
Definition: vertex.hpp:31
void SetCoords(const double *p)
Definition: vertex.hpp:43
double coord[3]
Definition: vertex.hpp:24
double * operator()() const
Returns pointer to the coordinates of the vertex.
Definition: vertex.hpp:35
Vertex(double x, double y)
Definition: vertex.hpp:30