mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 05:20:34 +05:00
use string_view in interface
This commit is contained in:
parent
e1f7935f0b
commit
a311b5db39
@ -146,7 +146,7 @@ namespace netgen
|
|||||||
public:
|
public:
|
||||||
NG_ELEMENT_TYPE type;
|
NG_ELEMENT_TYPE type;
|
||||||
int index; // material / boundary condition
|
int index; // material / boundary condition
|
||||||
const string * mat; // material / boundary label
|
string_view mat; // material / boundary label
|
||||||
NG_ELEMENT_TYPE GetType() const { return type; }
|
NG_ELEMENT_TYPE GetType() const { return type; }
|
||||||
int GetIndex() const { return index-1; }
|
int GetIndex() const { return index-1; }
|
||||||
Ng_Points points; // all points
|
Ng_Points points; // all points
|
||||||
@ -303,7 +303,7 @@ namespace netgen
|
|||||||
|
|
||||||
/// material/boundary label of region, template argument is co-dimension
|
/// material/boundary label of region, template argument is co-dimension
|
||||||
template <int DIM>
|
template <int DIM>
|
||||||
const string & GetMaterialCD (int region_nr) const;
|
string_view GetMaterialCD (int region_nr) const;
|
||||||
|
|
||||||
/// Curved Elements:
|
/// Curved Elements:
|
||||||
/// elnr .. element nr
|
/// elnr .. element nr
|
||||||
|
@ -49,7 +49,7 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<0> (size_t nr) const
|
|||||||
Ng_Element ret;
|
Ng_Element ret;
|
||||||
ret.type = NG_PNT;
|
ret.type = NG_PNT;
|
||||||
ret.index = el.index;
|
ret.index = el.index;
|
||||||
ret.mat = &el.name;
|
ret.mat = el.name;
|
||||||
|
|
||||||
ret.points.num = 1;
|
ret.points.num = 1;
|
||||||
ret.points.ptr = (int*)&el.pnum;
|
ret.points.ptr = (int*)&el.pnum;
|
||||||
@ -68,11 +68,11 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<0> (size_t nr) const
|
|||||||
ret.facets.ptr = (int*)&el.pnum;
|
ret.facets.ptr = (int*)&el.pnum;
|
||||||
|
|
||||||
if (mesh->GetDimension() == 1)
|
if (mesh->GetDimension() == 1)
|
||||||
ret.mat = mesh->GetBCNamePtr(el.index-1);
|
ret.mat = *(mesh->GetBCNamePtr(el.index-1));
|
||||||
else if (mesh->GetDimension() == 2)
|
else if (mesh->GetDimension() == 2)
|
||||||
ret.mat = mesh->GetCD2NamePtr(el.index-1);
|
ret.mat = *(mesh->GetCD2NamePtr(el.index-1));
|
||||||
else
|
else
|
||||||
ret.mat = mesh->GetCD3NamePtr(el.index-1);
|
ret.mat = *(mesh->GetCD3NamePtr(el.index-1));
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -92,13 +92,13 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<1> (size_t nr) const
|
|||||||
else
|
else
|
||||||
ret.index = el.si;
|
ret.index = el.si;
|
||||||
if (mesh->GetDimension() == 2)
|
if (mesh->GetDimension() == 2)
|
||||||
ret.mat = mesh->GetBCNamePtr(el.si-1);
|
ret.mat = *(mesh->GetBCNamePtr(el.si-1));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (mesh->GetDimension() == 3)
|
if (mesh->GetDimension() == 3)
|
||||||
ret.mat = mesh->GetCD2NamePtr(el.edgenr-1);
|
ret.mat = *(mesh->GetCD2NamePtr(el.edgenr-1));
|
||||||
else
|
else
|
||||||
ret.mat = mesh->GetMaterialPtr(el.si);
|
ret.mat = *(mesh->GetMaterialPtr(el.si));
|
||||||
}
|
}
|
||||||
|
|
||||||
ret.points.num = el.GetNP();
|
ret.points.num = el.GetNP();
|
||||||
@ -148,9 +148,9 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<2> (size_t nr) const
|
|||||||
const FaceDescriptor & fd = mesh->GetFaceDescriptor(el); // .GetIndex());
|
const FaceDescriptor & fd = mesh->GetFaceDescriptor(el); // .GetIndex());
|
||||||
ret.index = fd.BCProperty();
|
ret.index = fd.BCProperty();
|
||||||
if (mesh->GetDimension() == 3)
|
if (mesh->GetDimension() == 3)
|
||||||
ret.mat = &fd.GetBCName();
|
ret.mat = fd.GetBCName();
|
||||||
else
|
else
|
||||||
ret.mat = mesh -> GetMaterialPtr(ret.index);
|
ret.mat = *(mesh -> GetMaterialPtr(ret.index));
|
||||||
ret.points.num = el.GetNP();
|
ret.points.num = el.GetNP();
|
||||||
ret.points.ptr = (int*)&el[0];
|
ret.points.ptr = (int*)&el[0];
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<3> (size_t nr) const
|
|||||||
Ng_Element ret;
|
Ng_Element ret;
|
||||||
ret.type = NG_ELEMENT_TYPE(el.GetType());
|
ret.type = NG_ELEMENT_TYPE(el.GetType());
|
||||||
ret.index = el.GetIndex();
|
ret.index = el.GetIndex();
|
||||||
ret.mat = mesh -> GetMaterialPtr(ret.index);
|
ret.mat = *(mesh -> GetMaterialPtr(ret.index));
|
||||||
ret.points.num = el.GetNP();
|
ret.points.num = el.GetNP();
|
||||||
ret.points.ptr = (int*)&el[0];
|
ret.points.ptr = (int*)&el[0];
|
||||||
|
|
||||||
@ -211,25 +211,25 @@ NGX_INLINE DLL_HEADER Ng_Element Ngx_Mesh :: GetElement<3> (size_t nr) const
|
|||||||
|
|
||||||
|
|
||||||
template <> NGX_INLINE DLL_HEADER
|
template <> NGX_INLINE DLL_HEADER
|
||||||
const string & Ngx_Mesh :: GetMaterialCD<0> (int region_nr) const
|
string_view Ngx_Mesh :: GetMaterialCD<0> (int region_nr) const
|
||||||
{
|
{
|
||||||
return mesh->GetMaterial(region_nr+1);
|
return mesh->GetMaterial(region_nr+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <> NGX_INLINE DLL_HEADER
|
template <> NGX_INLINE DLL_HEADER
|
||||||
const string & Ngx_Mesh :: GetMaterialCD<1> (int region_nr) const
|
string_view Ngx_Mesh :: GetMaterialCD<1> (int region_nr) const
|
||||||
{
|
{
|
||||||
return mesh->GetBCName(region_nr);
|
return mesh->GetBCName(region_nr);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <> NGX_INLINE DLL_HEADER
|
template <> NGX_INLINE DLL_HEADER
|
||||||
const string & Ngx_Mesh :: GetMaterialCD<2> (int region_nr) const
|
string_view Ngx_Mesh :: GetMaterialCD<2> (int region_nr) const
|
||||||
{
|
{
|
||||||
return mesh->GetCD2Name(region_nr);
|
return mesh->GetCD2Name(region_nr);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <> NGX_INLINE DLL_HEADER
|
template <> NGX_INLINE DLL_HEADER
|
||||||
const string & Ngx_Mesh :: GetMaterialCD<3> (int region_nr) const
|
string_view Ngx_Mesh :: GetMaterialCD<3> (int region_nr) const
|
||||||
{
|
{
|
||||||
return mesh->GetCD3Name(region_nr);
|
return mesh->GetCD3Name(region_nr);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user