lstIndexsIn.push_back( lstInX.size() );
}
- ShiftValues( &lstInX , &lstInY , &lstInZ , &lstIndexsIn );
-
+
+ if (bbGetInputDoubleContour()==1)
+ {
+ ShiftValues( &lstInX , &lstInY , &lstInZ , &lstIndexsIn );
+ } // DoubleContour
int i,size=lstIndexsIn.size();
int iGeneral=0;
&lstIndexsOut,bbGetInputOpenClose() );
} // for
- RedistributionPoints(&lstOutX,&lstOutY,&lstOutZ,&lstIndexsOut);
-
-
-
- // Second Step Transpose the vectors
- lstInX.clear();
- lstInY.clear();
- lstInZ.clear();
- lstIndexsIn.clear();
- size = bbGetInputNbPoints();
- int j,size2 = lstIndexsOut.size();
- for (i=0;i<size;i++)
+ if (bbGetInputDoubleContour()==0)
{
- for (j=0;j<size2;j++)
+ //////////////////// Set Out DoubleContour = 0
+ bbSetOutputLstContourPointsX(lstOutX);
+ bbSetOutputLstContourPointsY(lstOutY);
+ bbSetOutputLstContourPointsZ(lstOutZ);
+ bbSetOutputLstIndexsOut(lstIndexsOut);
+ } else {
+ RedistributionPoints(&lstOutX,&lstOutY,&lstOutZ,&lstIndexsOut);
+ ///////////// Second Step Transpose the vectors
+ lstInX.clear();
+ lstInY.clear();
+ lstInZ.clear();
+ lstIndexsIn.clear();
+ size = bbGetInputNbPoints();
+ int j,size2 = lstIndexsOut.size();
+ for (i=0;i<size;i++)
{
- lstInX.push_back( lstOutX[ j*lstIndexsOut[j] + i ] );
- lstInY.push_back( lstOutY[ j*lstIndexsOut[j] + i ] );
- lstInZ.push_back( lstOutZ[ j*lstIndexsOut[j] + i ] );
- } // for j
- lstIndexsIn.push_back( size2 );
- } // for i
- lstOutX.clear();
- lstOutY.clear();
- lstOutZ.clear();
- lstIndexsOut.clear();
-
-
- // Third step Interponation 2
- size=lstIndexsIn.size();
- iGeneral=0;
- for (i=0;i<size;i++)
- {
- ProcessBySegment( bbGetInputType() ,
- iGeneral, lstIndexsIn[i] ,
- &lstInX,&lstInY,&lstInZ,
- &lstOutX,&lstOutY,&lstOutZ,
- &lstIndexsOut,false);
- } // for
-
-
- RedistributionPoints(&lstOutX,&lstOutY,&lstOutZ,&lstIndexsOut);
-
-
- // Second Step Transpose the vectors
- lstInX.clear();
- lstInY.clear();
- lstInZ.clear();
- lstIndexsIn.clear();
- size = bbGetInputNbPoints();
- size2 = lstIndexsOut.size();
- for (i=0;i<size;i++)
- {
- for (j=0;j<size2;j++)
+ for (j=0;j<size2;j++)
+ {
+ lstInX.push_back( lstOutX[ j*lstIndexsOut[j] + i ] );
+ lstInY.push_back( lstOutY[ j*lstIndexsOut[j] + i ] );
+ lstInZ.push_back( lstOutZ[ j*lstIndexsOut[j] + i ] );
+ } // for j
+ lstIndexsIn.push_back( size2 );
+ } // for i
+ lstOutX.clear();
+ lstOutY.clear();
+ lstOutZ.clear();
+ lstIndexsOut.clear();
+ ///////////////////// Third step Interponation 2
+ size=lstIndexsIn.size();
+ iGeneral=0;
+ for (i=0;i<size;i++)
{
- lstInX.push_back( lstOutX[ j*lstIndexsOut[j] + i ] );
- lstInY.push_back( lstOutY[ j*lstIndexsOut[j] + i ] );
- lstInZ.push_back( lstOutZ[ j*lstIndexsOut[j] + i ] );
- } // for j
- lstIndexsIn.push_back( size2 );
- } // for i
- lstOutX.clear();
- lstOutY.clear();
- lstOutZ.clear();
- lstIndexsOut.clear();
-
- bbSetOutputLstContourPointsX(lstInX);
- bbSetOutputLstContourPointsY(lstInY);
- bbSetOutputLstContourPointsZ(lstInZ);
- bbSetOutputLstIndexsOut(lstIndexsIn);
-
-
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-printf("EED Warnning ..... ManualContourModel_Box::Process Clean this ...............\n");
-
-/*
- bbSetOutputLstContourPointsX(lstOutX);
- bbSetOutputLstContourPointsY(lstOutY);
- bbSetOutputLstContourPointsZ(lstOutZ);
- bbSetOutputLstIndexsOut(lstIndexsOut);
-*/
+ ProcessBySegment( bbGetInputType() ,
+ iGeneral, lstIndexsIn[i] ,
+ &lstInX,&lstInY,&lstInZ,
+ &lstOutX,&lstOutY,&lstOutZ,
+ &lstIndexsOut,bbGetInputOpenClose2());
+ } // for
+ RedistributionPoints(&lstOutX,&lstOutY,&lstOutZ,&lstIndexsOut);
+ //////////////////// Forth step Transpose the vectors
+ lstInX.clear();
+ lstInY.clear();
+ lstInZ.clear();
+ lstIndexsIn.clear();
+ size = bbGetInputNbPoints();
+ size2 = lstIndexsOut.size();
+ for (i=0;i<size;i++)
+ {
+ for (j=0;j<size2;j++)
+ {
+ lstInX.push_back( lstOutX[ j*lstIndexsOut[j] + i ] );
+ lstInY.push_back( lstOutY[ j*lstIndexsOut[j] + i ] );
+ lstInZ.push_back( lstOutZ[ j*lstIndexsOut[j] + i ] );
+ } // for j
+ lstIndexsIn.push_back( size2 );
+ } // for i
+ lstOutX.clear();
+ lstOutY.clear();
+ lstOutZ.clear();
+ lstIndexsOut.clear();
+
+ //////////////////// Set Out DoubleContour = 1
+ bbSetOutputLstContourPointsX(lstInX);
+ bbSetOutputLstContourPointsY(lstInY);
+ bbSetOutputLstContourPointsZ(lstInZ);
+ bbSetOutputLstIndexsOut(lstIndexsIn);
+
+ } // if DoubleContour
}
//=====
// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
// Here we initialize the input 'In' to 0
bbSetInputType(1);
+ bbSetInputDoubleContour(0);
bbSetInputOpenClose(false);
+ bbSetInputOpenClose2(false);
bbSetInputNbPoints(100);
}
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
//=====
BBTK_DECLARE_INPUT(Type,int);
+ BBTK_DECLARE_INPUT(DoubleContour,int);
BBTK_DECLARE_INPUT(OpenClose,bool);
+ BBTK_DECLARE_INPUT(OpenClose2,bool);
BBTK_DECLARE_INPUT(NbPoints,int);
BBTK_DECLARE_INPUT(LstIndexsIn,std::vector<int>);
BBTK_DECLARE_INPUT(LstControlPointsY,std::vector<double>);
BBTK_DECLARE_INPUT(LstControlPointsZ,std::vector<double>);
+
BBTK_DECLARE_OUTPUT(LstContourPointsX,std::vector<double>);
BBTK_DECLARE_OUTPUT(LstContourPointsY,std::vector<double>);
BBTK_DECLARE_OUTPUT(LstContourPointsZ,std::vector<double>);
BBTK_CATEGORY("empty");
BBTK_INPUT(ManualContourModel_Box,Type,"(1 default) 1=spline, 2=rectangle, 3=circle, 4=bullEye, 6=Line, 7=points, 8=rotationTool, 10=polygon, 12=Spline3D",int,"");
+ BBTK_INPUT(ManualContourModel_Box,DoubleContour,"(0 default) 0=Simple, 1=Double (This is used to construct surface, use LstIndexesIn)",int,"");
BBTK_INPUT(ManualContourModel_Box,OpenClose,"(false default) false=open, true=close",bool,"");
+ BBTK_INPUT(ManualContourModel_Box,OpenClose2,"(false default) false=open, true=close. Used with the DoubleContour option.",bool,"");
BBTK_INPUT(ManualContourModel_Box,NbPoints,"(100 default) Number of points int the spline",int,"");
BBTK_INPUT(ManualContourModel_Box,LstIndexsIn,"Lst number of points by segment",std::vector<int>,"");