X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM%2FGEOM_Function.cxx;h=53731e11f768661e8a49d12c84d7d4820406b7b3;hb=14e1a694c4cf249fe205a39c099482bc5b28a6e5;hp=e96a3a52cc4c39a2d9793236015ea86d7811f48b;hpb=ed87a1f7c81ec39992aff1f463d73dc81e5791e0;p=modules%2Fgeom.git diff --git a/src/GEOM/GEOM_Function.cxx b/src/GEOM/GEOM_Function.cxx index e96a3a52c..53731e11f 100644 --- a/src/GEOM/GEOM_Function.cxx +++ b/src/GEOM/GEOM_Function.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 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 @@ -27,8 +27,6 @@ #include #include -#include - #include "utilities.h" #include @@ -56,10 +54,6 @@ #include #include -#include -#include -#include -#include #include #include @@ -159,7 +153,7 @@ GEOM_Function::~GEOM_Function() //================================================================================ /*! - * \brief Retuns true if this function is the last one in the study + * \brief Returns true if this function is the last one in the study */ //================================================================================ @@ -254,9 +248,8 @@ TopoDS_Shape GEOM_Function::GetValue() return aShape; } } - catch (Standard_Failure) { - Handle(Standard_Failure) aFail = Standard_Failure::Caught(); - MESSAGE("GEOM_Function::GetValue Error: " << aFail->GetMessageString()); + catch (Standard_Failure& aFail) { + MESSAGE("GEOM_Function::GetValue Error: " << aFail.GetMessageString()); return aShape; } } @@ -589,9 +582,10 @@ TCollection_AsciiString GEOM_Function::GetString(int thePosition) Handle(TDataStd_Comment) aString; TDF_Label anArgLabel = ARGUMENT(thePosition); if(!anArgLabel.FindAttribute(TDataStd_Comment::GetID(), aString)) return aRes; - + char *str = new char[aString->Get().LengthOfCString()+1]; + aString->Get().ToUTF8CString(str); + aRes = TCollection_AsciiString(str); _isDone = true; - aRes = TCollection_AsciiString(aString->Get()); return aRes; } @@ -825,12 +819,7 @@ void GEOM_Function::AddSubShapeReference(Handle(GEOM_Function) theSubShape) TDF_Label aSubShapesLabel = _label.FindChild(SUBSHAPES_LABEL); - Handle(TDataStd_ExtStringList) aList; - if (!aSubShapesLabel.FindAttribute(TDataStd_ExtStringList::GetID(), aList)) { - aList = new TDataStd_ExtStringList; - aSubShapesLabel.AddAttribute(aList); - } - + Handle(TDataStd_ExtStringList) aList = TDataStd_ExtStringList::Set( aSubShapesLabel ); TCollection_AsciiString anEntry; TDF_Tool::Entry(theSubShape->GetOwnerEntry(), anEntry); aList->Append(anEntry); @@ -883,11 +872,7 @@ const TDataStd_ListOfExtendedString& GEOM_Function::GetSubShapeReferences() TDF_Label aSubShapesLabel = _label.FindChild(SUBSHAPES_LABEL); - Handle(TDataStd_ExtStringList) aList; - if (!aSubShapesLabel.FindAttribute(TDataStd_ExtStringList::GetID(), aList)) { - aList = new TDataStd_ExtStringList; - aSubShapesLabel.AddAttribute(aList); - } + Handle(TDataStd_ExtStringList) aList = TDataStd_ExtStringList::Set( aSubShapesLabel ); _isDone = true; return aList->List(); @@ -982,9 +967,14 @@ void* GEOM_Function::GetCallBackData() if(!aChild.FindAttribute(TDataStd_Comment::GetID(), aComment)) return NULL; TCollection_AsciiString string( aComment->Get() ); - long long address = atoll( string.ToCString() ); + long long address; +#ifndef WIN32 + address = atoll ( string.ToCString() ); +#else + address = _strtoi64 ( string.ToCString(), NULL, 10 ); +#endif + return reinterpret_cast ( address ); } -IMPLEMENT_STANDARD_HANDLE (GEOM_Function, Standard_Transient); -IMPLEMENT_STANDARD_RTTIEXT(GEOM_Function, Standard_Transient ); +IMPLEMENT_STANDARD_RTTIEXT(GEOM_Function, Standard_Transient )