mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
Fix for Bug IPAL9161(3.0.0 (09 June): It is impossible to perform Fillet and Chamfer operations).
This commit is contained in:
parent
8c31a421f1
commit
b8a1ff1356
@ -4,9 +4,10 @@
|
||||
// function : GEOM_TypeFilter
|
||||
// purpose :
|
||||
//=======================================================================
|
||||
GEOM_TypeFilter::GEOM_TypeFilter( SalomeApp_Study* study, const int type )
|
||||
GEOM_TypeFilter::GEOM_TypeFilter( SalomeApp_Study* study, const int type, const bool isShapeType )
|
||||
:GEOM_SelectionFilter( study ),
|
||||
myType( type )
|
||||
myType( type ),
|
||||
myIsShapeType(isShapeType)
|
||||
{
|
||||
}
|
||||
|
||||
@ -26,7 +27,12 @@ bool GEOM_TypeFilter::isOk( const SUIT_DataOwner* sOwner ) const
|
||||
{
|
||||
GEOM::GEOM_Object_var obj = getObject( sOwner );
|
||||
if ( !CORBA::is_nil( obj ) )
|
||||
return obj->GetType() == type();
|
||||
{
|
||||
if (!myIsShapeType)
|
||||
return obj->GetType() == type();
|
||||
else
|
||||
return obj->GetShapeType() == type();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
class GEOM_TypeFilter : public GEOM_SelectionFilter
|
||||
{
|
||||
public:
|
||||
GEOM_TypeFilter(SalomeApp_Study* study, const int type );
|
||||
GEOM_TypeFilter(SalomeApp_Study* study, const int type, const bool isShapeType = false );
|
||||
~GEOM_TypeFilter();
|
||||
|
||||
virtual bool isOk( const SUIT_DataOwner* ) const;
|
||||
@ -19,7 +19,7 @@ public:
|
||||
|
||||
private:
|
||||
int myType;
|
||||
|
||||
bool myIsShapeType;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -132,7 +132,7 @@ SUIT_SelectionFilter* GEOM_Displayer::getFilter( const int theMode )
|
||||
|
||||
int aTopAbsMode = getTopAbsMode( theMode );
|
||||
if ( aTopAbsMode != -1 )
|
||||
aFilter = new GEOM_TypeFilter( getStudy(), theMode ); //@ aFilter = new GEOM_TypeFilter( ( TopAbs_ShapeEnum )aTopAbsMode );
|
||||
aFilter = new GEOM_TypeFilter( getStudy(), aTopAbsMode, true ); //@ aFilter = new GEOM_TypeFilter( ( TopAbs_ShapeEnum )aTopAbsMode );
|
||||
else
|
||||
switch ( theMode )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user