GccEnt_QualifiedCirc(c2,Qualified2.Qualifier()),
CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
GccEnt_QualifiedCirc(c2,Qualified2.Qualifier()),
LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
}
else {
GccEnt_QualifiedLin(l2,Qualified2.Qualifier()),
CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
GccEnt_QualifiedLin(l2,Qualified2.Qualifier()),
LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
}
}
Qualified2.Qualifier()),
Ql1,CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
- Invert = Standard_True;
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ Invert = Standard_True;
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
Qualified2.Qualifier()),
Ql1,LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
- Invert = Standard_True;
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ Invert = Standard_True;
+ }
}
}
else {
GccEnt_QualifiedLin(l2,Qualified2.Qualifier()),
CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
GccEnt_QualifiedLin(l2,Qualified2.Qualifier()),
LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
}
}
GccEnt_QualifiedCirc(c2,Qualified2.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Qc1,Qc2,OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ }
}
else {
Handle(Geom2d_Line) LL2 = Handle(Geom2d_Line)::DownCast(CC2);
GccEnt_QualifiedLin(l2,Qualified2.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Qc1,Ql2,OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ }
}
}
else {
GccEnt_QualifiedCirc(c2,Qualified2.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Qc2,Ql1,OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
- Invert = Standard_True;
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ Invert = Standard_True;
+ }
}
else {
Handle(Geom2d_Line) LL2 = Handle(Geom2d_Line)::DownCast(CC2);
GccEnt_QualifiedLin(l2,Qualified2.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Ql1,Ql2,OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ }
}
}
}
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Qc2,CCon->Circ2d(),
Param1,Param2,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
- else {TheSame2(1) = 0; }
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
+ else {TheSame2(1) = 0; }
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Qc2,LLon->Lin2d(),
Param1,Param2,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
- else {TheSame2(1) = 0; }
- Circ.WhichQualifier(qualifier1(1),qualifier2(1));
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
+ else {TheSame2(1) = 0; }
+ Circ.WhichQualifier(qualifier1(1),qualifier2(1));
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
}
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Qc2,OnCurve,
Param1,Param2,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
- else {TheSame2(1) = 0; }
- Circ.WhichQualifier(qualifier1(1),qualifier2(1));
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
+ else {TheSame2(1) = 0; }
+ Circ.WhichQualifier(qualifier1(1),qualifier2(1));
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
}
Handle(Geom2d_Circle) CCon = Handle(Geom2d_Circle)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(Qc1,pnt,CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
else if (Type3 == GeomAbs_Line) {
Handle(Geom2d_Line) CCon = Handle(Geom2d_Line)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(Qc1,pnt,CCon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
}
else {
Handle(Geom2d_Circle) CCon = Handle(Geom2d_Circle)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(Ql1,pnt,CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
else if (Type3 == GeomAbs_Line) {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(Ql1,pnt,LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircAna);
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
+ }
}
}
}
GccEnt_QualifiedCirc Qc1(c1,Qualified1.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Qc1,Point->Pnt2d(),OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ }
}
else {
Handle(Geom2d_Line) LLL1 = Handle(Geom2d_Line)::DownCast(CC1);
GccEnt_QualifiedLin Ql1(l1,Qualified1.Qualifier());
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Ql1,Point->Pnt2d(),OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
- }
- Results(CircGeo);
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
+ }
}
}
}
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Point->Pnt2d(),CCon->Circ2d(),
Param1,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- Circ.WhichQualifier(qualifier1(1),qualifier2(1));
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ Circ.WhichQualifier(qualifier1(1),qualifier2(1));
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Point->Pnt2d(),LLon->Lin2d(),
Param1,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- Circ.WhichQualifier(qualifier1(1),qualifier2(1));
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ Circ.WhichQualifier(qualifier1(1),qualifier2(1));
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
}
else {
Geom2dGcc_Circ2d2TanOnIter Circ(Qc1,Point->Pnt2d(),OnCurve,
Param1,ParamOn,Tolerance);
WellDone = Circ.IsDone();
- NbrSol = 1;
- cirsol(1) = Circ.ThisSolution();
- if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
- else {TheSame1(1) = 0; }
- if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
- else {TheSame2(1) = 0; }
- Circ.WhichQualifier(qualifier1(1),qualifier2(1));
- Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
- Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ if (WellDone)
+ {
+ NbrSol = 1;
+ cirsol(1) = Circ.ThisSolution();
+ if (Circ.IsTheSame1()) { TheSame1(1) = 1; }
+ else {TheSame1(1) = 0; }
+ if (Circ.IsTheSame2()) { TheSame2(1) = 1; }
+ else {TheSame2(1) = 0; }
+ Circ.WhichQualifier(qualifier1(1),qualifier2(1));
+ Circ.Tangency1(par1sol(1),pararg1(1),pnttg1sol(1));
+ Circ.Tangency2(par2sol(1),pararg2(1),pnttg2sol(1));
+ }
}
}
}
Handle(Geom2d_Circle) CCon = Handle(Geom2d_Circle)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(pnt1,pnt2,CCon->Circ2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
}
- Results(CircAna);
}
else {
Handle(Geom2d_Line) LLon = Handle(Geom2d_Line)::DownCast(Con);
GccAna_Circ2d2TanOn CircAna(pnt1,pnt2,LLon->Lin2d(),Tolerance);
WellDone = CircAna.IsDone();
- NbrSol = CircAna.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ if (WellDone)
+ {
+ NbrSol = CircAna.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircAna.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircAna);
}
- Results(CircAna);
}
}
Geom2dGcc_Circ2d2TanOnGeo CircGeo(Point1->Pnt2d(),Point2->Pnt2d(),
OnCurve,Tolerance);
WellDone = CircGeo.IsDone();
- NbrSol = CircGeo.NbSolutions();
- for(Standard_Integer i=1; i<=NbrSol; i++) {
- CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ if (WellDone)
+ {
+ NbrSol = CircGeo.NbSolutions();
+ for(Standard_Integer i=1; i<=NbrSol; i++) {
+ CircGeo.WhichQualifier(i,qualifier1(i),qualifier2(i));
+ }
+ Results(CircGeo);
}
- Results(CircGeo);
}
}