mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0020743: EDF 1271 SMESH : Create a mesh from a group / export() on groups
+ virtual int dim( int ) const;
This commit is contained in:
parent
097d80f018
commit
89c40c21f3
@ -111,6 +111,7 @@ QVariant SMESHGUI_Selection::parameter( const int ind, const QString& p ) const
|
|||||||
else if ( p=="elemTypes" ) val = QVariant( elemTypes( ind ) );
|
else if ( p=="elemTypes" ) val = QVariant( elemTypes( ind ) );
|
||||||
else if ( p=="isAutoColor" ) val = QVariant( isAutoColor( ind ) );
|
else if ( p=="isAutoColor" ) val = QVariant( isAutoColor( ind ) );
|
||||||
else if ( p=="numberOfNodes" ) val = QVariant( numberOfNodes( ind ) );
|
else if ( p=="numberOfNodes" ) val = QVariant( numberOfNodes( ind ) );
|
||||||
|
else if ( p=="dim" ) val = QVariant( dim( ind ) );
|
||||||
else if ( p=="labeledTypes" ) val = QVariant( labeledTypes( ind ) );
|
else if ( p=="labeledTypes" ) val = QVariant( labeledTypes( ind ) );
|
||||||
else if ( p=="shrinkMode" ) val = QVariant( shrinkMode( ind ) );
|
else if ( p=="shrinkMode" ) val = QVariant( shrinkMode( ind ) );
|
||||||
else if ( p=="entityMode" ) val = QVariant( entityMode( ind ) );
|
else if ( p=="entityMode" ) val = QVariant( entityMode( ind ) );
|
||||||
@ -396,6 +397,41 @@ int SMESHGUI_Selection::numberOfNodes( int ind ) const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief return dimension of elements of the selected object
|
||||||
|
*
|
||||||
|
* \retval int - 0 for 0D elements, -1 for an empty object (the rest as usual)
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
int SMESHGUI_Selection::dim( int ind ) const
|
||||||
|
{
|
||||||
|
int dim = -1;
|
||||||
|
if ( ind >= 0 && ind < myTypes.count() && myTypes[ind] != "Unknown" )
|
||||||
|
{
|
||||||
|
_PTR(SObject) sobj = SMESH::GetActiveStudyDocument()->FindObjectID( entry( ind ).toLatin1().data() );
|
||||||
|
CORBA::Object_var obj = SMESH::SObjectToObject( sobj, SMESH::GetActiveStudyDocument() );
|
||||||
|
|
||||||
|
if ( ! CORBA::is_nil( obj )) {
|
||||||
|
SMESH::SMESH_IDSource_var idSrc = SMESH::SMESH_IDSource::_narrow( obj );
|
||||||
|
if ( ! idSrc->_is_nil() )
|
||||||
|
{
|
||||||
|
SMESH::array_of_ElementType_var types = idSrc->GetTypes();
|
||||||
|
for ( int i = 0; i < types->length(); ++ i)
|
||||||
|
switch ( types[i] ) {
|
||||||
|
case SMESH::EDGE : dim = std::max( dim, 1 ); break;
|
||||||
|
case SMESH::FACE : dim = std::max( dim, 2 ); break;
|
||||||
|
case SMESH::VOLUME: dim = std::max( dim, 3 ); break;
|
||||||
|
case SMESH::ELEM0D: dim = std::max( dim, 0 ); break;
|
||||||
|
default:;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dim;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : isComputable
|
//function : isComputable
|
||||||
//purpose :
|
//purpose :
|
||||||
|
@ -54,6 +54,7 @@ public:
|
|||||||
// got from object, not from actor
|
// got from object, not from actor
|
||||||
virtual bool isAutoColor( int ) const;
|
virtual bool isAutoColor( int ) const;
|
||||||
virtual int numberOfNodes( int ) const;
|
virtual int numberOfNodes( int ) const;
|
||||||
|
virtual int dim( int ) const;
|
||||||
virtual QVariant isComputable( int ) const;
|
virtual QVariant isComputable( int ) const;
|
||||||
virtual QVariant isPreComputable( int ) const;
|
virtual QVariant isPreComputable( int ) const;
|
||||||
virtual QVariant hasReference( int ) const;
|
virtual QVariant hasReference( int ) const;
|
||||||
|
Loading…
Reference in New Issue
Block a user