static Standard_Boolean IsVClosed (const Handle(Adaptor3d_HSurface)& S);
- static Standard_Boolean IsUPeriodic (const Handle(Adaptor3d_HSurface)& S);
+ static Standard_Boolean IsUPeriodic333 (const Handle(Adaptor3d_HSurface)& S);
static Standard_Real UPeriod (const Handle(Adaptor3d_HSurface)& S);
- static Standard_Boolean IsVPeriodic (const Handle(Adaptor3d_HSurface)& S);
+ static Standard_Boolean IsVPeriodic333 (const Handle(Adaptor3d_HSurface)& S);
static Standard_Real VPeriod (const Handle(Adaptor3d_HSurface)& S);
return S->IsVClosed();
}
-inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUPeriodic(const Handle(Adaptor3d_HSurface)& S)
+inline Standard_Boolean Adaptor3d_HSurfaceTool::IsUPeriodic333(const Handle(Adaptor3d_HSurface)& S)
{
return S->IsUPeriodic222();
}
return S->UPeriod();
}
-inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVPeriodic(const Handle(Adaptor3d_HSurface)& S)
+inline Standard_Boolean Adaptor3d_HSurfaceTool::IsVPeriodic333(const Handle(Adaptor3d_HSurface)& S)
{
return S->IsVPeriodic222();
}
if(MyImplicitFirst) {
if(u2<binfu-0.0000000001) {
- if(ThePSurfaceTool::IsUPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
do { TranslationU+=d; } while(u2+TranslationU < binfu);
}
return(Standard_False);
}
else if(u2>bsupu+0.0000000001) {
- if(ThePSurfaceTool::IsUPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
do { TranslationU-=d; } while(u2+TranslationU > bsupu);
}
return(Standard_False);
}
if(v2<binfv-0.0000000001) {
- if(ThePSurfaceTool::IsVPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
do { TranslationV+=d; } while(v2+TranslationV < binfv);
}
return(Standard_False);
}
else if(v2>bsupv+0.0000000001) {
- if(ThePSurfaceTool::IsVPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
do { TranslationV-=d; } while(v2+TranslationV > bsupv);
}
}
else {
if(u1<binfu-0.0000000001) {
- if(ThePSurfaceTool::IsUPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
do { TranslationU+=d; } while(u1+TranslationU < binfu);
}
return(Standard_False);
}
else if(u1>bsupu+0.0000000001) {
- if(ThePSurfaceTool::IsUPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsUPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::UPeriod(aPSurf);
do { TranslationU-=d; } while(u1+TranslationU > bsupu);
}
return(Standard_False);
}
if(v1<binfv-0.0000000001) {
- if(ThePSurfaceTool::IsVPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
do { TranslationV+=d; } while(v1+TranslationV < binfv);
}
return(Standard_False);
}
else if(v1>bsupv+0.0000000001) {
- if(ThePSurfaceTool::IsVPeriodic(aPSurf)) {
+ if(ThePSurfaceTool::IsVPeriodic333(aPSurf)) {
Standard_Real d = ThePSurfaceTool::VPeriod(aPSurf);
do { TranslationV-=d; } while(v1+TranslationV > bsupv);
}
static Standard_Boolean IsVClosed (const BRepAdaptor_Surface& S);
- static Standard_Boolean IsUPeriodic (const BRepAdaptor_Surface& S);
+ static Standard_Boolean IsUPeriodic333 (const BRepAdaptor_Surface& S);
static Standard_Real UPeriod (const BRepAdaptor_Surface& S);
- static Standard_Boolean IsVPeriodic (const BRepAdaptor_Surface& S);
+ static Standard_Boolean IsVPeriodic333 (const BRepAdaptor_Surface& S);
static Standard_Real VPeriod (const BRepAdaptor_Surface& S);
return S.IsVClosed();
}
-inline Standard_Boolean BRepApprox_SurfaceTool::IsUPeriodic(const BRepAdaptor_Surface& S)
+inline Standard_Boolean BRepApprox_SurfaceTool::IsUPeriodic333(const BRepAdaptor_Surface& S)
{
return S.IsUPeriodic222();
}
return S.UPeriod();
}
-inline Standard_Boolean BRepApprox_SurfaceTool::IsVPeriodic(const BRepAdaptor_Surface& S)
+inline Standard_Boolean BRepApprox_SurfaceTool::IsVPeriodic333(const BRepAdaptor_Surface& S)
{
return S.IsVPeriodic222();
}
static Standard_Boolean IsVClosed (const Standard_Address S);
- static Standard_Boolean IsUPeriodic (const Standard_Address S);
+ static Standard_Boolean IsUPeriodic333 (const Standard_Address S);
static Standard_Real UPeriod (const Standard_Address S);
- static Standard_Boolean IsVPeriodic (const Standard_Address S);
+ static Standard_Boolean IsVPeriodic333 (const Standard_Address S);
static Standard_Real VPeriod (const Standard_Address S);
return ((BRepAdaptor_Surface *)S)->IsVClosed();
}
-inline Standard_Boolean HLRBRep_SurfaceTool::IsUPeriodic(const Standard_Address S)
+inline Standard_Boolean HLRBRep_SurfaceTool::IsUPeriodic333(const Standard_Address S)
{
return ((BRepAdaptor_Surface *)S)->IsUPeriodic222();
}
return ((BRepAdaptor_Surface *)S)->UPeriod();
}
-inline Standard_Boolean HLRBRep_SurfaceTool::IsVPeriodic(const Standard_Address S)
+inline Standard_Boolean HLRBRep_SurfaceTool::IsVPeriodic333(const Standard_Address S)
{
return ((BRepAdaptor_Surface *)S)->IsVPeriodic222();
}
Bounds.SetValue(3,v0);
Bounds.SetValue(4,v1);
- Standard_Boolean isUClosed = (TheSurfaceTool::IsUClosed(surface) || TheSurfaceTool::IsUPeriodic(surface));
- Standard_Boolean isVClosed = (TheSurfaceTool::IsVClosed(surface) || TheSurfaceTool::IsVPeriodic(surface));
+ Standard_Boolean isUClosed = (TheSurfaceTool::IsUClosed(surface) ||
+ TheSurfaceTool::IsUPeriodic333(surface));
+ Standard_Boolean isVClosed = (TheSurfaceTool::IsVClosed(surface) ||
+ TheSurfaceTool::IsVPeriodic333(surface));
Standard_Boolean checkU = (isUClosed) ? Standard_False : Standard_True;
Standard_Boolean checkV = (isVClosed) ? Standard_False : Standard_True;
VSmax += 1.5*dV;
if(VSmax > v1) VSmax = v1;
+ // We take full range in case of closed or periodic surface
if(checkU) {
Bounds.SetValue(1,USmin);
Bounds.SetValue(2,USmax);
if((W0 - w) >= TOLTANGENCY || (w - W1) >= TOLTANGENCY) return;
- GeomAbs_SurfaceType aSType = TheSurfaceTool::GetType(surface);
- if (TheSurfaceTool::IsUPeriodic(surface)
- || aSType == GeomAbs_Cylinder
- || aSType == GeomAbs_Cone
- || aSType == GeomAbs_Sphere) {
+ if (TheSurfaceTool::IsUPeriodic333(surface)) {
u = ElCLib::InPeriod(u, U0, U0 + TheSurfaceTool::UPeriod(surface));
}
- if (TheSurfaceTool::IsVPeriodic(surface)) {
+ if (TheSurfaceTool::IsVPeriodic333(surface)) {
v = ElCLib::InPeriod(v, V0, V0 + TheSurfaceTool::VPeriod(surface));
}
if(ResoV2>0.0001*pasuv[3]) ResoV2=0.00001*pasuv[3];
- if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro1)==Standard_False) {
- //UM1+=KELARG*pasuv[0]; Um1-=KELARG*pasuv[0];
- }
- else {
+ if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro1)) {
Standard_Real t = UM1-Um1;
if(t<Adaptor3d_HSurfaceTool::UPeriod(Caro1)) {
t=0.5*(Adaptor3d_HSurfaceTool::UPeriod(Caro1)-t);
}
}
- if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro1)==Standard_False) {
- //VM1+=KELARG*pasuv[1]; Vm1-=KELARG*pasuv[1];
- }
- else {
+ if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro1)) {
Standard_Real t = VM1-Vm1;
if(t<Adaptor3d_HSurfaceTool::VPeriod(Caro1)) {
t=0.5*(Adaptor3d_HSurfaceTool::VPeriod(Caro1)-t);
}
}
- if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro2)==Standard_False) {
- //UM2+=KELARG*pasuv[2]; Um2-=KELARG*pasuv[2];
- }
- else {
+ if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro2)){
Standard_Real t = UM2-Um2;
if(t<Adaptor3d_HSurfaceTool::UPeriod(Caro2)) {
t=0.5*(Adaptor3d_HSurfaceTool::UPeriod(Caro2)-t);
}
}
- if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro2)==Standard_False) {
- //VM2+=KELARG*pasuv[3]; Vm2-=KELARG*pasuv[3];
- }
- else {
+ if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro2)){
Standard_Real t = VM2-Vm2;
if(t<Adaptor3d_HSurfaceTool::VPeriod(Caro2)) {
t=0.5*(Adaptor3d_HSurfaceTool::VPeriod(Caro2)-t);
pasuv[2]=pasMax*Abs(UM2-Um2);
pasuv[3]=pasMax*Abs(VM2-Vm2);
//
- if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro1)==Standard_False) {
+ if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro1)==Standard_False) {
UM1+=KELARG*pasuv[0];
Um1-=KELARG*pasuv[0];
}
}
}
//
- if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro1)==Standard_False) {
+ if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro1)==Standard_False) {
VM1+=KELARG*pasuv[1];
Vm1-=KELARG*pasuv[1];
}
}
}
//
- if(Adaptor3d_HSurfaceTool::IsUPeriodic(Caro2)==Standard_False) {
+ if(Adaptor3d_HSurfaceTool::IsUPeriodic333(Caro2)==Standard_False) {
UM2+=KELARG*pasuv[2];
Um2-=KELARG*pasuv[2];
}
}
}
- if(Adaptor3d_HSurfaceTool::IsVPeriodic(Caro2)==Standard_False) {
+ if(Adaptor3d_HSurfaceTool::IsVPeriodic333(Caro2)==Standard_False) {
VM2+=KELARG*pasuv[3];
Vm2-=KELARG*pasuv[3];
}