137 double t1[2],t2[2],b1[2],b2[2],gpp1[2],gpp2[2],pv,M1,M2;
138 double ps1,ps2,ux,uy,ll,li,lm,hmax,hausd,hmin,lhmax,lhausd;
139 MMG5_int k,ip,ip1,ip2;
151 for (k=1; k<=
mesh->np; k++) {
152 p0 = &
mesh->point[k];
158 hmax =
mesh->info.hmax;
159 hausd =
mesh->info.hausd;
160 hmin =
mesh->info.hmin;
179 if ( !
mesh->info.nosizreq ) {
188 for ( k=1; k<=
mesh->np; k++ ) {
189 if (
mesh->point[k].flag ) {
193 mesh->point[k].flag = 1;
198 for ( k=1; k<=
mesh->nt; k++ ) {
200 if ( !
MG_EOK(pt) )
continue;
202 for ( i=0; i<3; i++ ) {
211 p1 = &
mesh->point[ip1];
212 p2 = &
mesh->point[ip2];
214 if ( p1->
flag>1 && p2->
flag>1 )
continue;
220 if (
mesh->info.npar ) {
221 for (l=0; l<
mesh->info.npar; l++) {
222 ppa = &
mesh->info.par[l];
232 ux = p2->
c[0] - p1->
c[0];
233 uy = p2->
c[1] - p1->
c[1];
260 ps1 = ux*t1[0] + uy*t1[1];
264 ps2 = ux*t2[0]+uy*t2[1];
274 gpp1[0] = 6.0*(p1->
c[0] - 2.0*b1[0] + b2[0]);
275 gpp1[1] = 6.0*(p1->
c[1] - 2.0*b1[1] + b2[1]);
278 pv = gpp1[0]*t1[1] - gpp1[1]*t1[0];
282 gpp2[0] = 6.0*(p2->
c[0] - 2.0*b2[0] + b1[0]);
283 gpp2[1] = 6.0*(p2->
c[1] - 2.0*b2[1] + b1[1]);
286 pv = gpp2[0]*t2[1] - gpp2[1]*t2[0];
293 lm = 8.0*lhausd / M1;
294 lm =
MG_MIN(lhmax,sqrt(lm));
297 if ( p1->
flag < 3 ) {
300 if ( p2->
flag < 3 ) {
309 if (
mesh->info.npar ) {
311 for (k=1; k<=
mesh->nt; k++) {
313 if ( !
MG_EOK(pt) )
continue;
316 for (l=0; l<
mesh->info.npar; l++) {
317 ppa = &
mesh->info.par[l];
319 for (i=0; i<3; i++) {
321 if (
mesh->point[ip].flag < 3 ) {
330 for (k=1; k<=
mesh->np; k++) {
331 p0 = &
mesh->point[k];
332 if ( (!
MG_VOK(p0)) || p0->
flag == 3 )
continue;
335 for (l=0; l<
mesh->info.npar; l++) {
336 ppa = &
mesh->info.par[l];
int MMG2D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, MMG5_int np, int typSol)
Set the size and type of a solution field.