Skip to content
Snippets Groups Projects
Commit e3f6ff7a authored by Jean-François Remacle's avatar Jean-François Remacle
Browse files

fixed transfinite edge mesh for curves that have parameters not

in [0,1] : nasty ...
parent 7cdf9906
No related branches found
No related tags found
No related merge requests found
...@@ -104,7 +104,7 @@ static double F_Lc(GEdge *ge, double t) ...@@ -104,7 +104,7 @@ static double F_Lc(GEdge *ge, double t)
} }
static double F_Transfinite(GEdge *ge, double t) static double F_Transfinite(GEdge *ge, double t_)
{ {
double length = ge->length(); double length = ge->length();
if(length == 0.0){ if(length == 0.0){
...@@ -112,12 +112,17 @@ static double F_Transfinite(GEdge *ge, double t) ...@@ -112,12 +112,17 @@ static double F_Transfinite(GEdge *ge, double t)
return 1.; return 1.;
} }
SVector3 der = ge->firstDer(t) ; SVector3 der = ge->firstDer(t_) ;
double d = norm(der); double d = norm(der);
double coef = ge->meshAttributes.coeffTransfinite; double coef = ge->meshAttributes.coeffTransfinite;
int type = ge->meshAttributes.typeTransfinite; int type = ge->meshAttributes.typeTransfinite;
int nbpt = ge->meshAttributes.nbPointsTransfinite; int nbpt = ge->meshAttributes.nbPointsTransfinite;
Range<double> bounds = ge->parBounds(0);
double t_begin = bounds.low();
double t_end = bounds.high();
double t = (t_ - t_begin)/(t_end-t_begin);
double val; double val;
if(coef <= 0.0 || coef == 1.0) { if(coef <= 0.0 || coef == 1.0) {
...@@ -281,7 +286,7 @@ void meshGEdge::operator() (GEdge *ge) ...@@ -281,7 +286,7 @@ void meshGEdge::operator() (GEdge *ge)
N = 1; N = 1;
} }
else if(ge->meshAttributes.Method == MESH_TRANSFINITE){ else if(ge->meshAttributes.Method == MESH_TRANSFINITE){
a = Integration(ge, t_begin, t_end, F_Transfinite, Points, 1.e-8); a = Integration(ge, t_begin, t_end, F_Transfinite, Points, CTX::instance()->mesh.lcIntegrationPrecision);
N = ge->meshAttributes.nbPointsTransfinite; N = ge->meshAttributes.nbPointsTransfinite;
} }
else{ else{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment