mirror of
https://github.com/NGSolve/netgen.git
synced 2025-01-23 19:30:33 +05:00
more singular-face cases implemented
This commit is contained in:
parent
e0fa631ca9
commit
103a9c8cb7
@ -9,7 +9,6 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
|
|
||||||
HPREF_ELEMENT_TYPE type = HP_NONE;
|
HPREF_ELEMENT_TYPE type = HP_NONE;
|
||||||
|
|
||||||
|
|
||||||
int debug = 0;
|
int debug = 0;
|
||||||
for (int j = 0;j < 4; j++)
|
for (int j = 0;j < 4; j++)
|
||||||
{
|
{
|
||||||
@ -228,19 +227,19 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
if (!ep1 && !ep2 && !ep3 && !ep4)
|
if (!sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET;
|
type = HP_TET;
|
||||||
|
|
||||||
if (ep1 && !ep2 && !ep3 && !ep4)
|
if (sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_0E_1V;
|
type = HP_TET_0E_1V;
|
||||||
|
|
||||||
if (ep1 && ep2 && !ep3 && !ep4)
|
if (sp1 && sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_0E_2V;
|
type = HP_TET_0E_2V;
|
||||||
|
|
||||||
if (ep1 && ep2 && ep3 && !ep4)
|
if (sp1 && sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_0E_3V;
|
type = HP_TET_0E_3V;
|
||||||
|
|
||||||
if (ep1 && ep2 && ep3 && ep4)
|
if (sp1 && sp2 && sp3 && sp4)
|
||||||
type = HP_TET_0E_4V;
|
type = HP_TET_0E_4V;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -250,34 +249,34 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
{
|
{
|
||||||
if (!isedge1) break;
|
if (!isedge1) break;
|
||||||
|
|
||||||
if (!cp1 && !cp2 && !ep3 && !ep4)
|
if (!sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_1E_0V;
|
type = HP_TET_1E_0V;
|
||||||
|
|
||||||
if (cp1 && !cp2 && !ep3 && !ep4)
|
if (sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_1E_1VA;
|
type = HP_TET_1E_1VA;
|
||||||
|
|
||||||
if (!cp1 && !cp2 && !ep3 && ep4)
|
if (!sp1 && !sp2 && !sp3 && sp4)
|
||||||
type = HP_TET_1E_1VB;
|
type = HP_TET_1E_1VB;
|
||||||
|
|
||||||
if (cp1 && cp2 && !ep3 && !ep4)
|
if (sp1 && sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_1E_2VA;
|
type = HP_TET_1E_2VA;
|
||||||
|
|
||||||
if (cp1 && !cp2 && ep3 && !ep4)
|
if (sp1 && !sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_1E_2VB;
|
type = HP_TET_1E_2VB;
|
||||||
|
|
||||||
if (cp1 && !cp2 && !ep3 && ep4)
|
if (sp1 && !sp2 && !sp3 && sp4)
|
||||||
type = HP_TET_1E_2VC;
|
type = HP_TET_1E_2VC;
|
||||||
|
|
||||||
if (!cp1 && !cp2 && ep3 && ep4)
|
if (!sp1 && !sp2 && sp3 && sp4)
|
||||||
type = HP_TET_1E_2VD;
|
type = HP_TET_1E_2VD;
|
||||||
|
|
||||||
if (cp1 && cp2 && ep3 && !ep4)
|
if (sp1 && sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_1E_3VA;
|
type = HP_TET_1E_3VA;
|
||||||
|
|
||||||
if (cp1 && !cp2 && ep3 && ep4)
|
if (sp1 && !sp2 && sp3 && sp4)
|
||||||
type = HP_TET_1E_3VB;
|
type = HP_TET_1E_3VB;
|
||||||
|
|
||||||
if (cp1 && cp2 && ep3 && ep4)
|
if (sp1 && sp2 && sp3 && sp4)
|
||||||
type = HP_TET_1E_4V;
|
type = HP_TET_1E_4V;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -286,42 +285,42 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
{
|
{
|
||||||
if (isedge1 && isedge2)
|
if (isedge1 && isedge2)
|
||||||
{
|
{
|
||||||
if (!cp2 && !cp3 && !ep4)
|
if (!sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_2EA_0V;
|
type = HP_TET_2EA_0V;
|
||||||
|
|
||||||
if (cp2 && !cp3 && !ep4)
|
if (sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_2EA_1VA;
|
type = HP_TET_2EA_1VA;
|
||||||
if (!cp2 && cp3 && !ep4)
|
if (!sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_2EA_1VB;
|
type = HP_TET_2EA_1VB;
|
||||||
|
|
||||||
if (!cp2 && !cp3 && ep4)
|
if (!sp2 && !sp3 && sp4)
|
||||||
type = HP_TET_2EA_1VC;
|
type = HP_TET_2EA_1VC;
|
||||||
|
|
||||||
if (cp2 && cp3 && !ep4)
|
if (sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_2EA_2VA;
|
type = HP_TET_2EA_2VA;
|
||||||
if (cp2 && !cp3 && ep4)
|
if (sp2 && !sp3 && sp4)
|
||||||
type = HP_TET_2EA_2VB;
|
type = HP_TET_2EA_2VB;
|
||||||
if (!cp2 && cp3 && ep4)
|
if (!sp2 && sp3 && sp4)
|
||||||
type = HP_TET_2EA_2VC;
|
type = HP_TET_2EA_2VC;
|
||||||
|
|
||||||
if (cp2 && cp3 && ep4)
|
if (sp2 && sp3 && sp4)
|
||||||
type = HP_TET_2EA_3V;
|
type = HP_TET_2EA_3V;
|
||||||
}
|
}
|
||||||
if (isedge1 && isedge6)
|
if (isedge1 && isedge6)
|
||||||
{
|
{
|
||||||
if (!cp1 && !cp2 && !cp3 && !cp4)
|
if (!sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_2EB_0V;
|
type = HP_TET_2EB_0V;
|
||||||
if (cp1 && !cp2 && !cp3 && !cp4)
|
if (sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_2EB_1V;
|
type = HP_TET_2EB_1V;
|
||||||
if (cp1 && cp2 && !cp3 && !cp4)
|
if (sp1 && sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_2EB_2VA;
|
type = HP_TET_2EB_2VA;
|
||||||
if (cp1 && !cp2 && cp3 && !cp4)
|
if (sp1 && !sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_2EB_2VB;
|
type = HP_TET_2EB_2VB;
|
||||||
if (cp1 && !cp2 && !cp3 && cp4)
|
if (sp1 && !sp2 && !sp3 && sp4)
|
||||||
type = HP_TET_2EB_2VC;
|
type = HP_TET_2EB_2VC;
|
||||||
if (cp1 && cp2 && cp3 && !cp4)
|
if (sp1 && sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_2EB_3V;
|
type = HP_TET_2EB_3V;
|
||||||
if (cp1 && cp2 && cp3 && cp4)
|
if (sp1 && sp2 && sp3 && sp4)
|
||||||
type = HP_TET_2EB_4V;
|
type = HP_TET_2EB_4V;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -330,36 +329,36 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
{
|
{
|
||||||
if (isedge1 && isedge2 && isedge3)
|
if (isedge1 && isedge2 && isedge3)
|
||||||
{
|
{
|
||||||
if (!cp2 && !cp3 && !cp4)
|
if (!sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_3EA_0V;
|
type = HP_TET_3EA_0V;
|
||||||
if (cp2 && !cp3 && !cp4)
|
if (sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_3EA_1V;
|
type = HP_TET_3EA_1V;
|
||||||
if (cp2 && cp3 && !cp4)
|
if (sp2 && sp3 && !sp4)
|
||||||
type = HP_TET_3EA_2V;
|
type = HP_TET_3EA_2V;
|
||||||
if (cp2 && cp3 && cp4)
|
if (sp2 && sp3 && sp4)
|
||||||
type = HP_TET_3EA_3V;
|
type = HP_TET_3EA_3V;
|
||||||
}
|
}
|
||||||
if (isedge1 && isedge3 && isedge4)
|
if (isedge1 && isedge3 && isedge4)
|
||||||
{
|
{
|
||||||
if (!cp3 && !cp4)
|
if (!sp3 && !sp4)
|
||||||
type = HP_TET_3EB_0V;
|
type = HP_TET_3EB_0V;
|
||||||
if (cp3 && !cp4)
|
if (sp3 && !sp4)
|
||||||
type = HP_TET_3EB_1V;
|
type = HP_TET_3EB_1V;
|
||||||
if (cp3 && cp4)
|
if (sp3 && sp4)
|
||||||
type = HP_TET_3EB_2V;
|
type = HP_TET_3EB_2V;
|
||||||
}
|
}
|
||||||
if (isedge1 && isedge2 && isedge5)
|
if (isedge1 && isedge2 && isedge5)
|
||||||
{
|
{
|
||||||
if (!cp3 && !cp4)
|
if (!sp3 && !sp4)
|
||||||
type = HP_TET_3EC_0V;
|
type = HP_TET_3EC_0V;
|
||||||
if (cp3 && !cp4)
|
if (sp3 && !sp4)
|
||||||
type = HP_TET_3EC_1V;
|
type = HP_TET_3EC_1V;
|
||||||
if (cp3 && cp4)
|
if (sp3 && sp4)
|
||||||
type = HP_TET_3EC_2V;
|
type = HP_TET_3EC_2V;
|
||||||
}
|
}
|
||||||
if (isedge1 && isedge2 && isedge4)
|
if (isedge1 && isedge2 && isedge4)
|
||||||
{
|
{
|
||||||
if (!cp4)
|
if (!sp4)
|
||||||
type = HP_TET_3ED_3V; // a loop
|
type = HP_TET_3ED_3V; // a loop
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -419,6 +418,13 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE<int> & edges
|
|||||||
{
|
{
|
||||||
if (!sp1 && !sp2 && !sp3 && !sp4)
|
if (!sp1 && !sp2 && !sp3 && !sp4)
|
||||||
type = HP_TET_1F_1EB_0V;
|
type = HP_TET_1F_1EB_0V;
|
||||||
|
if (!sp1 && sp2 && !sp3 && !sp4)
|
||||||
|
type = HP_TET_1F_1E_1VA;
|
||||||
|
}
|
||||||
|
if (se5) // V2-V4
|
||||||
|
{
|
||||||
|
if (!sp1 && sp2 && !sp3 && !sp4)
|
||||||
|
type = HP_TET_1F_1E_1VB;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -342,7 +342,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// HP_PRISM_1FB_1EA_0V ... quad face 1-2-4-5
|
// HP_PRISM_1FB_1EA_0V ... quad face 1-2-4-5, edge is 1-4
|
||||||
int refprism_1fb_1ea_0v_splitedges[][3] =
|
int refprism_1fb_1ea_0v_splitedges[][3] =
|
||||||
{
|
{
|
||||||
{ 1, 3, 7 },
|
{ 1, 3, 7 },
|
||||||
|
@ -3216,6 +3216,94 @@ HPRef_Struct reftet_1f_1eb_0v =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_1F_1E_1VA // 1 sing edge in face e23, sing vert 2
|
||||||
|
int reftet_1f_1e_1va_splitedges[][3] =
|
||||||
|
{
|
||||||
|
{ 2, 1, 5 },
|
||||||
|
{ 2, 3, 10 },
|
||||||
|
{ 2, 4, 6 },
|
||||||
|
{ 3, 1, 7 },
|
||||||
|
{ 3, 4, 8 },
|
||||||
|
{ 4, 1, 9 },
|
||||||
|
{ 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_1f_1e_1va_newelstypes[] =
|
||||||
|
{
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_TET,
|
||||||
|
HP_TET_1F_1E_1VA,
|
||||||
|
HP_NONE,
|
||||||
|
};
|
||||||
|
int reftet_1f_1e_1va_newels[][8] =
|
||||||
|
{
|
||||||
|
{ 3, 8, 7, 10, 6, 5 },
|
||||||
|
{ 6, 4, 8, 5, 9, 7 },
|
||||||
|
{ 5, 9, 7, 1},
|
||||||
|
{ 5, 2, 10, 6 }
|
||||||
|
};
|
||||||
|
HPRef_Struct reftet_1f_1e_1va =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
reftet_1f_1e_1va_splitedges,
|
||||||
|
0, 0,
|
||||||
|
reftet_1f_1e_1va_newelstypes,
|
||||||
|
reftet_1f_1e_1va_newels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_1F_1E_1VB // 1 sing edge in face e24, sing vert 2
|
||||||
|
int reftet_1f_1e_1vb_splitedges[][3] =
|
||||||
|
{
|
||||||
|
{ 2, 1, 5 },
|
||||||
|
{ 2, 3, 6 },
|
||||||
|
{ 2, 4, 7 },
|
||||||
|
{ 3, 1, 8 },
|
||||||
|
{ 4, 1, 9 },
|
||||||
|
{ 4, 3, 10 },
|
||||||
|
{ 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_1f_1e_1vb_newelstypes[] =
|
||||||
|
{
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_TET,
|
||||||
|
HP_TET_1F_1E_1VB,
|
||||||
|
HP_NONE,
|
||||||
|
};
|
||||||
|
int reftet_1f_1e_1vb_newels[][8] =
|
||||||
|
{
|
||||||
|
{ 4, 9, 10, 7, 5, 6 },
|
||||||
|
{ 3, 6, 10, 8, 5, 9 },
|
||||||
|
{ 5, 9, 8, 1},
|
||||||
|
{ 5, 2, 6, 7 }
|
||||||
|
};
|
||||||
|
HPRef_Struct reftet_1f_1e_1vb =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
reftet_1f_1e_1vb_splitedges,
|
||||||
|
0, 0,
|
||||||
|
reftet_1f_1e_1vb_newelstypes,
|
||||||
|
reftet_1f_1e_1vb_newels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// HP_TET_1F_1E_2VA // 1 sing edge not in face (e12), sing v2,v3
|
// HP_TET_1F_1E_2VA // 1 sing edge not in face (e12), sing v2,v3
|
||||||
int reftet_1f_1e_2va_splitedges[][3] =
|
int reftet_1f_1e_2va_splitedges[][3] =
|
||||||
@ -3278,39 +3366,123 @@ HPRef_Struct reftet_1f_1e_2va =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_1F_1E_2VB // 1 sing edge not in face (e12), sing v2,v4
|
||||||
|
int reftet_1f_1e_2vb_splitedges[][3] =
|
||||||
// HP_TET_1F_2E_0V singular edge in face 234 is 34, and edge not in face is 14
|
|
||||||
int reftet_1f_2e_0va_splitedges[][3] =
|
|
||||||
{
|
{
|
||||||
{ 2, 1, 5 },
|
{ 1, 3, 5 },
|
||||||
{ 2, 4, 6 },
|
{ 1, 4, 6 },
|
||||||
{ 3, 1, 7 },
|
{ 2, 1, 7 },
|
||||||
{ 3, 4, 8 },
|
{ 2, 3, 8 },
|
||||||
{ 4, 1, 9 },
|
{ 2, 4, 9 },
|
||||||
|
{ 3, 1, 10 },
|
||||||
|
{ 4, 1, 11 },
|
||||||
|
{ 4, 2, 12 },
|
||||||
|
{ 4, 3, 13 },
|
||||||
{ 0, 0, 0 }
|
{ 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int reftet_1f_1e_2vb_splitfaces[][4] =
|
||||||
|
{
|
||||||
|
{ 2, 1, 3, 14 },
|
||||||
|
{ 2, 1, 4, 15 },
|
||||||
|
{ 0, 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_1f_1e_2vb_newelstypes[] =
|
||||||
|
{
|
||||||
|
HP_PRISM,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_PRISM_1FB_0E_0V,
|
||||||
|
HP_TET_1F_0E_1VA,
|
||||||
|
HP_TET_1F_0E_1VA,
|
||||||
|
HP_TET_1E_1VA,
|
||||||
|
HP_TET_1E_1VA,
|
||||||
|
HP_HEX7_1FB,
|
||||||
|
HP_NONE,
|
||||||
|
|
||||||
|
};
|
||||||
|
int reftet_1f_1e_2vb_newels[][8] =
|
||||||
|
{
|
||||||
|
{ 5, 14, 10, 6, 15, 11 },
|
||||||
|
{ 1, 5, 6, 7, 14, 15 },
|
||||||
|
{ 8, 15, 9, 13, 11, 12 },
|
||||||
|
{ 11, 4, 12, 13 },
|
||||||
|
{ 15, 2, 8, 9 },
|
||||||
|
{ 2, 7, 15, 14 },
|
||||||
|
{ 2, 8, 14, 15 },
|
||||||
|
{ 10, 11, 15, 14, 3, 13, 8 }
|
||||||
|
};
|
||||||
|
HPRef_Struct reftet_1f_1e_2vb =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
reftet_1f_1e_2vb_splitedges,
|
||||||
|
reftet_1f_1e_2vb_splitfaces,
|
||||||
|
0,
|
||||||
|
reftet_1f_1e_2vb_newelstypes,
|
||||||
|
reftet_1f_1e_2vb_newels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_1F_2E_0VA singular edge in face 234 is 34, and edge not in face is 14
|
||||||
|
int reftet_1f_2e_0va_splitedges[][3] =
|
||||||
|
{
|
||||||
|
{ 1, 2, 5 },
|
||||||
|
{ 1, 3, 6 },
|
||||||
|
{ 2, 1, 7 },
|
||||||
|
{ 3, 1, 8 },
|
||||||
|
{ 3, 2, 9 },
|
||||||
|
{ 4, 1, 10 },
|
||||||
|
{ 4, 2, 11 },
|
||||||
|
{ 4, 3, 12 },
|
||||||
|
{ 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
int reftet_1f_2e_0va_splitfaces[][4] =
|
||||||
|
{
|
||||||
|
{ 4, 1, 2, 13 },
|
||||||
|
{ 4, 1, 3, 14 },
|
||||||
|
{ 0, 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
HPREF_ELEMENT_TYPE reftet_1f_2e_0va_newelstypes[] =
|
HPREF_ELEMENT_TYPE reftet_1f_2e_0va_newelstypes[] =
|
||||||
{
|
{
|
||||||
|
HP_PRISM,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_HEX7_1FB,
|
||||||
HP_PRISM_1FB_1EA_0V,
|
HP_PRISM_1FB_1EA_0V,
|
||||||
HP_PRISM_1FA_0E_0V,
|
HP_TET_1F_1E_1VA,
|
||||||
HP_TET,
|
HP_TET_1E_1VA,
|
||||||
|
HP_TET_1E_1VA,
|
||||||
HP_NONE,
|
HP_NONE,
|
||||||
};
|
};
|
||||||
int reftet_1f_2e_0va_newels[][8] =
|
int reftet_1f_2e_0va_newels[][8] =
|
||||||
{
|
{
|
||||||
// { 2, 5, 6, 3, 7, 8 },
|
{ 6, 8, 14, 5, 7, 13 },
|
||||||
{ 3, 8, 7, 2, 6, 5 },
|
{ 1, 5, 6, 10, 13, 14 },
|
||||||
{ 6, 4, 8, 5, 9, 7 },
|
{ 7, 8, 14, 13, 2, 9, 11 },
|
||||||
{ 5, 9, 7, 1}
|
{ 3, 8, 9, 12, 14, 11 },
|
||||||
|
{ 14, 4, 11, 12 },
|
||||||
|
{ 4, 11, 13, 14 },
|
||||||
|
{ 4, 10, 14, 13 }
|
||||||
};
|
};
|
||||||
HPRef_Struct reftet_1f_2e_0va =
|
HPRef_Struct reftet_1f_2e_0va =
|
||||||
{
|
{
|
||||||
HP_TET,
|
HP_TET,
|
||||||
reftet_1f_2e_0va_splitedges,
|
reftet_1f_2e_0va_splitedges,
|
||||||
0, 0,
|
reftet_1f_2e_0va_splitfaces,
|
||||||
|
0,
|
||||||
reftet_1f_2e_0va_newelstypes,
|
reftet_1f_2e_0va_newelstypes,
|
||||||
reftet_1f_2e_0va_newels
|
reftet_1f_2e_0va_newels
|
||||||
};
|
};
|
||||||
@ -3319,6 +3491,61 @@ HPRef_Struct reftet_1f_2e_0va =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_1F_2E_0VB singular edge in face 234 is 34, and edge not in face is 13
|
||||||
|
int reftet_1f_2e_0vb_splitedges[][3] =
|
||||||
|
{
|
||||||
|
{ 1, 2, 5 },
|
||||||
|
{ 1, 4, 6 },
|
||||||
|
{ 2, 1, 7 },
|
||||||
|
{ 3, 1, 8 },
|
||||||
|
{ 3, 2, 9 },
|
||||||
|
{ 3, 4, 10 },
|
||||||
|
{ 4, 1, 11 },
|
||||||
|
{ 4, 2, 12 },
|
||||||
|
{ 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
int reftet_1f_2e_0vb_splitfaces[][4] =
|
||||||
|
{
|
||||||
|
{ 3, 1, 2, 13 },
|
||||||
|
{ 3, 1, 4, 14 },
|
||||||
|
{ 0, 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_1f_2e_0vb_newelstypes[] =
|
||||||
|
{
|
||||||
|
HP_PRISM,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_HEX7_1FB,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_TET_1F_1E_1VA,
|
||||||
|
HP_TET_1E_1VA,
|
||||||
|
HP_TET_1E_1VA,
|
||||||
|
HP_NONE,
|
||||||
|
};
|
||||||
|
int reftet_1f_2e_0vb_newels[][8] =
|
||||||
|
{
|
||||||
|
{ 6, 14, 11, 5, 13, 7 },
|
||||||
|
{ 1, 6, 5, 8, 14, 13 },
|
||||||
|
{ 11, 7, 13, 14, 12, 2, 9 },
|
||||||
|
{ 4, 12, 11, 10, 9, 14 },
|
||||||
|
{ 14, 3, 10, 9 },
|
||||||
|
{ 3, 8, 13, 14 },
|
||||||
|
{ 3, 9, 14, 13 }
|
||||||
|
};
|
||||||
|
HPRef_Struct reftet_1f_2e_0vb =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
reftet_1f_2e_0vb_splitedges,
|
||||||
|
reftet_1f_2e_0vb_splitfaces,
|
||||||
|
0,
|
||||||
|
reftet_1f_2e_0vb_newelstypes,
|
||||||
|
reftet_1f_2e_0vb_newels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -3378,9 +3605,8 @@ HPRef_Struct reftet_2f_0e_0v =
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_2F_0E_1V
|
||||||
// HP_TET_2F_1E_0VA = 601, // 2 singular faces, sing edge e4
|
int reftet_2f_0e_1v_splitedges[][3] =
|
||||||
int reftet_2f_1e_0va_splitedges[][3] =
|
|
||||||
{
|
{
|
||||||
{ 1, 2, 5 },
|
{ 1, 2, 5 },
|
||||||
{ 2, 1, 6 },
|
{ 2, 1, 6 },
|
||||||
@ -3388,33 +3614,103 @@ int reftet_2f_1e_0va_splitedges[][3] =
|
|||||||
{ 3, 2, 8 },
|
{ 3, 2, 8 },
|
||||||
{ 4, 1, 9 },
|
{ 4, 1, 9 },
|
||||||
{ 4, 2, 10 },
|
{ 4, 2, 10 },
|
||||||
|
{ 4, 3, 13 },
|
||||||
{ 0, 0, 0 }
|
{ 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
int reftet_2f_1e_0va_splitfaces[][4] =
|
int reftet_2f_0e_1v_splitfaces[][4] =
|
||||||
{
|
{
|
||||||
{ 3, 1, 2, 11 },
|
{ 3, 1, 2, 11 },
|
||||||
{ 4, 1, 2, 12 },
|
{ 4, 1, 2, 12 },
|
||||||
{ 0, 0, 0, 0 }
|
{ 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
HPREF_ELEMENT_TYPE reftet_2f_1e_0va_newelstypes[] =
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_2f_0e_1v_newelstypes[] =
|
||||||
{
|
{
|
||||||
HP_PRISM_1FA_0E_0V,
|
HP_PRISM_1FA_0E_0V,
|
||||||
HP_PRISM_1FA_0E_0V,
|
HP_PRISM_1FA_0E_0V,
|
||||||
HP_PRISM_1FB_1EA_0V,
|
HP_PRISM_1FB_1EA_0V,
|
||||||
HP_PRISM_1FB_1EA_0V,
|
HP_PRISM_1FB_1EA_0V,
|
||||||
HP_TET,
|
HP_TET,
|
||||||
HP_NONE,
|
HP_TET_1F_1E_1VB,
|
||||||
|
HP_TET_1F_1E_1VA,
|
||||||
|
HP_NONE
|
||||||
};
|
};
|
||||||
int reftet_2f_1e_0va_newels[][8] =
|
int reftet_2f_0e_1v_newels[][8] =
|
||||||
{
|
{
|
||||||
{ 2, 10, 8, 6, 12, 11 },
|
{ 2, 10, 8, 6, 12, 11 },
|
||||||
{ 1, 7, 9, 5, 11, 12 },
|
{ 1, 7, 9, 5, 11, 12 },
|
||||||
// { 3, 11, 8, 4, 12, 10 },
|
// { 3, 11, 8, 4, 12, 10 },
|
||||||
{ 4, 10, 12, 3, 8, 11 },
|
{ 13, 10, 12, 3, 8, 11 },
|
||||||
{ 3, 7, 11, 4, 9, 12 },
|
{ 3, 7, 11, 13, 9, 12 },
|
||||||
{ 5, 6, 11, 12 }
|
{ 5, 6, 11, 12 },
|
||||||
|
{ 12, 4, 10, 13 },
|
||||||
|
{ 12, 4, 13, 9 }
|
||||||
|
};
|
||||||
|
HPRef_Struct reftet_2f_0e_1v =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
reftet_2f_0e_1v_splitedges,
|
||||||
|
reftet_2f_0e_1v_splitfaces,
|
||||||
|
0,
|
||||||
|
reftet_2f_0e_1v_newelstypes,
|
||||||
|
reftet_2f_0e_1v_newels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// HP_TET_2F_1E_0VA, // 2 singular faces, sing edge e4
|
||||||
|
int reftet_2f_1e_0va_splitedges[][3] =
|
||||||
|
{
|
||||||
|
{ 1, 2, 5 },
|
||||||
|
{ 2, 1, 6 },
|
||||||
|
{ 2, 4, 7 },
|
||||||
|
{ 3, 1, 8 },
|
||||||
|
{ 3, 2, 9 },
|
||||||
|
{ 3, 4, 10 },
|
||||||
|
{ 4, 1, 11 },
|
||||||
|
{ 4, 2, 12 },
|
||||||
|
{ 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
int reftet_2f_1e_0va_splitfaces[][4] =
|
||||||
|
{
|
||||||
|
{ 3, 2, 1, 13 },
|
||||||
|
{ 3, 2, 4, 14 },
|
||||||
|
{ 4, 1, 2, 15 },
|
||||||
|
{ 0, 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
HPREF_ELEMENT_TYPE reftet_2f_1e_0va_newelstypes[] =
|
||||||
|
{
|
||||||
|
HP_TET,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_TET_1F_1E_1VA,
|
||||||
|
HP_TET_1F_1E_1VB,
|
||||||
|
HP_TET_1F_1E_1VB,
|
||||||
|
HP_NONE,
|
||||||
|
};
|
||||||
|
int reftet_2f_1e_0va_newels[][8] =
|
||||||
|
{
|
||||||
|
{ 5, 6, 13, 15 },
|
||||||
|
{ 1, 8, 11, 5, 13, 15 },
|
||||||
|
{ 7, 12, 14, 6, 15, 13 },
|
||||||
|
{ 2, 6, 7, 9, 13, 14 },
|
||||||
|
{ 4, 15, 11, 10, 13, 8 },
|
||||||
|
{ 4, 12, 15, 10, 14, 13, },
|
||||||
|
{ 13, 3, 10, 14 },
|
||||||
|
{ 13, 3, 14, 9 },
|
||||||
|
{ 13, 3, 8, 10 },
|
||||||
};
|
};
|
||||||
HPRef_Struct reftet_2f_1e_0va =
|
HPRef_Struct reftet_2f_1e_0va =
|
||||||
{
|
{
|
||||||
@ -3427,7 +3723,7 @@ HPRef_Struct reftet_2f_1e_0va =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// HP_TET_2F_1E_0VB = 602, // 2 singular faces f234,f134, sing edge e5=e23
|
// HP_TET_2F_1E_0VB = 602, // 2 singular faces f234,f134, sing edge e5=e24
|
||||||
int reftet_2f_1e_0vb_splitedges[][3] =
|
int reftet_2f_1e_0vb_splitedges[][3] =
|
||||||
{
|
{
|
||||||
{ 1, 2, 5 },
|
{ 1, 2, 5 },
|
||||||
@ -3452,17 +3748,27 @@ int reftet_2f_1e_0vb_splitfaces[][4] =
|
|||||||
HPREF_ELEMENT_TYPE reftet_2f_1e_0vb_newelstypes[] =
|
HPREF_ELEMENT_TYPE reftet_2f_1e_0vb_newelstypes[] =
|
||||||
{
|
{
|
||||||
HP_TET,
|
HP_TET,
|
||||||
/*
|
|
||||||
HP_PRISM_1FA_0E_0V,
|
HP_PRISM_1FA_0E_0V,
|
||||||
HP_PRISM_1FA_0E_0V,
|
HP_PRISM_1FA_0E_0V,
|
||||||
HP_PRISM_1FB_1EA_0V,
|
HP_PRISM_SINGEDGE,
|
||||||
HP_PRISM_1FB_1EA_0V,
|
HP_PRISM_SINGEDGE,
|
||||||
*/
|
HP_PRISM_SINGEDGE,
|
||||||
|
HP_TET_1F_1E_1VA,
|
||||||
|
HP_TET_1F_1E_1VB,
|
||||||
|
HP_TET_1F_1E_1VB,
|
||||||
HP_NONE,
|
HP_NONE,
|
||||||
};
|
};
|
||||||
int reftet_2f_1e_0vb_newels[][8] =
|
int reftet_2f_1e_0vb_newels[][8] =
|
||||||
{
|
{
|
||||||
{ 5, 6, 15, 14 },
|
{ 5, 6, 15, 14 },
|
||||||
|
{ 1, 8, 10, 5, 15, 14 },
|
||||||
|
{ 7, 13, 9, 6, 14, 15 },
|
||||||
|
{ 2, 7, 6, 11, 13, 14 },
|
||||||
|
{ 3, 8, 15, 12, 10, 14 },
|
||||||
|
{ 3, 15, 9, 12, 14, 13 },
|
||||||
|
{ 14, 4, 11, 13 },
|
||||||
|
{ 14, 4, 13, 12 },
|
||||||
|
{ 14, 4, 12, 10 },
|
||||||
};
|
};
|
||||||
|
|
||||||
HPRef_Struct reftet_2f_1e_0vb =
|
HPRef_Struct reftet_2f_1e_0vb =
|
||||||
@ -3480,45 +3786,82 @@ HPRef_Struct reftet_2f_1e_0vb =
|
|||||||
int reftet_3f_0e_0v_splitedges[][3] =
|
int reftet_3f_0e_0v_splitedges[][3] =
|
||||||
{
|
{
|
||||||
{ 1, 2, 5 },
|
{ 1, 2, 5 },
|
||||||
{ 2, 1, 6 },
|
{ 1, 3, 6 },
|
||||||
{ 3, 1, 7 },
|
{ 2, 1, 7 },
|
||||||
{ 3, 2, 8 },
|
{ 2, 3, 8 },
|
||||||
{ 4, 1, 9 },
|
{ 3, 1, 9 },
|
||||||
{ 4, 2, 10 },
|
{ 3, 2, 10 },
|
||||||
|
{ 4, 1, 11 },
|
||||||
|
{ 4, 2, 12 },
|
||||||
|
{ 4, 3, 13 },
|
||||||
{ 0, 0, 0 }
|
{ 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
int reftet_3f_0e_0v_splitfaces[][4] =
|
int reftet_3f_0e_0v_splitfaces[][4] =
|
||||||
{
|
{
|
||||||
{ 3, 1, 2, 11 },
|
{ 1, 2, 3, 14 },
|
||||||
{ 4, 1, 2, 12 },
|
{ 2, 3, 1, 15 },
|
||||||
|
{ 3, 1, 2, 16 },
|
||||||
|
{ 4, 1, 2, 17 },
|
||||||
|
{ 4, 1, 3, 18 },
|
||||||
|
{ 4, 2, 3, 19 },
|
||||||
{ 0, 0, 0, 0 }
|
{ 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int reftet_3f_0e_0v_splitelements[][5] =
|
||||||
|
{
|
||||||
|
{ 4, 1, 2, 3, 20 },
|
||||||
|
{ 0 }
|
||||||
|
};
|
||||||
HPREF_ELEMENT_TYPE reftet_3f_0e_0v_newelstypes[] =
|
HPREF_ELEMENT_TYPE reftet_3f_0e_0v_newelstypes[] =
|
||||||
{
|
{
|
||||||
HP_PRISM_1FA_0E_0V,
|
|
||||||
HP_PRISM_1FA_0E_0V,
|
|
||||||
HP_PRISM_1FB_1EA_0V,
|
|
||||||
HP_PRISM_1FB_1EA_0V,
|
|
||||||
HP_TET,
|
HP_TET,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
HP_PRISM_1FA_0E_0V,
|
||||||
|
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
HP_PRISM_1FB_1EA_0V,
|
||||||
|
|
||||||
|
HP_TET_1F_1E_1VA, // 1E_1VA
|
||||||
|
HP_TET_1F_0E_0V,
|
||||||
|
HP_TET_1F_0E_0V, // 1E_1VA
|
||||||
|
HP_TET_1F_0E_0V, // 1E_1VA
|
||||||
|
HP_TET_1F_0E_0V, // 1E_1VA
|
||||||
|
HP_TET_1F_0E_0V, // 1E_1VA
|
||||||
HP_NONE,
|
HP_NONE,
|
||||||
};
|
};
|
||||||
int reftet_3f_0e_0v_newels[][8] =
|
int reftet_3f_0e_0v_newels[][8] =
|
||||||
{
|
{
|
||||||
{ 2, 10, 8, 6, 12, 11 },
|
{ 14, 15, 16, 20 },
|
||||||
{ 1, 7, 9, 5, 11, 12 },
|
{ 5, 17, 7, 14, 20, 15 },
|
||||||
// { 3, 11, 8, 4, 12, 10 },
|
{ 6, 9, 18, 14, 16, 20 },
|
||||||
{ 4, 10, 12, 3, 8, 11 },
|
{ 10, 8, 19, 16, 15, 20 },
|
||||||
{ 3, 7, 11, 4, 9, 12 },
|
|
||||||
{ 5, 6, 11, 12 }
|
{ 1, 5, 14, 11, 17, 20 },
|
||||||
|
{ 11, 18, 20, 1, 6, 14 },
|
||||||
|
{ 2, 8, 15, 12, 19, 20 },
|
||||||
|
{ 12, 17, 20, 2, 7, 15 },
|
||||||
|
{ 3, 9, 16, 13, 18, 20 },
|
||||||
|
{ 13, 19, 20, 3, 10, 16 },
|
||||||
|
|
||||||
|
{ 20, 4, 11, 17 },
|
||||||
|
{ 20, 4, 17, 12 },
|
||||||
|
{ 20, 4, 12, 19 },
|
||||||
|
{ 20, 4, 19, 13 },
|
||||||
|
{ 20, 4, 13, 18 },
|
||||||
|
{ 20, 4, 18, 11 }
|
||||||
};
|
};
|
||||||
HPRef_Struct reftet_3f_0e_0v =
|
HPRef_Struct reftet_3f_0e_0v =
|
||||||
{
|
{
|
||||||
HP_TET,
|
HP_TET,
|
||||||
reftet_3f_0e_0v_splitedges,
|
reftet_3f_0e_0v_splitedges,
|
||||||
reftet_3f_0e_0v_splitfaces,
|
reftet_3f_0e_0v_splitfaces,
|
||||||
0,
|
reftet_3f_0e_0v_splitelements,
|
||||||
reftet_3f_0e_0v_newelstypes,
|
reftet_3f_0e_0v_newelstypes,
|
||||||
reftet_3f_0e_0v_newels
|
reftet_3f_0e_0v_newels
|
||||||
};
|
};
|
||||||
|
@ -126,10 +126,9 @@ namespace netgen
|
|||||||
HPRef_Struct * hps = NULL;
|
HPRef_Struct * hps = NULL;
|
||||||
/*
|
/*
|
||||||
if (type >= 100 && type < 1000)
|
if (type >= 100 && type < 1000)
|
||||||
if (type != HP_TET_2F_1E_0VB)
|
if (type != HP_TET_1F_0E_1VA)
|
||||||
type = HP_NONETET;
|
type = HP_NONETET;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case HP_SEGM:
|
case HP_SEGM:
|
||||||
@ -398,37 +397,28 @@ namespace netgen
|
|||||||
hps = &reftet_1f_1ea_0v; break;
|
hps = &reftet_1f_1ea_0v; break;
|
||||||
case HP_TET_1F_1EB_0V:
|
case HP_TET_1F_1EB_0V:
|
||||||
hps = &reftet_1f_1eb_0v; break;
|
hps = &reftet_1f_1eb_0v; break;
|
||||||
|
case HP_TET_1F_1E_1VA:
|
||||||
|
hps = &reftet_1f_1e_1va; break;
|
||||||
|
case HP_TET_1F_1E_1VB:
|
||||||
|
hps = &reftet_1f_1e_1vb; break;
|
||||||
case HP_TET_1F_1E_2VA:
|
case HP_TET_1F_1E_2VA:
|
||||||
hps = &reftet_1f_1e_2va; break;
|
hps = &reftet_1f_1e_2va; break;
|
||||||
|
case HP_TET_1F_1E_2VB:
|
||||||
|
hps = &reftet_1f_1e_2vb; break;
|
||||||
case HP_TET_1F_2E_0VA:
|
case HP_TET_1F_2E_0VA:
|
||||||
{
|
|
||||||
*testout << "hp_tet_1f_2e_0v needs testing" << endl;
|
|
||||||
cout << "hp_tet_1f_2e_0v needs testing" << endl;
|
|
||||||
hps = &reftet_1f_2e_0va; break;
|
hps = &reftet_1f_2e_0va; break;
|
||||||
}
|
case HP_TET_1F_2E_0VB:
|
||||||
|
hps = &reftet_1f_2e_0vb; break;
|
||||||
case HP_TET_2F_0E_0V:
|
case HP_TET_2F_0E_0V:
|
||||||
hps = &reftet_2f_0e_0v; break;
|
hps = &reftet_2f_0e_0v; break;
|
||||||
|
case HP_TET_2F_0E_1V:
|
||||||
|
hps = &reftet_2f_0e_1v; break;
|
||||||
case HP_TET_2F_1E_0VA:
|
case HP_TET_2F_1E_0VA:
|
||||||
{
|
|
||||||
*testout << "hp_tet_2f_1e_0va needs testing" << endl;
|
|
||||||
cout << "hp_tet_2f_1e_0va needs testing" << endl;
|
|
||||||
hps = &reftet_2f_1e_0va; break;
|
hps = &reftet_2f_1e_0va; break;
|
||||||
}
|
|
||||||
case HP_TET_2F_1E_0VB:
|
case HP_TET_2F_1E_0VB:
|
||||||
{
|
|
||||||
*testout << "hp_tet_2f_1e_0vb needs testing" << endl;
|
|
||||||
cout << "hp_tet_2f_1e_0vb needs testing" << endl;
|
|
||||||
hps = &reftet_2f_1e_0vb; break;
|
hps = &reftet_2f_1e_0vb; break;
|
||||||
}
|
|
||||||
case HP_TET_3F_0E_0V:
|
case HP_TET_3F_0E_0V:
|
||||||
{
|
|
||||||
*testout << "hp_tet_3f_0e_0v needs testing" << endl;
|
|
||||||
cout << "hp_tet_3f_0e_0v needs testing" << endl;
|
|
||||||
hps = &reftet_3f_0e_0v; break;
|
hps = &reftet_3f_0e_0v; break;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case HP_PRISM:
|
case HP_PRISM:
|
||||||
hps = &refprism; break;
|
hps = &refprism; break;
|
||||||
@ -1929,6 +1919,7 @@ bool CheckSingularities(Mesh & mesh, INDEX_2_HASHTABLE<int> & edges, INDEX_2_HAS
|
|||||||
case HP_TET:
|
case HP_TET:
|
||||||
{
|
{
|
||||||
hpel.type = ClassifyTet(hpel, edges, edgepoint_dom, cornerpoint, edgepoint, faces,face_edges, surf_edges, facepoint);
|
hpel.type = ClassifyTet(hpel, edges, edgepoint_dom, cornerpoint, edgepoint, faces,face_edges, surf_edges, facepoint);
|
||||||
|
// if (i != 20) hpel.type = HP_NONETET;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case HP_PRISM:
|
case HP_PRISM:
|
||||||
|
@ -159,23 +159,25 @@ enum HPREF_ELEMENT_TYPE {
|
|||||||
|
|
||||||
|
|
||||||
HP_TET_1F_0E_0V = 500, // 1 singular face
|
HP_TET_1F_0E_0V = 500, // 1 singular face
|
||||||
HP_TET_1F_0E_1VA, // 1 sing vertex in face (V2) NEEDS FIX (split to pyramids ?)
|
HP_TET_1F_0E_1VA, // 1 sing vertex in face (V2) FIX ... (needs HEX7)
|
||||||
HP_TET_1F_0E_1VB, // 1 sing vertex not in face (V1)
|
HP_TET_1F_0E_1VB, // 1 sing vertex not in face (V1)
|
||||||
HP_TET_1F_0E_2V, // 2 sing vertex in face (V2,V3) NEW .. done
|
HP_TET_1F_0E_2V, // 2 sing vertex in face (V2,V3) NEW .. done
|
||||||
HP_TET_1F_1EA_0V, // 1 sing edge not in face
|
HP_TET_1F_1EA_0V, // 1 sing edge not in face
|
||||||
HP_TET_1F_1EB_0V, // 1 sing edge in face
|
HP_TET_1F_1EB_0V, // 1 sing edge in face
|
||||||
HP_TET_1F_1E_2VA, // 1 sing edge not in face (e12), sing v2,v3 NEW
|
HP_TET_1F_1E_1VA, // 1 sing edge in face e23, sing vert 2 NEW done
|
||||||
HP_TET_1F_1E_2VB, // 1 sing edge not in face (e12), sing v2,v4 NEW
|
HP_TET_1F_1E_1VB, // 1 sing edge in face e24, sing vert 2 NEW done
|
||||||
|
HP_TET_1F_1E_2VA, // 1 sing edge not in face (e12), sing v2,v3 NEW done
|
||||||
|
HP_TET_1F_1E_2VB, // 1 sing edge not in face (e12), sing v2,v4 NEW done
|
||||||
HP_TET_1F_1E_2VC, // 1 sing edge not in face (e12), sing v3,v4 NEW
|
HP_TET_1F_1E_2VC, // 1 sing edge not in face (e12), sing v3,v4 NEW
|
||||||
HP_TET_1F_2E_0VA, // edge6 && fedge3 .. 1 in face, 1 not in face NEW
|
HP_TET_1F_2E_0VA, // edge6 && fedge3 .. 1 in face, 1 not in face NEW done
|
||||||
HP_TET_1F_2E_0VB, // edge6 && fedge2 .. 1 in face, 1 not in face NEW
|
HP_TET_1F_2E_0VB, // edge6 && fedge2 .. 1 in face, 1 not in face NEW done
|
||||||
|
|
||||||
HP_TET_2F_0E_0V = 600, // 2 singular faces
|
HP_TET_2F_0E_0V = 600, // 2 singular faces
|
||||||
HP_TET_2F_0E_1V, // 2 singular faces f234, f134, sing point V4 NEW
|
HP_TET_2F_0E_1V, // 2 singular faces f234, f134, sing point V4 NEW
|
||||||
HP_TET_2F_1E_0VA, // 2 singular faces, sing edge e4 NEW
|
HP_TET_2F_1E_0VA, // 2 singular faces, sing edge e4 NEW done
|
||||||
HP_TET_2F_1E_0VB, // 2 singular faces, sing edge e5 NEW
|
HP_TET_2F_1E_0VB, // 2 singular faces, sing edge e5 NEW done
|
||||||
|
|
||||||
HP_TET_3F_0E_0V = 700, // 3 singular faces, no additional points or edges NEW
|
HP_TET_3F_0E_0V = 700, // 3 singular faces, no additional points or edges NEW done
|
||||||
|
|
||||||
HP_PRISM = 1000,
|
HP_PRISM = 1000,
|
||||||
HP_PRISM_SINGEDGE,
|
HP_PRISM_SINGEDGE,
|
||||||
@ -187,7 +189,7 @@ enum HPREF_ELEMENT_TYPE {
|
|||||||
HP_PRISM_2FA_0E_0V, // 2 singular trig faces
|
HP_PRISM_2FA_0E_0V, // 2 singular trig faces
|
||||||
HP_PRISM_1FB_0E_0V, // 1 singular quad face 1-2-4-5
|
HP_PRISM_1FB_0E_0V, // 1 singular quad face 1-2-4-5
|
||||||
|
|
||||||
HP_PRISM_1FB_1EA_0V, // 1 singular quad face, edge is 1-2
|
HP_PRISM_1FB_1EA_0V, // 1 singular quad face, edge is 1-4
|
||||||
HP_PRISM_1FA_1E_0V,
|
HP_PRISM_1FA_1E_0V,
|
||||||
HP_PRISM_2FA_1E_0V,
|
HP_PRISM_2FA_1E_0V,
|
||||||
HP_PRISM_1FA_1FB_0E_0V,
|
HP_PRISM_1FA_1FB_0E_0V,
|
||||||
|
Loading…
Reference in New Issue
Block a user