void manualContourModel::GetSpline_i_Point(int i, double *x, double *y, double *z) // virtal
{
GetSpline_t_Point(i*_delta_JSTG,x,y,z);
-
+}
// ----------------------------------------------------------------------------
}
}*/
// ----------------------------------------------------------------------------
-double manualContourModel::GetPathSize()
+double manualContourModel::GetPathSize(double *spc)
{
double result = 0;
double x1,y1,z1;
if (_lstPoints.size()==2)
{
- x1=_lstPoints[0]->GetX();
- y1=_lstPoints[0]->GetY();
- z1=_lstPoints[0]->GetZ();
- x2=_lstPoints[1]->GetX();
- y2=_lstPoints[1]->GetY();
- z2=_lstPoints[1]->GetZ();
+ x1 = spc[0] * _lstPoints[0]->GetX();
+ y1 = spc[1] * _lstPoints[0]->GetY();
+ z1 = spc[2] * _lstPoints[0]->GetZ();
+ x2 = spc[0] * _lstPoints[1]->GetX();
+ y2 = spc[1] * _lstPoints[1]->GetY();
+ z2 = spc[2] * _lstPoints[1]->GetZ();
result = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1) );
}
if (_lstPoints.size()>2)
//GetSplinePoint(0,x1,y1,z1);
GetSpline_i_Point(0,&x1,&y1,&z1);
+ x1 = spc[0] * x1;
+ y1 = spc[1] * y1;
+ z1 = spc[2] * z1;
//for( i = 1; i < nps; i++ )
for( i = 1; i < GetNumberOfPointsSpline(); i++ )
{
//t = delta * (double)i;
//GetSplinePoint(t,x2,y2,z2);
GetSpline_i_Point(i,&x2,&y2,&z2);
+ x2 = spc[0] * x2;
+ y2 = spc[1] * y2;
+ z2 = spc[2] * z2;
//---------------------------------------------------------
result=result + sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1) );
x1=x2;
return result;
}
+
+
// ----------------------------------------------------------------------------
-double manualContourModel::GetPathArea()
+double manualContourModel::GetPathArea(double *spc)
{
double result = 555;
if ((_lstPoints.size()>=3) && IfCloseContour()==true )
GetSpline_i_Point(i,&x1,&y1,&z1);
GetSpline_i_Point(j,&x2,&y2,&z2);
//----------------------------------------------------------------
+ x1=spc[0]*x1;
+ y1=spc[1]*y1;
+ z1=spc[2]*z1;
+ x2=spc[0]*x2;
+ y2=spc[1]*y2;
+ z2=spc[2]*z2;
area +=
(x1 * y2 ) -
( x2 * y1 );
rn[1]=rp[1]-y1;
rn[2]=rp[2]-z1;
}
- }
- else
- {
+ } else {
rp[0] = 0;
rp[1] = 0;
rp[2] = 0;