mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 21:40:33 +05:00
use std::vector for binding PointIndex, avoid map
This commit is contained in:
parent
0a14f5b5e1
commit
fa3f89d337
@ -1,49 +0,0 @@
|
||||
gibt's nicht mehr
|
||||
|
||||
|
||||
#ifndef FILE_PARALLELINTERFACE
|
||||
#define FILE_PARALLELINTERFACE
|
||||
|
||||
#ifdef PARALLEL
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// this interface is 0-base !!
|
||||
|
||||
|
||||
int NgPar_GetLoc2Glob_VolEl ( int locnum );
|
||||
|
||||
// int NgPar_GetDistantNodeNums ( int nt, int locnum, int * procs, int * distnum);
|
||||
|
||||
// number on distant processor
|
||||
|
||||
// gibt anzahl an distant pnums zurueck
|
||||
// * pnums entspricht ARRAY<int[2] >
|
||||
int NgPar_GetDistantNodeNums ( int nodetype, int locnum, int * pnums );
|
||||
int NgPar_GetNDistantNodeNums ( int nodetype, int locnum );
|
||||
|
||||
int NgPar_GetDistantPNum ( int proc, int locnum ) ;
|
||||
int NgPar_GetDistantEdgeNum ( int proc, int locnum ) ;
|
||||
int NgPar_GetDistantFaceNum ( int proc, int locnum ) ;
|
||||
int NgPar_GetDistantElNum ( int proc, int locnum );
|
||||
|
||||
bool NgPar_IsExchangeFace ( int fnr ) ;
|
||||
bool NgPar_IsExchangeVert ( int vnum );
|
||||
bool NgPar_IsExchangeEdge ( int ednum );
|
||||
bool NgPar_IsExchangeElement ( int elnum );
|
||||
|
||||
void NgPar_PrintParallelMeshTopology ();
|
||||
bool NgPar_IsElementInPartition ( int elnum, int dest );
|
||||
|
||||
bool NgPar_IsGhostFace ( int facenum );
|
||||
bool NgPar_IsGhostEdge ( int edgenum );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -285,22 +285,30 @@ DLL_HEADER void ExportNetgenMeshing(py::module &m)
|
||||
self(index) = val;
|
||||
}))
|
||||
;
|
||||
|
||||
|
||||
py::class_<Element>(m, "Element3D")
|
||||
.def(py::init([](int index, py::list vertices)
|
||||
.def(py::init([](int index, std::vector<PointIndex> vertices)
|
||||
{
|
||||
std::map<int, ELEMENT_TYPE> types = {{4, TET},
|
||||
{5, PYRAMID},
|
||||
{6, PRISM},
|
||||
{8, HEX},
|
||||
{10, TET10},
|
||||
{13, PYRAMID13},
|
||||
{15, PRISM15},
|
||||
{20, HEX20}};
|
||||
int np = py::len(vertices);
|
||||
auto newel = new Element(types[np]);
|
||||
int np = vertices.size();
|
||||
ELEMENT_TYPE et;
|
||||
switch (np)
|
||||
{
|
||||
case 4: et = TET; break;
|
||||
case 5: et = PYRAMID; break;
|
||||
case 6: et = PRISM; break;
|
||||
case 8: et = HEX; break;
|
||||
case 10: et = TET10; break;
|
||||
case 13: et = PYRAMID13; break;
|
||||
case 15: et = PRISM15; break;
|
||||
case 20: et = HEX20; break;
|
||||
default:
|
||||
throw Exception ("no Element3D with " + ToString(np) +
|
||||
" points");
|
||||
}
|
||||
|
||||
auto newel = new Element(et);
|
||||
for(int i=0; i<np; i++)
|
||||
(*newel)[i] = py::cast<PointIndex>(vertices[i]);
|
||||
(*newel)[i] = vertices[i];
|
||||
newel->SetIndex(index);
|
||||
return newel;
|
||||
}),
|
||||
|
Loading…
Reference in New Issue
Block a user