1 // File: Plate_Plate.lxx
2 // Created: Thu Oct 21 9:00:00 1995
3 // Author: Andre LIEUTIER
9 inline Standard_Real Plate_Plate::Polm(const gp_XY& point2d, const Standard_Integer iu, const Standard_Integer iv,
10 const Standard_Integer idu, const Standard_Integer idv) const
14 Standard_Real u = point2d.X();
15 Standard_Real v = point2d.Y();
17 Standard_Real value = 1;
19 Standard_Integer degu = iu - idu;
21 for( i=0;i<degu;i++) value *= u;
22 for(i=iu;i>degu;i--) value *= i;
25 Standard_Integer degv = iv - idv;
26 for(i=0;i<degv;i++) value *= v;
27 for(i=iv;i>degv;i--) value *= i;
30 // le produit par ddu[iu]*ddv[iv] n'est pas indispensable !! (il change
31 // les valeurs claculles pour la partie coef polynomiaux de Sol
32 // de telle facon que les methodes Evaluate et EvaluateDerivative donnent
33 //en theorie les memes valeurs. Toutefois, il nous semble que ce produit
34 // ameliore le conditionnmenet de la matrice
35 return value*ddu[iu]*ddv[iv];
39 inline Standard_Integer& Plate_Plate::Deru(const Standard_Integer index) const
41 return ((Standard_Integer *)deru)[index];
44 inline Standard_Integer& Plate_Plate::Derv(const Standard_Integer index) const
46 return ((Standard_Integer *)derv)[index];
49 inline gp_XYZ& Plate_Plate::Solution(const Standard_Integer index) const
51 return ((gp_XYZ *)solution)[index];
54 inline gp_XY& Plate_Plate::Points(const Standard_Integer index) const
56 return ((gp_XY *)points)[index];