31 #include <atl\atlmod.h>
32 #include "smartvars.h"
45 initialisation(idface);
51 initialisation(idface);
56 swFace->IGetSurface(&swSurface);
72 SafeDoubleArray saparam(vparam);
84 SafeDoubleArray sda(vRetval);
101 SafeDoubleArray sda(vRetval);
119 SafeDoubleArray sda(vRetval);
138 SafeDoubleArray sda(vRetval);
152 SafeDoubleArray sda(vRetval);
161 double grayon=sda[6];
162 double prayon=sda[7];
169 vp0=
swFace->GetUVBounds();
171 swSurface->GetBSurfParams2(
false,
false,vp0,tolerance,&sense,&vRetval);
172 SafeDoubleArray sda(vRetval);
175 int uperiodic,vperiodic;
181 vector<double> knots_u;
182 vector<double> knots_v;
183 vector<double> poids;
184 vector<double> ptsctr;
185 for (
int i=0;i<uordre+numcpt;i++)
186 knots_u.insert(knots_u.end(),sda[4+i]);
187 for (
int i=0;i<vordre+numlpt;i++)
188 knots_v.insert(knots_v.end(),sda[4+uordre+numcpt+i]);
189 for (
int i=0;i<numcpt;i++)
190 for (
int j=0;j<numlpt;j++)
193 ptsctr.insert(ptsctr.end(),sda[4+uordre+numcpt+vordre+numlpt+dim*num]);
194 ptsctr.insert(ptsctr.end(),sda[4+uordre+numcpt+vordre+numlpt+dim*num+1]);
195 ptsctr.insert(ptsctr.end(),sda[4+uordre+numcpt+vordre+numlpt+dim*num+2]);
196 if (dim==4) poids.insert(poids.end(),sda[4+uordre+numcpt+vordre+numlpt+dim*num+3]);
197 else poids.insert(poids.end(),1.);
227 swSurface->Evaluate ( UParam, VParam, NumUDeriv, NumVDeriv, &vretval);
228 SafeDoubleArray saretval(vretval);
247 swSurface->Evaluate ( UParam, VParam, NumUDeriv, NumVDeriv, &vretval);
248 SafeDoubleArray saretval(vretval);
249 xyzdu[0]=saretval[3];
250 xyzdu[1]=saretval[4];
251 xyzdu[2]=saretval[5];
252 xyzdv[0]=saretval[6];
253 xyzdv[1]=saretval[7];
254 xyzdv[2]=saretval[8];
270 swSurface->Evaluate ( UParam, VParam, NumUDeriv, NumVDeriv, &vretval);
271 SafeDoubleArray saretval(vretval);
280 xyzdu[0]=saretval[3];
281 xyzdu[1]=saretval[4];
282 xyzdu[2]=saretval[5];
286 xyzdv[0]=saretval[9];
287 xyzdv[1]=saretval[10];
288 xyzdv[2]=saretval[11];
290 xyzduu[0]=saretval[6];
291 xyzduu[1]=saretval[7];
292 xyzduu[2]=saretval[8];
293 xyzduv[0]=saretval[12];
294 xyzduv[1]=saretval[13];
295 xyzduv[2]=saretval[14];
296 xyzdvv[0]=saretval[18];
297 xyzdvv[1]=saretval[19];
298 xyzdvv[2]=saretval[20];
309 swSurface->ReverseEvaluate(xyz[0], xyz[1], xyz[2], &vUV);
310 SafeDoubleArray saUV(vUV);
365 o <<
"%" <<
get_id() <<
"=SURFACE_SLD("<<
idoriginal.c_str() <<
");" << endl;