void cPIF_Bilin::AddToListInterval(cIncListInterv & aLInterv) { int aI0Alloc = mIncInterv.I0Alloc(); cIncIntervale aI("Intr",aI0Alloc,aI0Alloc+3); aLInterv.AddInterv(aI); const cQuadrangle aQ= mQuads[0][0]; aLInterv.AddInterv(aQ.mInt00); aLInterv.AddInterv(aQ.mInt10); aLInterv.AddInterv(aQ.mInt01); aLInterv.AddInterv(aQ.mInt11); }
//======================================================================= //function : getResultShell //purpose : function for avoiding empty shall or shell containing one face. //======================================================================= static TopoDS_Shape getResultShell(const TopoDS_Shape& theNewShell) { TopoDS_Shape rs; Standard_Integer NbFacesShell =0; TopoDS_Shape aF; TopoDS_Iterator aI(theNewShell,Standard_False); for(; aI.More(); aI.Next(),NbFacesShell++) aF = aI.Value(); if(NbFacesShell >1) rs = theNewShell; else if(!aF.IsNull()) rs = aF; return rs; }
void GenCodeLaserImage(bool Normalize,bool Multi,INT aNb,INT aDegre) { tParamAFocal aNOPAF; cout << "GenCodeLaserImage\n"; CamStenopeIdeale aCam(true,1.0,Pt2dr(0,0),aNOPAF); cSetEqFormelles aSet; Im2D_REAL4 aI(1,1); cLIParam_Image * aP1 = aSet.NewLIParamImage(aI,1.0,aCam,cNameSpaceEqF::eRotFigee); cLIParam_Image * aP2 = aSet.NewLIParamImage(aI,1.0,aCam,cNameSpaceEqF::eRotFigee); cRotationFormelle * aRotPts = 0; if (aDegre >=0) aRotPts = aSet.NewRotationEvol(ElRotation3D(Pt3dr(0,0,0),0,0,0),aDegre); aSet.NewLIEqVueLaserIm(aRotPts,Multi,Normalize,aNb,*aP1,*aP2,true); }
int run(Grid grid, char ch, int* score, bool ai = false) { if(!over(grid)) { if (ai) { ch = aI(grid); } if (shift(grid, ch, score)) { randPut(grid); if(win(grid)) { return WIN; } } else { return NONE; } } else return FAIL; }