Files
mfem/mesh/pyramid.cpp
T
2022-02-25 10:24:50 -08:00

65 lines
1.4 KiB
C++

// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
// This file is part of the MFEM library. For more information and source code
// availability visit https://mfem.org.
//
// MFEM is free software; you can redistribute it and/or modify it under the
// terms of the BSD-3 license. We welcome feedback and contributions, see file
// CONTRIBUTING.md for details.
// Implementation of class Pyramid
#include "mesh_headers.hpp"
namespace mfem
{
Pyramid::Pyramid(const int *ind, int attr)
: Element(Geometry::PYRAMID)
{
attribute = attr;
for (int i = 0; i < 5; i++)
{
indices[i] = ind[i];
}
}
Pyramid::Pyramid(int ind1, int ind2, int ind3, int ind4, int ind5, int attr)
: Element(Geometry::PYRAMID)
{
attribute = attr;
indices[0] = ind1;
indices[1] = ind2;
indices[2] = ind3;
indices[3] = ind4;
indices[4] = ind5;
}
void Pyramid::SetVertices(const int *ind)
{
for (int i = 0; i < 5; i++)
{
indices[i] = ind[i];
}
}
void Pyramid::GetVertices(Array<int> &v) const
{
v.SetSize(5);
for (int i = 0; i < 5; i++)
{
v[i] = indices[i];
}
}
int Pyramid::GetNFaces(int &nFaceVertices) const
{
MFEM_ABORT("this method is not valid for Pyramid elements");
nFaceVertices = 4;
return 5;
}
}