31 #include <atl\atlmod.h>
33 #include "smartvars.h"
83 VARIANT_BOOL isClosed;
84 VARIANT_BOOL isPeriodic;
94 vRetval=
swCurve->get_LineParams();
95 SafeDoubleArray sda(vRetval);
111 vRetval=
swCurve->get_CircleParams();
112 SafeDoubleArray sda(vRetval);
130 vRetval=
swCurve->GetEllipseParams();
131 SafeDoubleArray sda(vRetval);
156 swCurve->GetBCurveParams(False,&vRetval);
157 SafeDoubleArray sda(vRetval);
158 int dim,ordre,num,periode;
161 std::vector<double> knots;
162 for (
int i=0;i<num+ordre;i++)
163 knots.insert(knots.end(),sda[2+i]);
164 std::vector<double> points;
165 std::vector<double> poids;
166 for (
int i=0;i<num;i++)
168 points.insert(points.end(),sda[2+num+ordre+dim*i]);
169 points.insert(points.end(),sda[2+num+ordre+dim*i+1]);
170 points.insert(points.end(),sda[2+num+ordre+dim*i+2]);
171 if (dim==4) poids.insert(poids.end(),sda[2+num+ordre+dim*i+3]);
172 else poids.insert(poids.end(),1.);
187 SafeDoubleArray param(vparam);
202 SafeDoubleArray param(vparam);
234 swCurve->Evaluate(t1,&vparam1);
235 swCurve->Evaluate(t2,&vparam2);
236 SafeDoubleArray param1(vparam1);
237 SafeDoubleArray param2(vparam2);
238 ddxyz[0]=(param2[3]-param1[3])/(2*
epsilon);
239 ddxyz[1]=(param2[4]-param1[4])/(2*
epsilon);
240 ddxyz[2]=(param2[5]-param1[5])/(2*
epsilon);
246 SafeDoubleArray param(vparam);
267 swCurve->GetClosestPointOn ( xyz[0], xyz[1], xyz[2], &retval ) ;
268 SafeDoubleArray vretval(retval);
299 swCurve->GetLength2(t1,t2,&retval);
325 o <<
"%" <<
get_id() <<
"=COURBE_SLD("<<
idoriginal.c_str() <<
");"<<std::endl;