Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fc0c585
)
fix previous wrong integration
author
ana
<ana@opencascade.com>
Thu, 7 May 2015 09:35:19 +0000
(12:35 +0300)
committer
ana
<ana@opencascade.com>
Thu, 7 May 2015 09:35:19 +0000
(12:35 +0300)
src/StdMeshers/StdMeshers_Projection_2D.cxx
patch
|
blob
|
history
diff --git
a/src/StdMeshers/StdMeshers_Projection_2D.cxx
b/src/StdMeshers/StdMeshers_Projection_2D.cxx
index f69c3a58d0d2aeec4fbc66ae5ae80954559790d5..44e7c115c068bfad874962ab70ca04d60b2e749e 100644
(file)
--- a/
src/StdMeshers/StdMeshers_Projection_2D.cxx
+++ b/
src/StdMeshers/StdMeshers_Projection_2D.cxx
@@
-394,15
+394,16
@@
namespace {
{
double f,l;
Handle(Geom2d_Curve) c1 = BRep_Tool::CurveOnSurface( E1, F, f, l );
{
double f,l;
Handle(Geom2d_Curve) c1 = BRep_Tool::CurveOnSurface( E1, F, f, l );
- gp_Pnt2d uvLast1 = c1->Value( E1.Orientation() == TopAbs_REVERSED ? f : l );
+ gp_Pnt2d uvFirst1 = c1->Value( f );
+ gp_Pnt2d uvLast1 = c1->Value( l );
Handle(Geom2d_Curve) c2 = BRep_Tool::CurveOnSurface( E2, F, f, l );
Handle(Geom2d_Curve) c2 = BRep_Tool::CurveOnSurface( E2, F, f, l );
- gp_Pnt2d uvFirst2 = c2->Value( f );
- gp_Pnt2d uvLast2 = c2->Value( l );
-
double tol2 = 1e-5 * uvLast2.SquareDistance( uvFirst2
);
+ gp_Pnt2d uvFirst2 = c2->Value(
E2.Orientation() == TopAbs_REVERSED ? l :
f );
+ double tol2 = Max( Precision::PConfusion() * Precision::PConfusion(),
+
1e-5 * uvLast1.SquareDistance( uvFirst1 )
);
- return (( uv
Last1.SquareDistance( uvFirst2
) < tol2 ) ||
- ( uv
Last1.SquareDistance( uvLast2
) < tol2 ));
+ return (( uv
First2.SquareDistance( uvFirst1
) < tol2 ) ||
+ ( uv
First2.SquareDistance( uvLast1
) < tol2 ));
}
//================================================================================
}
//================================================================================
@@
-441,7
+442,7
@@
namespace {
for ( size_t iW = 0; iW < srcWires.size(); ++iW )
{
// check ori
for ( size_t iW = 0; iW < srcWires.size(); ++iW )
{
// check ori
- bool reverse = false;
+
//
bool reverse = false;
StdMeshers_FaceSidePtr srcWire = srcWires[iW];
// for ( int iE = 0; iE < srcWire->NbEdges(); ++iE )
// {
StdMeshers_FaceSidePtr srcWire = srcWires[iW];
// for ( int iE = 0; iE < srcWire->NbEdges(); ++iE )
// {
@@
-486,7
+487,8
@@
namespace {
{
list< TopoDS_Edge >::iterator eIt = tgtEdges.begin();
std::advance( eIt, index-1 );
{
list< TopoDS_Edge >::iterator eIt = tgtEdges.begin();
std::advance( eIt, index-1 );
- eIt->Reverse();
+ if ( are2dConnected( tgtEdges.back(), *eIt, tgtFace ))
+ eIt->Reverse();
}
else
{
}
else
{