mirror of
https://github.com/NGSolve/netgen.git
synced 2025-04-12 16:17:29 +05:00
more ngcore::Array in topology, include headers
This commit is contained in:
parent
63cb566b8d
commit
1ebc6a0e81
@ -140,7 +140,8 @@ namespace netgen
|
|||||||
|
|
||||||
operator const T* () const { return x; }
|
operator const T* () const { return x; }
|
||||||
|
|
||||||
void DoArchive(Archive& archive)
|
template <typename ARCHIVE>
|
||||||
|
void DoArchive(ARCHIVE& archive)
|
||||||
{
|
{
|
||||||
for(int i=0; i<D; i++)
|
for(int i=0; i<D; i++)
|
||||||
archive & x[i];
|
archive & x[i];
|
||||||
@ -294,7 +295,8 @@ namespace netgen
|
|||||||
sol = inv * rhs;
|
sol = inv * rhs;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoArchive(Archive & ar)
|
template <typename ARCHIVE>
|
||||||
|
void DoArchive(ARCHIVE & ar)
|
||||||
{
|
{
|
||||||
ar.Do(x, H*W);
|
ar.Do(x, H*W);
|
||||||
}
|
}
|
||||||
@ -440,7 +442,8 @@ namespace netgen
|
|||||||
pmax = center + factor*(pmax-center);
|
pmax = center + factor*(pmax-center);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoArchive(Archive& archive)
|
template <typename ARCHIVE>
|
||||||
|
void DoArchive(ARCHIVE & archive)
|
||||||
{ archive & pmin & pmax; }
|
{ archive & pmin & pmax; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include <core/array.hpp>
|
#include <core/array.hpp>
|
||||||
|
|
||||||
|
#include "meshclass.hpp"
|
||||||
#include "bisect.hpp"
|
#include "bisect.hpp"
|
||||||
#include "validate.hpp"
|
#include "validate.hpp"
|
||||||
|
#include "paralleltop.hpp"
|
||||||
|
|
||||||
#include "meshing.hpp" // quickfix for parallel
|
// #include "meshing.hpp" // quickfix for parallel
|
||||||
|
|
||||||
#define noDEBUG
|
#define noDEBUG
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
|
|
||||||
#include "meshing.hpp"
|
#include "meshing.hpp"
|
||||||
|
|
||||||
// #include "../general/autodiff.hpp"
|
// #include "../general/autodiff.hpp"
|
||||||
|
|
||||||
|
|
||||||
@ -1667,12 +1666,21 @@ namespace netgen
|
|||||||
if (info.order > 1)
|
if (info.order > 1)
|
||||||
{
|
{
|
||||||
const MeshTopology & top = mesh.GetTopology();
|
const MeshTopology & top = mesh.GetTopology();
|
||||||
|
|
||||||
|
/*
|
||||||
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
||||||
for (int i = 0; i < info.edgenrs.Size(); i++)
|
for (int i = 0; i < info.edgenrs.Size(); i++)
|
||||||
info.edgenrs[i]--;
|
info.edgenrs[i]--;
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
auto edgs = top.GetEdges(SurfaceElementIndex(elnr));
|
||||||
|
info.edgenrs.SetSize(edgs.Size());
|
||||||
|
for (auto [i,nr] : Enumerate(edgs))
|
||||||
|
info.edgenrs[i] = nr;
|
||||||
|
*/
|
||||||
|
info.SetEdges (top.GetEdges(SurfaceElementIndex(elnr)));
|
||||||
|
|
||||||
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
||||||
|
|
||||||
for (int i = 0; i < info.edgenrs.Size(); i++)
|
for (int i = 0; i < info.edgenrs.Size(); i++)
|
||||||
info.ndof += edgecoeffsindex[info.edgenrs[i]+1] - edgecoeffsindex[info.edgenrs[i]];
|
info.ndof += edgecoeffsindex[info.edgenrs[i]+1] - edgecoeffsindex[info.edgenrs[i]];
|
||||||
info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
info.ndof += facecoeffsindex[info.facenr+1] - facecoeffsindex[info.facenr];
|
||||||
@ -1748,10 +1756,13 @@ namespace netgen
|
|||||||
if (info.order > 1)
|
if (info.order > 1)
|
||||||
{
|
{
|
||||||
const MeshTopology & top = mesh.GetTopology();
|
const MeshTopology & top = mesh.GetTopology();
|
||||||
|
|
||||||
|
/*
|
||||||
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
||||||
for (int i = 0; i < info.edgenrs.Size(); i++)
|
for (int i = 0; i < info.edgenrs.Size(); i++)
|
||||||
info.edgenrs[i]--;
|
info.edgenrs[i]--;
|
||||||
|
*/
|
||||||
|
info.SetEdges(top.GetEdges(SurfaceElementIndex(elnr)));
|
||||||
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
||||||
|
|
||||||
|
|
||||||
@ -4193,10 +4204,13 @@ namespace netgen
|
|||||||
if (info.order > 1)
|
if (info.order > 1)
|
||||||
{
|
{
|
||||||
const MeshTopology & top = mesh.GetTopology();
|
const MeshTopology & top = mesh.GetTopology();
|
||||||
|
|
||||||
|
/*
|
||||||
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
top.GetSurfaceElementEdges (elnr+1, info.edgenrs);
|
||||||
for (int i = 0; i < info.edgenrs.Size(); i++)
|
for (int i = 0; i < info.edgenrs.Size(); i++)
|
||||||
info.edgenrs[i]--;
|
info.edgenrs[i]--;
|
||||||
|
*/
|
||||||
|
info.SetEdges(top.GetEdges(elnr));
|
||||||
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
info.facenr = top.GetSurfaceElementFace (elnr+1)-1;
|
||||||
|
|
||||||
|
|
||||||
@ -4355,7 +4369,7 @@ namespace netgen
|
|||||||
const double * xi, size_t sxi,
|
const double * xi, size_t sxi,
|
||||||
double * x, size_t sx,
|
double * x, size_t sx,
|
||||||
double * dxdxi, size_t sdxdxi);
|
double * dxdxi, size_t sdxdxi);
|
||||||
|
|
||||||
|
|
||||||
template void CurvedElements ::
|
template void CurvedElements ::
|
||||||
CalcMultiPointSurfaceTransformation<2> (SurfaceElementIndex elnr, int npts,
|
CalcMultiPointSurfaceTransformation<2> (SurfaceElementIndex elnr, int npts,
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <gprim/geomobjects.hpp>
|
#include <gprim/geomobjects.hpp>
|
||||||
|
|
||||||
#include "meshtype.hpp"
|
#include "meshtype.hpp"
|
||||||
|
#include "meshclass.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
@ -248,6 +249,14 @@ private:
|
|||||||
int ndof;
|
int ndof;
|
||||||
NgArrayMem<int,4> edgenrs;
|
NgArrayMem<int,4> edgenrs;
|
||||||
int facenr;
|
int facenr;
|
||||||
|
|
||||||
|
void SetEdges (FlatArray<int> edges)
|
||||||
|
{
|
||||||
|
edgenrs.SetSize(edges.Size());
|
||||||
|
for (int i = 0; i < edges.Size(); i++)
|
||||||
|
edgenrs[i] = edges[i];
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "meshtype.hpp"
|
#include "meshtype.hpp"
|
||||||
#include "localh.hpp"
|
#include "localh.hpp"
|
||||||
#include "topology.hpp"
|
#include "topology.hpp"
|
||||||
|
#include "paralleltop.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
#ifndef FILE_MESHING
|
#ifndef FILE_MESHING
|
||||||
#define FILE_MESHING
|
#define FILE_MESHING
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "../include/myadt.hpp"
|
#include "../include/myadt.hpp"
|
||||||
#include "../include/gprim.hpp"
|
#include "../include/gprim.hpp"
|
||||||
#include "../include/linalg.hpp"
|
#include "../include/linalg.hpp"
|
||||||
@ -19,12 +17,12 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#include "msghandler.hpp"
|
// #include "msghandler.hpp"
|
||||||
#include "meshtype.hpp"
|
// #include "meshtype.hpp"
|
||||||
#include "localh.hpp"
|
// #include "localh.hpp"
|
||||||
#include "topology.hpp"
|
// #include "topology.hpp"
|
||||||
#include "meshclass.hpp"
|
// #include "meshclass.hpp"
|
||||||
#include "global.hpp"
|
// #include "global.hpp"
|
||||||
|
|
||||||
#include "meshtool.hpp"
|
#include "meshtool.hpp"
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include "meshing.hpp"
|
|
||||||
|
#include "meshing2.hpp"
|
||||||
|
|
||||||
#include "visual_interface.hpp"
|
#include "visual_interface.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
|
@ -7,6 +7,11 @@
|
|||||||
/* Date: 01. Okt. 95 */
|
/* Date: 01. Okt. 95 */
|
||||||
/**************************************************************************/
|
/**************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#include "adfront2.hpp"
|
||||||
|
#include "ruler2.hpp"
|
||||||
|
#include "basegeom.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include "meshing.hpp"
|
|
||||||
|
#include "meshing3.hpp"
|
||||||
|
#include "findip.hpp"
|
||||||
|
#include "findip2.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifndef FILE_MESHING3
|
#ifndef FILE_MESHING3
|
||||||
#define FILE_MESHING3
|
#define FILE_MESHING3
|
||||||
|
|
||||||
|
#include "meshclass.hpp"
|
||||||
#include "adfront3.hpp"
|
#include "adfront3.hpp"
|
||||||
#include "ruler3.hpp"
|
#include "ruler3.hpp"
|
||||||
|
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
// #include "../general/ngarray.hpp"
|
// #include "../general/ngarray.hpp"
|
||||||
// #include "../gprim/geom3d.hpp"
|
// #include "../gprim/geom3d.hpp"
|
||||||
// #include "../gprim/geomobjects.hpp"
|
// #include "../gprim/geomobjects.hpp"
|
||||||
// #include "meshtype.hpp"
|
|
||||||
// #include "meshclass.hpp"
|
#include "meshtype.hpp"
|
||||||
|
#include "meshclass.hpp"
|
||||||
|
|
||||||
namespace netgen {
|
namespace netgen {
|
||||||
///
|
///
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include <mystdlib.h>
|
#include <mystdlib.h>
|
||||||
#include "meshing.hpp"
|
#include "meshclass.hpp"
|
||||||
|
#include "bisect.hpp"
|
||||||
|
#include "paralleltop.hpp"
|
||||||
|
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
|
@ -1229,7 +1229,7 @@ namespace netgen
|
|||||||
face2surfel.SetSize (nfa);
|
face2surfel.SetSize (nfa);
|
||||||
face2surfel = 0;
|
face2surfel = 0;
|
||||||
for (int i = 1; i <= nse; i++)
|
for (int i = 1; i <= nse; i++)
|
||||||
face2surfel.Elem(GetSurfaceElementFace(i)) = i;
|
face2surfel[GetSurfaceElementFace(i)-1] = i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
cout << "build table complete" << endl;
|
cout << "build table complete" << endl;
|
||||||
@ -1243,11 +1243,8 @@ namespace netgen
|
|||||||
|
|
||||||
|
|
||||||
surf2volelement.SetSize (nse);
|
surf2volelement.SetSize (nse);
|
||||||
for (int i = 1; i <= nse; i++)
|
surf2volelement = INDEX_2(0,0);
|
||||||
{
|
|
||||||
surf2volelement.Elem(i)[0] = 0;
|
|
||||||
surf2volelement.Elem(i)[1] = 0;
|
|
||||||
}
|
|
||||||
(*tracer) ("Topology::Update build surf2vol", false);
|
(*tracer) ("Topology::Update build surf2vol", false);
|
||||||
// for (int i = 0; i < ne; i++)
|
// for (int i = 0; i < ne; i++)
|
||||||
ParallelFor (ne, [this](auto i)
|
ParallelFor (ne, [this](auto i)
|
||||||
@ -1256,12 +1253,12 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
// int fnum = (faces.Get(i)[j]+7) / 8;
|
// int fnum = (faces.Get(i)[j]+7) / 8;
|
||||||
int fnum = faces[i][j]+1;
|
int fnum = faces[i][j]+1;
|
||||||
if (fnum > 0 && face2surfel.Elem(fnum))
|
if (fnum > 0 && face2surfel[fnum-1])
|
||||||
{
|
{
|
||||||
int sel = face2surfel.Elem(fnum);
|
int sel = face2surfel[fnum-1];
|
||||||
surf2volelement.Elem(sel)[1] =
|
surf2volelement[sel-1][1] =
|
||||||
surf2volelement.Elem(sel)[0];
|
surf2volelement[sel-1][0];
|
||||||
surf2volelement.Elem(sel)[0] = i+1;
|
surf2volelement[sel-1][0] = i+1;
|
||||||
}
|
}
|
||||||
}});
|
}});
|
||||||
(*tracer) ("Topology::Update build surf2vol", true);
|
(*tracer) ("Topology::Update build surf2vol", true);
|
||||||
@ -2024,7 +2021,7 @@ namespace netgen
|
|||||||
|
|
||||||
int MeshTopology :: GetSurfaceElementFace (int elnr) const
|
int MeshTopology :: GetSurfaceElementFace (int elnr) const
|
||||||
{
|
{
|
||||||
return surffaces.Get(elnr)+1;
|
return surffaces[elnr-1]+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -2101,7 +2098,7 @@ namespace netgen
|
|||||||
if (orient)
|
if (orient)
|
||||||
orient[0] = segedges.Get(elnr) > 0 ? 1 : -1;
|
orient[0] = segedges.Get(elnr) > 0 ? 1 : -1;
|
||||||
*/
|
*/
|
||||||
eledges[0] = segedges.Get(elnr)+1;
|
eledges[0] = segedges[elnr-1]+1;
|
||||||
if (orient)
|
if (orient)
|
||||||
// orient[0] = segedges.Get(elnr).orient ? -1 : 1;
|
// orient[0] = segedges.Get(elnr).orient ? -1 : 1;
|
||||||
// orient[0] = GetSegmentEdgeOrientation(elnr) ? -1 : 1;
|
// orient[0] = GetSegmentEdgeOrientation(elnr) ? -1 : 1;
|
||||||
@ -2249,7 +2246,7 @@ namespace netgen
|
|||||||
|
|
||||||
void MeshTopology :: GetSegmentEdge (int segnr, int & enr, int & orient) const
|
void MeshTopology :: GetSegmentEdge (int segnr, int & enr, int & orient) const
|
||||||
{
|
{
|
||||||
enr = segedges.Get(segnr)+1;
|
enr = segedges[segnr-1]+1;
|
||||||
orient = GetSegmentEdgeOrientation(segnr);
|
orient = GetSegmentEdgeOrientation(segnr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
(Elements, Faces, Edges, Vertices
|
(Elements, Faces, Edges, Vertices
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "meshtype.hpp"
|
||||||
|
|
||||||
namespace netgen
|
namespace netgen
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -36,10 +38,11 @@ class MeshTopology
|
|||||||
Array<std::array<T_FACE,6>, ElementIndex> faces;
|
Array<std::array<T_FACE,6>, ElementIndex> faces;
|
||||||
Array<std::array<T_EDGE,4>, SurfaceElementIndex> surfedges;
|
Array<std::array<T_EDGE,4>, SurfaceElementIndex> surfedges;
|
||||||
|
|
||||||
NgArray<T_EDGE> segedges;
|
Array<T_EDGE> segedges;
|
||||||
NgArray<T_FACE> surffaces;
|
Array<T_FACE> surffaces;
|
||||||
NgArray<INDEX_2> surf2volelement;
|
Array<INDEX_2, SurfaceElementIndex> surf2volelement;
|
||||||
NgArray<int> face2surfel;
|
Array<int> face2surfel;
|
||||||
|
|
||||||
Array<SegmentIndex> edge2segment;
|
Array<SegmentIndex> edge2segment;
|
||||||
Table<ElementIndex, PointIndex> vert2element;
|
Table<ElementIndex, PointIndex> vert2element;
|
||||||
Table<SurfaceElementIndex, PointIndex> vert2surfelement;
|
Table<SurfaceElementIndex, PointIndex> vert2surfelement;
|
||||||
@ -47,8 +50,6 @@ class MeshTopology
|
|||||||
Table<int,PointIndex> vert2pointelement;
|
Table<int,PointIndex> vert2pointelement;
|
||||||
int timestamp;
|
int timestamp;
|
||||||
public:
|
public:
|
||||||
int GetNSurfedges() const {return surfedges.Size();}
|
|
||||||
|
|
||||||
MeshTopology () = default;
|
MeshTopology () = default;
|
||||||
MeshTopology (MeshTopology && top) = default;
|
MeshTopology (MeshTopology && top) = default;
|
||||||
DLL_HEADER MeshTopology (const Mesh & amesh);
|
DLL_HEADER MeshTopology (const Mesh & amesh);
|
||||||
@ -72,8 +73,8 @@ public:
|
|||||||
bool NeedsUpdate() const;
|
bool NeedsUpdate() const;
|
||||||
|
|
||||||
|
|
||||||
int GetNEdges () const { return edge2vert.Size(); }
|
size_t GetNEdges () const { return edge2vert.Size(); }
|
||||||
int GetNFaces () const { return face2vert.Size(); }
|
size_t GetNFaces () const { return face2vert.Size(); }
|
||||||
|
|
||||||
static inline short int GetNVertices (ELEMENT_TYPE et);
|
static inline short int GetNVertices (ELEMENT_TYPE et);
|
||||||
static inline short int GetNPoints (ELEMENT_TYPE et);
|
static inline short int GetNPoints (ELEMENT_TYPE et);
|
||||||
@ -88,19 +89,12 @@ public:
|
|||||||
inline static const ELEMENT_FACE * GetFaces0 (ELEMENT_TYPE et);
|
inline static const ELEMENT_FACE * GetFaces0 (ELEMENT_TYPE et);
|
||||||
|
|
||||||
[[deprecated("use GetEdge(SegmentIndex) instead")]]
|
[[deprecated("use GetEdge(SegmentIndex) instead")]]
|
||||||
int GetSegmentEdge (int segnr) const { return segedges[segnr-1]+1; }
|
T_EDGE GetSegmentEdge (int segnr) const { return segedges[segnr-1]+1; }
|
||||||
|
|
||||||
int GetEdge (SegmentIndex segnr) const { return segedges[segnr]; }
|
T_EDGE GetEdge (SegmentIndex segnr) const { return segedges[segnr]; }
|
||||||
|
|
||||||
[[deprecated("use GetEdge(SegmentIndex) instead")]]
|
[[deprecated("use GetEdge(SegmentIndex) instead")]]
|
||||||
void GetSegmentEdge (int segnr, int & enr, int & orient) const;
|
void GetSegmentEdge (int segnr, int & enr, int & orient) const;
|
||||||
/*
|
|
||||||
{
|
|
||||||
enr = segedges.Get(segnr)+1;
|
|
||||||
// orient = segedges.Get(segnr).orient;
|
|
||||||
orient = GetSegmentEdgeOrientation(segnr);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
[[deprecated("use GetEdges (ElementIndex) -> FlatArray")]]
|
[[deprecated("use GetEdges (ElementIndex) -> FlatArray")]]
|
||||||
void GetElementEdges (int elnr, NgArray<int> & edges) const;
|
void GetElementEdges (int elnr, NgArray<int> & edges) const;
|
||||||
@ -143,15 +137,15 @@ public:
|
|||||||
DLL_HEADER void GetEdgeVertices (int enr, int & v1, int & v2) const;
|
DLL_HEADER void GetEdgeVertices (int enr, int & v1, int & v2) const;
|
||||||
[[deprecated("use GetEdgeVertices -> tupe(v0,v1) instead")]]
|
[[deprecated("use GetEdgeVertices -> tupe(v0,v1) instead")]]
|
||||||
DLL_HEADER void GetEdgeVertices (int enr, PointIndex & v1, PointIndex & v2) const;
|
DLL_HEADER void GetEdgeVertices (int enr, PointIndex & v1, PointIndex & v2) const;
|
||||||
auto GetEdgeVertices (int enr) const { return tuple(edge2vert[enr][0], edge2vert[enr][1]); }
|
auto GetEdgeVertices (int enr) const { return std::array{edge2vert[enr][0], edge2vert[enr][1]}; }
|
||||||
auto GetEdgeVerticesPtr (int enr) const { return &edge2vert[enr][0]; }
|
auto GetEdgeVerticesPtr (int enr) const { return &edge2vert[enr][0]; }
|
||||||
auto GetFaceVerticesPtr (int fnr) const { return &face2vert[fnr][0]; }
|
auto GetFaceVerticesPtr (int fnr) const { return &face2vert[fnr][0]; }
|
||||||
DLL_HEADER void GetFaceEdges (int fnr, NgArray<int> & edges, bool withorientation = false) const;
|
DLL_HEADER void GetFaceEdges (int fnr, NgArray<int> & edges, bool withorientation = false) const;
|
||||||
|
|
||||||
ELEMENT_TYPE GetFaceType (int fnr) const
|
ELEMENT_TYPE GetFaceType (int fnr) const
|
||||||
// { return (face2vert.Get(fnr)[3] == 0) ? TRIG : QUAD; }
|
|
||||||
{ return (!face2vert[fnr-1][3].IsValid()) ? TRIG : QUAD; }
|
{ return (!face2vert[fnr-1][3].IsValid()) ? TRIG : QUAD; }
|
||||||
|
|
||||||
|
[[deprecated("use GetEdges (SurfaceElementIndex) -> FlatArray")]]
|
||||||
void GetSurfaceElementEdges (int elnr, NgArray<int> & edges) const;
|
void GetSurfaceElementEdges (int elnr, NgArray<int> & edges) const;
|
||||||
int GetSurfaceElementFace (int elnr) const;
|
int GetSurfaceElementFace (int elnr) const;
|
||||||
[[deprecated("orientation is outdated")]]
|
[[deprecated("orientation is outdated")]]
|
||||||
@ -170,6 +164,7 @@ public:
|
|||||||
|
|
||||||
int GetSurfaceElementEdges (int elnr, int * edges, int * orient) const;
|
int GetSurfaceElementEdges (int elnr, int * edges, int * orient) const;
|
||||||
|
|
||||||
|
int GetNSurfedges() const {return surfedges.Size();}
|
||||||
[[deprecated("use GetEdges(ElementIndex) instead")]]
|
[[deprecated("use GetEdges(ElementIndex) instead")]]
|
||||||
const T_EDGE * GetElementEdgesPtr (int elnr) const { return &edges[IndexBASE<ElementIndex>()+elnr][0]; }
|
const T_EDGE * GetElementEdgesPtr (int elnr) const { return &edges[IndexBASE<ElementIndex>()+elnr][0]; }
|
||||||
const T_EDGE * GetSurfaceElementEdgesPtr (int selnr) const { return &surfedges[selnr][0]; }
|
const T_EDGE * GetSurfaceElementEdgesPtr (int selnr) const { return &surfedges[selnr][0]; }
|
||||||
@ -181,14 +176,14 @@ public:
|
|||||||
|
|
||||||
void GetSurface2VolumeElement (int selnr, int & elnr1, int & elnr2) const
|
void GetSurface2VolumeElement (int selnr, int & elnr1, int & elnr2) const
|
||||||
{
|
{
|
||||||
elnr1 = surf2volelement.Get(selnr)[0];
|
elnr1 = surf2volelement[selnr-1][0];
|
||||||
elnr2 = surf2volelement.Get(selnr)[1];
|
elnr2 = surf2volelement[selnr-1][1];
|
||||||
}
|
}
|
||||||
|
|
||||||
std::array<ElementIndex,2> GetSurface2VolumeElement (SurfaceElementIndex sei)
|
std::array<ElementIndex,2> GetSurface2VolumeElement (SurfaceElementIndex sei)
|
||||||
{
|
{
|
||||||
return { ElementIndex( surf2volelement.Get(sei+1)[0] - 1),
|
return { ElementIndex( surf2volelement[sei][0] - 1),
|
||||||
ElementIndex( surf2volelement.Get(sei+1)[1] - 1) };
|
ElementIndex( surf2volelement[sei][1] - 1) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
#define FILE_OCC_EDGE_INCLUDED
|
#define FILE_OCC_EDGE_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
#pragma clang diagnostic push
|
// #pragma clang diagnostic push
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
// #pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
|
||||||
#include <GProp_GProps.hxx>
|
#include <GProp_GProps.hxx>
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
#include <BRep_TEdge.hxx>
|
#include <BRep_TEdge.hxx>
|
||||||
#include <BRep_Tool.hxx>
|
#include <BRep_Tool.hxx>
|
||||||
|
|
||||||
#pragma clang diagnostic pop
|
// #pragma clang diagnostic pop
|
||||||
|
|
||||||
#include "occ_vertex.hpp"
|
#include "occ_vertex.hpp"
|
||||||
#include "meshing.hpp"
|
#include "meshing.hpp"
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
#ifndef FILE_OCC_FACE_INCLUDED
|
#ifndef FILE_OCC_FACE_INCLUDED
|
||||||
#define FILE_OCC_FACE_INCLUDED
|
#define FILE_OCC_FACE_INCLUDED
|
||||||
|
|
||||||
#pragma clang diagnostic push
|
// #pragma clang diagnostic push
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
// #pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
|
||||||
#include <GProp_GProps.hxx>
|
#include <GProp_GProps.hxx>
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
#include <TopoDS_Face.hxx>
|
#include <TopoDS_Face.hxx>
|
||||||
#include <ShapeAnalysis_Surface.hxx>
|
#include <ShapeAnalysis_Surface.hxx>
|
||||||
|
|
||||||
#pragma clang diagnostic pop
|
// #pragma clang diagnostic pop
|
||||||
|
|
||||||
#include "occ_vertex.hpp"
|
#include "occ_vertex.hpp"
|
||||||
#include "meshing.hpp"
|
#include "meshing.hpp"
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
#include <variant>
|
#include <variant>
|
||||||
|
|
||||||
#pragma clang diagnostic push
|
// #pragma clang diagnostic push
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
// #pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
|
||||||
#include <BRepGProp.hxx>
|
#include <BRepGProp.hxx>
|
||||||
#include <BRep_Tool.hxx>
|
#include <BRep_Tool.hxx>
|
||||||
@ -17,7 +17,7 @@
|
|||||||
#include <gp_Trsf.hxx>
|
#include <gp_Trsf.hxx>
|
||||||
#include <gp_GTrsf.hxx>
|
#include <gp_GTrsf.hxx>
|
||||||
|
|
||||||
#pragma clang diagnostic pop
|
// #pragma clang diagnostic pop
|
||||||
|
|
||||||
#include "meshing.hpp"
|
#include "meshing.hpp"
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#ifndef FILE_OCC_VERTEX_INCLUDED
|
#ifndef FILE_OCC_VERTEX_INCLUDED
|
||||||
#define FILE_OCC_VERTEX_INCLUDED
|
#define FILE_OCC_VERTEX_INCLUDED
|
||||||
|
|
||||||
#pragma clang diagnostic push
|
// #pragma clang diagnostic push
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
// #pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
|
||||||
#include <TopoDS.hxx>
|
#include <TopoDS.hxx>
|
||||||
#include <BRep_TVertex.hxx>
|
#include <BRep_TVertex.hxx>
|
||||||
|
|
||||||
#pragma clang diagnostic pop
|
// #pragma clang diagnostic pop
|
||||||
|
|
||||||
#include "meshing.hpp"
|
#include "meshing.hpp"
|
||||||
#include "occ_utils.hpp"
|
#include "occ_utils.hpp"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user