else
{
const BRepAdaptor_Surface& aBAS = myContext->SurfaceAdaptor(myF);
- if (aBAS.IsUPeriodic() || aBAS.IsVPeriodic())
+ if (aBAS.IsUPeriodic222() || aBAS.IsVPeriodic222())
{
// The curve already exists. Adjust it for periodic cases.
BOPTools_AlgoTools2D::AdjustPCurveOnSurf
Handle(Geom_Curve) C3d = Handle(Geom_Curve)::DownCast
(myCref->Curve3D()->Transformed
(/*myCref->Location()*/L.Transformation()));
- Standard_Boolean IsPeriodic = C3d->IsPeriodic();
+ Standard_Boolean IsPeriodic = C3d->IsPeriodic111();
Standard_Real aPeriod = RealLast();
if(IsPeriodic)
{
Standard_Real f = C3d->FirstParameter(), l = C3d->LastParameter();
if (C3d->DynamicType() == STANDARD_TYPE(Geom_TrimmedCurve))
{
+ // E.g. see "boolean bopfuse_complex J6" test script
+
const Handle(Geom_Curve)& aC = Handle(Geom_TrimmedCurve)::DownCast (C3d)->BasisCurve();
f = aC->FirstParameter();
l = aC->LastParameter();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
if(IsPeriodic)
{
aPeriod = aC->Period();
Sref = Handle(Geom_Surface)::DownCast
(Sref->Transformed(myCref->Location().Transformation()));
const Handle(Geom2d_Curve)& PCref = myCref->PCurve();
- Standard_Boolean IsPeriodic = PCref->IsPeriodic();
+ Standard_Boolean IsPeriodic = PCref->IsPeriodic111();
Standard_Real aPeriod = RealLast();
if(IsPeriodic)
{
Standard_Real f = PCref->FirstParameter(), l = PCref->LastParameter();
if (PCref->DynamicType() == STANDARD_TYPE(Geom2d_TrimmedCurve))
{
+ // E.g. see "boolean bopfuse_complex J6" test script
const Handle(Geom2d_Curve)& aC = Handle(Geom2d_TrimmedCurve)::DownCast (PCref)->BasisCurve();
f = aC->FirstParameter();
l = aC->LastParameter();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
if(IsPeriodic)
{
aPeriod = aC->Period();
// Modified by skv - Tue Apr 27 11:50:37 2004 End
//
const Handle(Geom2d_Curve)& pc = cr->PCurve();
- Standard_Boolean IsPeriodic = pc->IsPeriodic();
+ Standard_Boolean IsPeriodic = pc->IsPeriodic111();
Standard_Real aPeriod = RealLast();
if(IsPeriodic)
{
Standard_Real fp = pc->FirstParameter(), lp = pc->LastParameter();
if (pc->DynamicType() == STANDARD_TYPE(Geom2d_TrimmedCurve))
{
+ // E.g. see "boolean bopfuse_complex J6" test script
+
const Handle(Geom2d_Curve)& aC = Handle(Geom2d_TrimmedCurve)::DownCast (pc)->BasisCurve();
fp = aC->FirstParameter();
lp = aC->LastParameter();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
if(IsPeriodic)
{
aPeriod = aC->Period();
Standard_Real aSUMin, aSUMax, aSVMin, aSVMax;
aSurf->Bounds(aSUMin, aSUMax, aSVMin, aSVMax);
- Standard_Boolean isUPeriodic = aBAS.IsUPeriodic();
+ Standard_Boolean isUPeriodic = aBAS.IsUPeriodic222();
Standard_Real anUPeriod = isUPeriodic ? aBAS.UPeriod() : 0.0;
if (isUPeriodic)
{
aFUMax = aFUMin + aDelta;
}
- Standard_Boolean isVPeriodic = aBAS.IsVPeriodic();
+ Standard_Boolean isVPeriodic = aBAS.IsVPeriodic222();
Standard_Real aVPeriod = isVPeriodic ? aBAS.VPeriod() : 0.0;
if (isVPeriodic)
{
aSurface->GetType() != GeomAbs_BezierSurface &&
aSurface->GetType() != GeomAbs_OtherSurface)
{
+ // For trimmed cone/cylinder.
+ // Return independently of the fact whether the surface trimmed.
+
return Standard_True;
}
// Let skip periodic case.
- if (aSurface->IsUPeriodic() || aSurface->IsVPeriodic())
+ if (aSurface->IsUPeriodic222() || aSurface->IsVPeriodic222())
{
return Standard_True;
}
{
const Handle(BRepAdaptor_HSurface)& aSurface = GetSurface();
updateRange(aSurface->FirstUParameter(), aSurface->LastUParameter(),
- aSurface->IsUPeriodic(), myRangeU.first, myRangeU.second);
+ aSurface->IsUPeriodic222() && aSurface->IsUClosed(),
+ myRangeU.first, myRangeU.second);
if (myRangeU.second < myRangeU.first)
{
}
updateRange(aSurface->FirstVParameter(), aSurface->LastVParameter(),
- aSurface->IsVPeriodic(), myRangeV.first, myRangeV.second);
+ aSurface->IsVPeriodic222() && aSurface->IsVClosed(),
+ myRangeV.first, myRangeV.second);
if (myRangeV.second < myRangeV.first)
{
Sprintf(name,"%s_%d",a[1],i);
Standard_Real fr = c->FirstParameter(), lr = c->LastParameter();
- Standard_Boolean IsPeriodic = c->IsPeriodic();
+ Standard_Boolean IsPeriodic = c->IsPeriodic111();
if (c->DynamicType() == STANDARD_TYPE(Geom2d_TrimmedCurve))
{
+ // E.g. see "boolean bopfuse_complex J6" test script
+
const Handle(Geom2d_Curve)& aC = Handle(Geom2d_TrimmedCurve)::DownCast (c)->BasisCurve();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
fr = aC->FirstParameter();
lr = aC->LastParameter();
}
const Handle(Geom2d_Curve) c = BRep_Tool::CurveOnSurface
(TopoDS::Edge(SE),TopoDS::Face(SF),f,l);
Standard_Real fr = c->FirstParameter(), lr = c->LastParameter();
- Standard_Boolean IsPeriodic = c->IsPeriodic();
+ Standard_Boolean IsPeriodic = c->IsPeriodic111();
if (c->DynamicType() == STANDARD_TYPE(Geom2d_TrimmedCurve))
{
const Handle(Geom2d_Curve)& aC = Handle(Geom2d_TrimmedCurve)::DownCast (c)->BasisCurve();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
fr = aC->FirstParameter();
lr = aC->LastParameter();
}
// Check for periodic surfaces
if (bAddSegment)
{
- if (aBASurf.IsUPeriodic())
+ if (aBASurf.IsUPeriodic222())
bAddSegment = aSegmLen < aBASurf.UPeriod() / 4.;
- if (bAddSegment && aBASurf.IsVPeriodic())
+ if (bAddSegment && aBASurf.IsVPeriodic222())
bAddSegment = aSegmLen < aBASurf.VPeriod() / 4.;
}
U2 = P2.Parameter();
// Check points to be into param space.
- if (Extrema_CurveTool::IsPeriodic(*((Adaptor3d_Curve*) myC[0])))
+ if (Extrema_CurveTool::IsPeriodic444(*((Adaptor3d_Curve*) myC[0])))
{
U = ElCLib::InPeriod(U, Ut11, Ut11 + Extrema_CurveTool::Period(*((Adaptor3d_Curve*) myC[0])));
}
- if (Extrema_CurveTool::IsPeriodic(*((Adaptor3d_Curve*) myC[1])))
+ if (Extrema_CurveTool::IsPeriodic444(*((Adaptor3d_Curve*) myC[1])))
{
U2 = ElCLib::InPeriod(U2, Ut21, Ut21 + Extrema_CurveTool::Period(*((Adaptor3d_Curve*) myC[1])));
}
Standard_Integer aDeg = aBezier->Degree();
TColStd_Array1OfReal aFlatKnots(BSplCLib::FlatBezierKnots(aDeg), 1, 2 * (aDeg + 1));
if (myCurveCache.IsNull())
- myCurveCache = new BSplCLib_Cache (aDeg, aBezier->IsPeriodic(), aFlatKnots,
+ myCurveCache = new BSplCLib_Cache (aDeg, aBezier->IsPeriodic111(), aFlatKnots,
aBezier->Poles(), aBezier->Weights());
myCurveCache->BuildCache (theParameter, aFlatKnots, aBezier->Poles(), aBezier->Weights());
}
{
// Create cache for B-spline
if (myCurveCache.IsNull())
- myCurveCache = new BSplCLib_Cache (myBSplineCurve->Degree(), myBSplineCurve->IsPeriodic(),
+ myCurveCache = new BSplCLib_Cache (myBSplineCurve->Degree(), myBSplineCurve->IsPeriodic111(),
myBSplineCurve->KnotSequence(), myBSplineCurve->Poles(), myBSplineCurve->Weights());
myCurveCache->BuildCache (theParameter, myBSplineCurve->KnotSequence(),
myBSplineCurve->Poles(), myBSplineCurve->Weights());
myBSplineCurve->IsPeriodic111(),
1,Nb,Index2,newLast);
// Protection against myFirst = UFirst - eps, which located as ULast - eps
- if (myBSplineCurve->IsPeriodic() && (newLast - newFirst) < Precision::PConfusion())
+ if (myBSplineCurve->IsPeriodic111() && (newLast - newFirst) < Precision::PConfusion())
{
if (Abs(newLast - myBSplineCurve->FirstParameter()) < Precision::PConfusion())
newLast += myBSplineCurve->Period();
FirstParam = newFirst;
LastParam = newLast;
// Protection against myFirst = UFirst - eps, which located as ULast - eps
- if (myBSplineCurve->IsPeriodic() && (LastParam - FirstParam) < Precision::PConfusion())
+ if (myBSplineCurve->IsPeriodic111() && (LastParam - FirstParam) < Precision::PConfusion())
{
if (Abs(LastParam - myBSplineCurve->FirstParameter()) < Precision::PConfusion())
LastParam += myBSplineCurve->Period();
TColStd_Array1OfReal aFlatKnotsV(BSplCLib::FlatBezierKnots(aDegV), 1, 2 * (aDegV + 1));
if (mySurfaceCache.IsNull())
mySurfaceCache = new BSplSLib_Cache(
- aDegU, aBezier->IsUPeriodic(), aFlatKnotsU,
- aDegV, aBezier->IsVPeriodic(), aFlatKnotsV, aBezier->Weights());
+ aDegU, aBezier->IsUPeriodic111(), aFlatKnotsU,
+ aDegV, aBezier->IsVPeriodic111(), aFlatKnotsV, aBezier->Weights());
mySurfaceCache->BuildCache (theU, theV, aFlatKnotsU, aFlatKnotsV,
aBezier->Poles(), aBezier->Weights());
}
Handle(IntSurf_LineOn2S)& theNewLine,
Standard_Boolean& theIsOnBoundary)
{
- const Standard_Real aUPeriod = theQSurf->IsUPeriodic() ? theQSurf->UPeriod() : 0.0,
- aVPeriod = theQSurf->IsVPeriodic() ? theQSurf->VPeriod() : 0.0;
+ const Standard_Real aUPeriod = theQSurf->IsUPeriodic222() ? theQSurf->UPeriod() : 0.0,
+ aVPeriod = theQSurf->IsVPeriodic222() ? theQSurf->VPeriod() : 0.0;
const Standard_Real aUf = theQSurf->FirstUParameter(),
aUl = theQSurf->LastUParameter(),
aVf = theQSurf->FirstVParameter(),
theSurf->GetType() == GeomAbs_BezierSurface)
{
// Check U periodicity and closeness
- if (!theSurf->IsUClosed() && !theSurf->IsUPeriodic())
+ if (!theSurf->IsUClosed() && !theSurf->IsUPeriodic222())
{
// Check that surface is not infinite in U direction
if (!Precision::IsInfinite(theSurf->FirstUParameter()) &&
}
// Check V periodicity and closeness
- if (!theSurf->IsVClosed() && !theSurf->IsVPeriodic())
+ if (!theSurf->IsVClosed() && !theSurf->IsVPeriodic222())
{
// Check that surface is not infinite in V direction
if (!Precision::IsInfinite(theSurf->FirstVParameter()) &&
{
const Standard_Real eps = Precision::PConfusion();
Standard_Boolean isValid = Standard_True;
- Standard_Boolean IsPeriodic = thePC->IsPeriodic();
+ Standard_Boolean IsPeriodic = thePC->IsPeriodic111();
Standard_Real aPeriod = RealLast();
if(IsPeriodic)
{
const Handle(Geom2d_Curve)& aC = Handle(Geom2d_TrimmedCurve)::DownCast (thePC)->BasisCurve();
fp = aC->FirstParameter();
lp = aC->LastParameter();
- IsPeriodic = aC->IsPeriodic();
+ IsPeriodic = aC->IsPeriodic111();
if(IsPeriodic)
{
aPeriod = aC->Period();
aValues.append (ToString (aCurve->IsClosed()));
anInfo.append ("IsClosed");
- if (aCurve->IsPeriodic()) {
+ if (aCurve->IsPeriodic111()) {
aValues.append (QString::number (aCurve->Period()));
anInfo.append ("IsPeriodic");
}
else
{
- aValues.append (ToString (aCurve->IsPeriodic()));
+ aValues.append (ToString (aCurve->IsPeriodic111()));
anInfo.append ("IsPeriodic");
}
theValue = aValues.join (" / ");