#include "SMESHGUI.h"
#include "SMESHGUI_Selection.h"
#include "SMESH_Type.h"
-
+#include "SMESH_MeshAlgos.hxx"
#include <SMDS_MeshNode.hxx>
#include <SMDS_MeshFace.hxx>
}
CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject,
- _PTR(Study) theStudy)
+ _PTR(Study) /*theStudy*/)
{
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>
(SUIT_Session::session()->activeApplication());
_PTR(GenericAttribute) anAttr;
if (theSObject->FindAttribute(anAttr, "AttributeIOR")) {
_PTR(AttributeIOR) anIOR = anAttr;
- CORBA::String_var aVal = anIOR->Value().c_str();
+ std::string aVal = anIOR->Value();
// string_to_object() DOC: If the input string is not valid ...
// a CORBA::SystemException is thrown.
- if ( aVal && strlen( aVal ) > 0 )
- return app->orb()->string_to_object(aVal);
+ if ( aVal.size() > 0 )
+ return app->orb()->string_to_object( aVal.c_str() );
}
}
return CORBA::Object::_nil();
CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject)
{
- _PTR(Study) aStudy = GetActiveStudyDocument();
+ _PTR(Study) aStudy;// = GetActiveStudyDocument(); -- aStudy is not used
return SObjectToObject(theSObject,aStudy);
}
gp_XYZ getNormale( const SMDS_MeshFace* theFace )
{
gp_XYZ n;
- int aNbNode = theFace->NbNodes();
- TColgp_Array1OfXYZ anArrOfXYZ(1,4);
- SMDS_ElemIteratorPtr aNodeItr = theFace->nodesIterator();
- int i = 1;
- for ( ; aNodeItr->more() && i <= 4; i++ ) {
- SMDS_MeshNode* aNode = (SMDS_MeshNode*)aNodeItr->next();
- anArrOfXYZ.SetValue(i, gp_XYZ( aNode->X(), aNode->Y(), aNode->Z() ) );
- }
-
- gp_XYZ q1 = anArrOfXYZ.Value(2) - anArrOfXYZ.Value(1);
- gp_XYZ q2 = anArrOfXYZ.Value(3) - anArrOfXYZ.Value(1);
- n = q1 ^ q2;
- if ( aNbNode > 3 ) {
- gp_XYZ q3 = anArrOfXYZ.Value(4) - anArrOfXYZ.Value(1);
- n += q2 ^ q3;
- }
- double len = n.Modulus();
- if ( len > 0 )
- n /= len;
+ SMESH_MeshAlgos::FaceNormal( theFace, n, /*normalized=*/true );
return n;
}
return fromUtf8( txt.c_str() );
}
- const char* toUtf8( const QString& txt )
+ toUtf8::toUtf8( const QString& txt )
{
#ifdef PAL22528_UNICODE
- return txt.toUtf8().constData();
+ assign( txt.toUtf8().constData() );
#else
- return txt.toLatin1().constData();
+ assign( txt.toLatin1().constData() );
#endif
}