mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Version Open CASCADE 670 with fixes
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and / or modify it
|
||||
// under the terms of the GNU Lesser General Public version 2.1 as published
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
@@ -238,8 +238,9 @@ inline Standard_Boolean CompareVerticesOnS2(const IntPatch_Point& vtx1, const In
|
||||
{return CompareVerticesOnSurf (vtx1, vtx2, Standard_False);}
|
||||
|
||||
|
||||
void IntPatch_WLine::ComputeVertexParameters(const Standard_Real RTol) {
|
||||
|
||||
void IntPatch_WLine::ComputeVertexParameters( const Standard_Real RTol,
|
||||
const Standard_Boolean hasBeenAdded)
|
||||
{
|
||||
// MSV Oct 15, 2001: use tolerance of vertex instead of RTol where
|
||||
// it is possible
|
||||
|
||||
@@ -247,9 +248,6 @@ void IntPatch_WLine::ComputeVertexParameters(const Standard_Real RTol) {
|
||||
Standard_Integer indicevertexonline;
|
||||
Standard_Real indicevertex;
|
||||
|
||||
Standard_Real ParamMinOnLine,ParamMaxOnLine;
|
||||
if(fipt) { ParamMinOnLine = Vertex(indf).ParameterOnLine(); } else { ParamMinOnLine = -100000.0; }
|
||||
if(lapt) { ParamMaxOnLine = Vertex(indl).ParameterOnLine(); } else { ParamMaxOnLine = 100000.0; }
|
||||
Standard_Boolean APointDeleted = Standard_False;
|
||||
//----------------------------------------------------------
|
||||
//-- F i l t r e s u r r e s t r i c t i o n s --
|
||||
@@ -466,9 +464,9 @@ void IntPatch_WLine::ComputeVertexParameters(const Standard_Real RTol) {
|
||||
Standard_Real dmini = Precision::Confusion();
|
||||
dmini*=dmini;
|
||||
for(i=2; i<=nbponline; i++) {
|
||||
//const IntSurf_PntOn2S& aPntOn2S1=curv->Value(i-1);
|
||||
//const IntSurf_PntOn2S& aPntOn2S2=curv->Value(i);
|
||||
Standard_Real d = (curv->Value(i-1).Value()).SquareDistance((curv->Value(i).Value()));
|
||||
const IntSurf_PntOn2S& aPnt1=curv->Value(i-1);
|
||||
const IntSurf_PntOn2S& aPnt2=curv->Value(i);
|
||||
Standard_Real d = (aPnt1.Value()).SquareDistance((aPnt2.Value()));
|
||||
if(d < dmini) {
|
||||
curv->RemovePoint(i);
|
||||
nbponline--;
|
||||
@@ -476,10 +474,10 @@ void IntPatch_WLine::ComputeVertexParameters(const Standard_Real RTol) {
|
||||
//-- On recadre les Vertex si besoin
|
||||
//--
|
||||
for(j=1; j<=nbvtx; j++) {
|
||||
indicevertex = svtx.Value(j).ParameterOnLine();
|
||||
if(indicevertex >= i) {
|
||||
svtx.ChangeValue(j).SetParameter(indicevertex-1.0);
|
||||
}
|
||||
indicevertex = svtx.Value(j).ParameterOnLine();
|
||||
if(indicevertex >= i) {
|
||||
svtx.ChangeValue(j).SetParameter(indicevertex-1.0);
|
||||
}
|
||||
}
|
||||
//modified by NIZNHY-PKV Mon Feb 11 09:28:02 2002 f
|
||||
i--;
|
||||
@@ -490,7 +488,30 @@ void IntPatch_WLine::ComputeVertexParameters(const Standard_Real RTol) {
|
||||
for(i=1; i<=nbvtx; i++) {
|
||||
const gp_Pnt& P = svtx.Value(i).Value();
|
||||
Standard_Real vTol = svtx.Value(i).Tolerance();
|
||||
indicevertex = svtx.Value(i).ParameterOnLine();
|
||||
|
||||
if(hasBeenAdded)
|
||||
{
|
||||
if(nbvtx == 2)
|
||||
{
|
||||
if(i == nbvtx)
|
||||
{
|
||||
indicevertex = curv->NbPoints();
|
||||
}
|
||||
else
|
||||
{
|
||||
indicevertex = svtx.Value(i).ParameterOnLine();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
indicevertex = svtx.Value(i).ParameterOnLine();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
indicevertex = svtx.Value(i).ParameterOnLine();
|
||||
}
|
||||
|
||||
indicevertexonline = (Standard_Integer)indicevertex;
|
||||
//--------------------------------------------------
|
||||
//-- On Compare le vertex avec les points de la ligne
|
||||
|
Reference in New Issue
Block a user