#include "pch.h" // use stdafx.h in Visual Studio 2017 and earlier #include "Path.h" ClipSet clipSet; BranchPointSet branchPointSet; P dirP(P &A){ P B; B.x=A.dx; B.y=A.dy; B.z=A.dz; return B; } Path::Path(){ dia=0; } //返回path中点的数量 int Path::size() { assert(inOut.size() == points.size()); return points.size(); } void Path::markPoint(){ for(int i=0;iused=true; pb->pc1->used=true; pb->pc2->used=true; } else if(tp.type==0){ clipSet.c[tp.ref].used=true; } } } //固定所有经过的分支点 void Path::fixBranchPoint(){ for(int i=0;ifix(); } } } //检查路径合法性 void Path::illegalCheck(){ mapvis; for(int i=0;ifixBranchPoint(); //this->processDir(); this->markPoint(); } //翻转整条路径 void Path::reverse(){ std::reverse(points.begin(),points.end()); assert(inOut.size()==points.size()); for(int i=0;i