mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-28 02:10:35 +05:00
22525: EDF 2863 SMESH : problem between BLSurf with viscous layer and projection
Always check zero UV
This commit is contained in:
parent
e09cefb492
commit
99c67a994b
@ -478,7 +478,10 @@ bool SMESH_MesherHelper::toCheckPosOnShape(int shapeID ) const
|
|||||||
|
|
||||||
void SMESH_MesherHelper::setPosOnShapeValidity(int shapeID, bool ok ) const
|
void SMESH_MesherHelper::setPosOnShapeValidity(int shapeID, bool ok ) const
|
||||||
{
|
{
|
||||||
((SMESH_MesherHelper*)this)->myNodePosShapesValidity.insert( make_pair( shapeID, ok));
|
std::map< int,bool >::iterator sh_ok =
|
||||||
|
((SMESH_MesherHelper*)this)->myNodePosShapesValidity.insert( make_pair( shapeID, ok)).first;
|
||||||
|
if ( !ok )
|
||||||
|
sh_ok->second = ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
@ -661,9 +664,10 @@ bool SMESH_MesherHelper::CheckNodeUV(const TopoDS_Face& F,
|
|||||||
const bool force,
|
const bool force,
|
||||||
double distXYZ[4]) const
|
double distXYZ[4]) const
|
||||||
{
|
{
|
||||||
int shapeID = n->getshapeId();
|
int shapeID = n->getshapeId();
|
||||||
bool infinit = ( Precision::IsInfinite( uv.X() ) || Precision::IsInfinite( uv.Y() ));
|
bool infinit = ( Precision::IsInfinite( uv.X() ) || Precision::IsInfinite( uv.Y() ));
|
||||||
if ( force || toCheckPosOnShape( shapeID ) || infinit )
|
bool zero = ( uv.X() == 0. && uv.Y() == 0. );
|
||||||
|
if ( force || toCheckPosOnShape( shapeID ) || infinit || zero )
|
||||||
{
|
{
|
||||||
// check that uv is correct
|
// check that uv is correct
|
||||||
TopLoc_Location loc;
|
TopLoc_Location loc;
|
||||||
@ -898,7 +902,8 @@ bool SMESH_MesherHelper::CheckNodeU(const TopoDS_Edge& E,
|
|||||||
{
|
{
|
||||||
int shapeID = n->getshapeId();
|
int shapeID = n->getshapeId();
|
||||||
bool infinit = Precision::IsInfinite( u );
|
bool infinit = Precision::IsInfinite( u );
|
||||||
if ( force || toCheckPosOnShape( shapeID ) || infinit )
|
bool zero = ( u == 0. );
|
||||||
|
if ( force || toCheckPosOnShape( shapeID ) || infinit || zero )
|
||||||
{
|
{
|
||||||
TopLoc_Location loc; double f,l;
|
TopLoc_Location loc; double f,l;
|
||||||
Handle(Geom_Curve) curve = BRep_Tool::Curve( E,loc,f,l );
|
Handle(Geom_Curve) curve = BRep_Tool::Curve( E,loc,f,l );
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
// Created : Wed Mar 10 11:23:25 2010
|
// Created : Wed Mar 10 11:23:25 2010
|
||||||
// Author : Edward AGAPOV (eap)
|
// Author : Edward AGAPOV (eap)
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "SMESH_File.hxx"
|
#include "SMESH_File.hxx"
|
||||||
#include "utilities.h"
|
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user