-// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
return SMESH::FT_Volume3D;
}
+ /*
+ Class : ScaledJacobian_i
+ Description : Functor for calculating volume of 3D element
+ */
+ ScaledJacobian_i::ScaledJacobian_i()
+ {
+ myNumericalFunctorPtr.reset( new Controls::ScaledJacobian() );
+ myFunctorPtr = myNumericalFunctorPtr;
+ }
+
+ FunctorType ScaledJacobian_i::GetFunctorType()
+ {
+ return SMESH::FT_ScaledJacobian;
+ }
+
/*
Class : MaxElementLength2D_i
Description : Functor for calculating maximum length of 2D element
return anObj._retn();
}
+ ScaledJacobian_ptr FilterManager_i::CreateScaledJacobian()
+ {
+ SMESH::ScaledJacobian_i* aServant = new SMESH::ScaledJacobian_i();
+ SMESH::ScaledJacobian_var anObj = aServant->_this();
+ TPythonDump()<<aServant<<" = "<<this<<".CreateScaledJacobian()";
+ return anObj._retn();
+ }
MaxElementLength2D_ptr FilterManager_i::CreateMaxElementLength2D()
{
case SMESH::FT_NodeConnectivityNumber:
aFunctor = aFilterMgr->CreateNodeConnectivityNumber();
break;
+ case SMESH::FT_ScaledJacobian:
+ aFunctor = aFilterMgr->CreateScaledJacobian();
+ break;
// Predicates
case FT_Skew : return "Skew";
case FT_Area : return "Area";
case FT_Volume3D : return "Volume3D";
+ case FT_ScaledJacobian : return "ScaledJacobian";
case FT_MaxElementLength2D : return "Max element length 2D";
case FT_MaxElementLength3D : return "Max element length 3D";
case FT_BelongToMeshGroup : return "Belong to Mesh Group";
else if ( theStr.equals( "Skew" ) ) return FT_Skew;
else if ( theStr.equals( "Area" ) ) return FT_Area;
else if ( theStr.equals( "Volume3D" ) ) return FT_Volume3D;
+ else if ( theStr.equals( "ScaledJacobian" ) ) return FT_ScaledJacobian;
else if ( theStr.equals( "Max element length 2D" ) ) return FT_MaxElementLength2D;
else if ( theStr.equals( "Max element length 3D" ) ) return FT_MaxElementLength3D;
else if ( theStr.equals( "Belong to Mesh Group" ) ) return FT_BelongToMeshGroup;
"FT_Skew",
"FT_Area",
"FT_Volume3D",
+ "FT_ScaledJacobian",
"FT_MaxElementLength2D",
"FT_MaxElementLength3D",
"FT_FreeBorders",
"FT_LogicalOR",
"FT_Undefined"};
- #ifdef _DEBUG_
// check if functName is complete, compilation failure means that enum FunctorType changed
- const int nbFunctors = sizeof(functName) / sizeof(const char*);
- int _assert[( nbFunctors == SMESH::FT_Undefined + 1 ) ? 2 : -1 ]; _assert[0]=_assert[1]=0;
- #endif
+ static_assert( sizeof(functName) / sizeof(const char*) == SMESH::FT_Undefined + 1,
+ "Update names of FunctorType's!!!" );
return functName;
}