mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 21:10:33 +05:00
strings in FaceDescriptor (instead of ptrs)
This commit is contained in:
parent
fdc04b7276
commit
bd564931f8
@ -2580,7 +2580,7 @@ namespace netgen
|
|||||||
tlosurf == seg.tlosurf+1;
|
tlosurf == seg.tlosurf+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
string FaceDescriptor :: default_bcname = "default";
|
// string FaceDescriptor :: default_bcname = "default";
|
||||||
/*
|
/*
|
||||||
const string & FaceDescriptor :: GetBCName () const
|
const string & FaceDescriptor :: GetBCName () const
|
||||||
{
|
{
|
||||||
@ -2593,9 +2593,9 @@ namespace netgen
|
|||||||
void FaceDescriptor :: SetBCName (string * bcn)
|
void FaceDescriptor :: SetBCName (string * bcn)
|
||||||
{
|
{
|
||||||
if (bcn)
|
if (bcn)
|
||||||
bcname = bcn;
|
bcname = *bcn;
|
||||||
else
|
else
|
||||||
bcn = &default_bcname;
|
bcname = "default";
|
||||||
}
|
}
|
||||||
|
|
||||||
void FaceDescriptor :: DoArchive (Archive & ar)
|
void FaceDescriptor :: DoArchive (Archive & ar)
|
||||||
|
@ -1174,8 +1174,9 @@ namespace netgen
|
|||||||
Vec<4> surfcolour;
|
Vec<4> surfcolour;
|
||||||
|
|
||||||
///
|
///
|
||||||
static string default_bcname;
|
// static string default_bcname;
|
||||||
string * bcname = &default_bcname;
|
// string * bcname = &default_bcname;
|
||||||
|
string bcname = "default";
|
||||||
/// root of linked list
|
/// root of linked list
|
||||||
SurfaceElementIndex firstelement;
|
SurfaceElementIndex firstelement;
|
||||||
|
|
||||||
@ -1204,7 +1205,7 @@ namespace netgen
|
|||||||
// Philippose - 06/07/2009
|
// Philippose - 06/07/2009
|
||||||
// Get Surface colour
|
// Get Surface colour
|
||||||
Vec<4> SurfColour () const { return surfcolour; }
|
Vec<4> SurfColour () const { return surfcolour; }
|
||||||
DLL_HEADER const string & GetBCName () const { return *bcname; }
|
/* DLL_HEADER */ const string & GetBCName () const { return bcname; }
|
||||||
// string * BCNamePtr () { return bcname; }
|
// string * BCNamePtr () { return bcname; }
|
||||||
// const string * BCNamePtr () const { return bcname; }
|
// const string * BCNamePtr () const { return bcname; }
|
||||||
void SetSurfNr (int sn) { surfnr = sn; }
|
void SetSurfNr (int sn) { surfnr = sn; }
|
||||||
@ -1212,6 +1213,7 @@ namespace netgen
|
|||||||
void SetDomainOut (int dom) { domout = dom; }
|
void SetDomainOut (int dom) { domout = dom; }
|
||||||
void SetBCProperty (int bc) { bcprop = bc; }
|
void SetBCProperty (int bc) { bcprop = bc; }
|
||||||
void SetBCName (string * bcn); // { bcname = bcn; }
|
void SetBCName (string * bcn); // { bcname = bcn; }
|
||||||
|
void SetBCName (const string & bcn) { bcname = bcn; }
|
||||||
// Philippose - 06/07/2009
|
// Philippose - 06/07/2009
|
||||||
// Set the surface colour
|
// Set the surface colour
|
||||||
void SetSurfColour (Vec<4> colour) { surfcolour = colour; }
|
void SetSurfColour (Vec<4> colour) { surfcolour = colour; }
|
||||||
|
@ -392,7 +392,7 @@ namespace netgen
|
|||||||
TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
|
TopoDS_Face face = TopoDS::Face(geom.fmap(i3));
|
||||||
facenr = geom.fmap.FindIndex (face); // sollte doch immer == i3 sein ??? JS
|
facenr = geom.fmap.FindIndex (face); // sollte doch immer == i3 sein ??? JS
|
||||||
if (facenr != i3)
|
if (facenr != i3)
|
||||||
cout << "info: facenr != i3" << endl;
|
cout << "info: facenr != i3, no problem, but please report to developers" << endl;
|
||||||
|
|
||||||
int solidnr0 = face2solid[0][i3-1];
|
int solidnr0 = face2solid[0][i3-1];
|
||||||
int solidnr1 = face2solid[1][i3-1];
|
int solidnr1 = face2solid[1][i3-1];
|
||||||
@ -414,34 +414,40 @@ namespace netgen
|
|||||||
mesh.GetFaceDescriptor(facenr).SetSurfColour(col);
|
mesh.GetFaceDescriptor(facenr).SetSurfColour(col);
|
||||||
|
|
||||||
if(auto & opt_name = geom.fprops[facenr-1]->name)
|
if(auto & opt_name = geom.fprops[facenr-1]->name)
|
||||||
mesh.GetFaceDescriptor(facenr).SetBCName(&*opt_name);
|
mesh.GetFaceDescriptor(facenr).SetBCName(*opt_name);
|
||||||
else
|
else
|
||||||
mesh.GetFaceDescriptor(facenr).SetBCName(new string("bc_"+ToString(facenr))); // mem-leak !
|
mesh.GetFaceDescriptor(facenr).SetBCName("bc_"+ToString(facenr));
|
||||||
mesh.GetFaceDescriptor(facenr).SetBCProperty(facenr);
|
mesh.GetFaceDescriptor(facenr).SetBCProperty(facenr);
|
||||||
// ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
|
// ACHTUNG! STIMMT NICHT ALLGEMEIN (RG)
|
||||||
|
// kA was RG damit meinte
|
||||||
|
|
||||||
|
|
||||||
Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
|
Handle(Geom_Surface) occface = BRep_Tool::Surface(face);
|
||||||
|
|
||||||
|
/*
|
||||||
for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
|
for (TopExp_Explorer exp2 (face, TopAbs_WIRE); exp2.More(); exp2.Next())
|
||||||
{
|
{
|
||||||
TopoDS_Shape wire = exp2.Current();
|
TopoDS_Shape wire = exp2.Current();
|
||||||
|
*/
|
||||||
for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
|
for (auto wire : MyExplorer (face, TopAbs_WIRE))
|
||||||
|
{
|
||||||
|
// for (TopExp_Explorer exp3 (wire, TopAbs_EDGE); exp3.More(); exp3.Next())
|
||||||
|
for (auto edgeshape : MyExplorer (wire, TopAbs_EDGE))
|
||||||
{
|
{
|
||||||
|
TopoDS_Edge edge = TopoDS::Edge(edgeshape);
|
||||||
curr++;
|
curr++;
|
||||||
(*testout) << "edge nr " << curr << endl;
|
(*testout) << "edge nr " << curr << endl;
|
||||||
multithread.percent = 100 * curr / double (total);
|
multithread.percent = 100 * curr / double (total);
|
||||||
if (multithread.terminate) return;
|
if (multithread.terminate) return;
|
||||||
|
|
||||||
TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
|
// TopoDS_Edge edge = TopoDS::Edge (exp3.Current());
|
||||||
if (BRep_Tool::Degenerated(edge))
|
if (BRep_Tool::Degenerated(edge))
|
||||||
{
|
{
|
||||||
//(*testout) << "ignoring degenerated edge" << endl;
|
//(*testout) << "ignoring degenerated edge" << endl;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(geom.emap.FindIndex(edge) < 1) continue;
|
if (!geom.emap.Contains(edge)) continue;
|
||||||
|
|
||||||
if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
|
if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) ==
|
||||||
geom.vmap.FindIndex(TopExp::LastVertex (edge)))
|
geom.vmap.FindIndex(TopExp::LastVertex (edge)))
|
||||||
@ -457,10 +463,8 @@ namespace netgen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Handle(Geom2d_Curve) cof;
|
|
||||||
double s0, s1;
|
double s0, s1;
|
||||||
cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
|
Handle(Geom2d_Curve) cof = BRep_Tool::CurveOnSurface (edge, face, s0, s1);
|
||||||
|
|
||||||
int geomedgenr = geom.emap.FindIndex(edge);
|
int geomedgenr = geom.emap.FindIndex(edge);
|
||||||
Array<PointIndex> pnums;
|
Array<PointIndex> pnums;
|
||||||
|
Loading…
Reference in New Issue
Block a user