mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-25 05:20:34 +05:00
default constructors assignment operators, cheaper Array-Resize
This commit is contained in:
parent
5e320a5556
commit
c50bd79beb
@ -178,6 +178,12 @@ namespace netgen
|
|||||||
class MarkedTri
|
class MarkedTri
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
MarkedTri () = default;
|
||||||
|
MarkedTri (const MarkedTri&) = default;
|
||||||
|
MarkedTri (MarkedTri &&) = default;
|
||||||
|
MarkedTri & operator= (const MarkedTri&) = default;
|
||||||
|
MarkedTri & operator= (MarkedTri&&) = default;
|
||||||
|
|
||||||
/// three point numbers
|
/// three point numbers
|
||||||
PointIndex pnums[3];
|
PointIndex pnums[3];
|
||||||
/// three geominfos
|
/// three geominfos
|
||||||
|
@ -455,7 +455,7 @@ void MeshOptimize3d :: SplitImprove (Mesh & mesh,
|
|||||||
if (el[l] == pi1 || el[l] == pi2)
|
if (el[l] == pi1 || el[l] == pi2)
|
||||||
{
|
{
|
||||||
INDEX_3 i3;
|
INDEX_3 i3;
|
||||||
Element2d face;
|
Element2d face(TRIG);
|
||||||
el.GetFace (l+1, face);
|
el.GetFace (l+1, face);
|
||||||
for (int kk = 1; kk <= 3; kk++)
|
for (int kk = 1; kk <= 3; kk++)
|
||||||
i3.I(kk) = face.PNum(kk);
|
i3.I(kk) = face.PNum(kk);
|
||||||
|
@ -1901,7 +1901,7 @@ namespace netgen
|
|||||||
int ii;
|
int ii;
|
||||||
PointIndex pi;
|
PointIndex pi;
|
||||||
SurfaceElementIndex sei;
|
SurfaceElementIndex sei;
|
||||||
Element2d hel;
|
// Element2d hel;
|
||||||
|
|
||||||
|
|
||||||
INDEX_3_CLOSED_HASHTABLE<INDEX_2> faceht(100);
|
INDEX_3_CLOSED_HASHTABLE<INDEX_2> faceht(100);
|
||||||
@ -1915,7 +1915,7 @@ namespace netgen
|
|||||||
FlatArray<SurfaceElementIndex> row = selsonpoint[pi];
|
FlatArray<SurfaceElementIndex> row = selsonpoint[pi];
|
||||||
for (ii = 0; ii < row.Size(); ii++)
|
for (ii = 0; ii < row.Size(); ii++)
|
||||||
{
|
{
|
||||||
hel = SurfaceElement(row[ii]);
|
Element2d hel = SurfaceElement(row[ii]);
|
||||||
if (hel.GetType() == TRIG6) hel.SetType(TRIG);
|
if (hel.GetType() == TRIG6) hel.SetType(TRIG);
|
||||||
int ind = hel.GetIndex();
|
int ind = hel.GetIndex();
|
||||||
|
|
||||||
@ -1960,6 +1960,7 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
for (int j = 1; j <= el.GetNFaces(); j++)
|
for (int j = 1; j <= el.GetNFaces(); j++)
|
||||||
{
|
{
|
||||||
|
Element2d hel;
|
||||||
el.GetFace (j, hel);
|
el.GetFace (j, hel);
|
||||||
hel.Invert();
|
hel.Invert();
|
||||||
hel.NormalizeNumbering();
|
hel.NormalizeNumbering();
|
||||||
@ -2014,8 +2015,9 @@ namespace netgen
|
|||||||
faceht.GetData (i, i3, i2);
|
faceht.GetData (i, i3, i2);
|
||||||
if (i2.I1() != PointIndex::BASE-1)
|
if (i2.I1() != PointIndex::BASE-1)
|
||||||
{
|
{
|
||||||
Element2d tri;
|
// Element2d tri;
|
||||||
tri.SetType ( (i2.I2() == PointIndex::BASE-1) ? TRIG : QUAD);
|
// tri.SetType ( (i2.I2() == PointIndex::BASE-1) ? TRIG : QUAD);
|
||||||
|
Element2d tri ( (i2.I2() == PointIndex::BASE-1) ? TRIG : QUAD);
|
||||||
for (int l = 0; l < 3; l++)
|
for (int l = 0; l < 3; l++)
|
||||||
tri[l] = i3.I(l+1);
|
tri[l] = i3.I(l+1);
|
||||||
tri.PNum(4) = i2.I2();
|
tri.PNum(4) = i2.I2();
|
||||||
@ -5361,7 +5363,7 @@ namespace netgen
|
|||||||
// angles in faces
|
// angles in faces
|
||||||
for (j = 1; j <= 4; j++)
|
for (j = 1; j <= 4; j++)
|
||||||
{
|
{
|
||||||
Element2d face;
|
Element2d face(TRIG);
|
||||||
el.GetFace (j, face);
|
el.GetFace (j, face);
|
||||||
for (lpi1 = 1; lpi1 <= 3; lpi1++)
|
for (lpi1 = 1; lpi1 <= 3; lpi1++)
|
||||||
{
|
{
|
||||||
|
@ -157,8 +157,7 @@ namespace netgen
|
|||||||
<< " si = " << seg.si << ", edgenr = " << seg.edgenr;
|
<< " si = " << seg.si << ", edgenr = " << seg.edgenr;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
|
||||||
Element2d :: Element2d ()
|
Element2d :: Element2d ()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < ELEMENT2D_MAXPOINTS; i++)
|
for (int i = 0; i < ELEMENT2D_MAXPOINTS; i++)
|
||||||
@ -177,8 +176,7 @@ namespace netgen
|
|||||||
strongrefflag = false;
|
strongrefflag = false;
|
||||||
is_curved = false;
|
is_curved = false;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
Element2d :: Element2d (int anp)
|
Element2d :: Element2d (int anp)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < ELEMENT2D_MAXPOINTS; i++)
|
for (int i = 0; i < ELEMENT2D_MAXPOINTS; i++)
|
||||||
|
@ -76,8 +76,13 @@ namespace netgen
|
|||||||
int trignum; // for STL Meshing
|
int trignum; // for STL Meshing
|
||||||
double u, v; // for OCC Meshing
|
double u, v; // for OCC Meshing
|
||||||
|
|
||||||
PointGeomInfo ()
|
PointGeomInfo () = default;
|
||||||
: trignum(-1), u(0), v(0) { ; }
|
// : trignum(-1), u(0), v(0) { ; }
|
||||||
|
PointGeomInfo (const PointGeomInfo&) = default;
|
||||||
|
PointGeomInfo (PointGeomInfo &&) = default;
|
||||||
|
PointGeomInfo & operator= (const PointGeomInfo&) = default;
|
||||||
|
PointGeomInfo & operator= (PointGeomInfo&&) = default;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inline ostream & operator<< (ostream & ost, const PointGeomInfo & gi)
|
inline ostream & operator<< (ostream & ost, const PointGeomInfo & gi)
|
||||||
@ -145,9 +150,14 @@ namespace netgen
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
public:
|
public:
|
||||||
PointIndex () { ; }
|
PointIndex () = default;
|
||||||
|
PointIndex (const PointIndex&) = default;
|
||||||
|
PointIndex (PointIndex &&) = default;
|
||||||
|
PointIndex & operator= (const PointIndex&) = default;
|
||||||
|
PointIndex & operator= (PointIndex&&) = default;
|
||||||
|
|
||||||
PointIndex (int ai) : i(ai) { ; }
|
PointIndex (int ai) : i(ai) { ; }
|
||||||
PointIndex & operator= (const PointIndex &ai) { i = ai.i; return *this; }
|
// PointIndex & operator= (const PointIndex &ai) { i = ai.i; return *this; }
|
||||||
operator int () const { return i; }
|
operator int () const { return i; }
|
||||||
PointIndex operator++ (int) { PointIndex hi(*this); i++; return hi; }
|
PointIndex operator++ (int) { PointIndex hi(*this); i++; return hi; }
|
||||||
PointIndex operator-- (int) { PointIndex hi(*this); i--; return hi; }
|
PointIndex operator-- (int) { PointIndex hi(*this); i--; return hi; }
|
||||||
@ -364,7 +374,11 @@ namespace netgen
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
///
|
///
|
||||||
Element2d ();
|
Element2d () = default;
|
||||||
|
Element2d (const Element2d &) = default;
|
||||||
|
Element2d (Element2d &&) = default;
|
||||||
|
Element2d & operator= (const Element2d &) = default;
|
||||||
|
Element2d & operator= (Element2d &&) = default;
|
||||||
///
|
///
|
||||||
Element2d (int anp);
|
Element2d (int anp);
|
||||||
///
|
///
|
||||||
|
@ -329,7 +329,7 @@ void netrule :: LoadRule (istream & ist)
|
|||||||
|
|
||||||
while (ch == '(')
|
while (ch == '(')
|
||||||
{
|
{
|
||||||
elements.Append (Element2d());
|
elements.Append (Element2d(TRIG));
|
||||||
|
|
||||||
ist >> elements.Last().PNum(1);
|
ist >> elements.Last().PNum(1);
|
||||||
ist >> ch; // ','
|
ist >> ch; // ','
|
||||||
|
@ -84,7 +84,7 @@ void vnetrule :: LoadRule (istream & ist)
|
|||||||
char buf[256];
|
char buf[256];
|
||||||
char ch, ok;
|
char ch, ok;
|
||||||
Point3d p;
|
Point3d p;
|
||||||
Element2d face;
|
Element2d face(TRIG);
|
||||||
int i, j, i1, i2, i3, fs, ii, ii1, ii2, ii3;
|
int i, j, i1, i2, i3, fs, ii, ii1, ii2, ii3;
|
||||||
twoint edge;
|
twoint edge;
|
||||||
DenseMatrix tempoldutonewu(30, 20),
|
DenseMatrix tempoldutonewu(30, 20),
|
||||||
|
@ -112,7 +112,7 @@ namespace netgen
|
|||||||
|
|
||||||
int onp(0);
|
int onp(0);
|
||||||
|
|
||||||
Element2d newel;
|
Element2d newel(TRIG);
|
||||||
newel.SetIndex (el.GetIndex());
|
newel.SetIndex (el.GetIndex());
|
||||||
|
|
||||||
static int betw_trig[3][3] =
|
static int betw_trig[3][3] =
|
||||||
|
@ -432,7 +432,7 @@ namespace netgen
|
|||||||
for (int k = 1; k <= 4; k++)
|
for (int k = 1; k <= 4; k++)
|
||||||
if (el.PNum(k) == actpind)
|
if (el.PNum(k) == actpind)
|
||||||
{
|
{
|
||||||
Element2d face;
|
Element2d face(TRIG);
|
||||||
el.GetFace (k, face);
|
el.GetFace (k, face);
|
||||||
Swap (face.PNum(2), face.PNum(3));
|
Swap (face.PNum(2), face.PNum(3));
|
||||||
faces.Append (face);
|
faces.Append (face);
|
||||||
|
Loading…
Reference in New Issue
Block a user