0022616: [CEA 1038] Improve the quality of stl and vtk exports

Additional modification to obsolete ImportFile() function, to return list of GEOM::GEOM_BaseObject, instead of list of GEOM::GEOM_Object, to properly handle fields.
This commit is contained in:
vsr 2014-09-22 11:41:20 +04:00
parent b5e1dcdd78
commit a1f6e9582d
5 changed files with 12 additions and 12 deletions

View File

@ -3720,7 +3720,7 @@ module GEOM
* file length unit will be ignored (set to 'meter') and result model will be scaled. * file length unit will be ignored (set to 'meter') and result model will be scaled.
* \return List of GEOM_Object, containing the created shape and groups of materials. * \return List of GEOM_Object, containing the created shape and groups of materials.
*/ */
ListOfGO ImportFile (in string theFileName, in string theFormatName); ListOfGBO ImportFile (in string theFileName, in string theFormatName);
/*! /*!
* \brief Deprecated method. Use ReadValue (from the corresponding plugin) instead. * \brief Deprecated method. Use ReadValue (from the corresponding plugin) instead.

View File

@ -2967,7 +2967,7 @@ Engines::ListOfIdentifiers* GEOM_Gen_i::importData(
aFile.write(aBuffer, aFileStream->length()); aFile.write(aBuffer, aFileStream->length());
aFile.close(); aFile.close();
GEOM::ListOfGO_var aObjects = aInsOp->ImportFile(aFullPath.c_str(), "XAO"); GEOM::ListOfGBO_var aObjects = aInsOp->ImportFile(aFullPath.c_str(), "XAO");
if ( aObjects->length() > 0 && aInsOp->IsDone() ) { if ( aObjects->length() > 0 && aInsOp->IsDone() ) {
aResult->length(aObjects->length()); aResult->length(aObjects->length());

View File

@ -33,7 +33,7 @@
#include "Utils_ExceptHandlers.hxx" #include "Utils_ExceptHandlers.hxx"
#include "GEOM_Engine.hxx" #include "GEOM_Engine.hxx"
#include "GEOM_Object.hxx" #include "GEOM_BaseObject.hxx"
#include <Basics_OCCTVersion.hxx> #include <Basics_OCCTVersion.hxx>
@ -121,11 +121,11 @@ void GEOM_IInsertOperations_i::Export
* ImportFile * ImportFile
*/ */
//============================================================================= //=============================================================================
GEOM::ListOfGO* GEOM_IInsertOperations_i::ImportFile GEOM::ListOfGBO* GEOM_IInsertOperations_i::ImportFile
(const char* theFileName, (const char* theFileName,
const char* theFormatName) const char* theFormatName)
{ {
GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; GEOM::ListOfGBO_var aSeq = new GEOM::ListOfGBO;
//Set a not done flag //Set a not done flag
GetOperations()->SetNotDone(); GetOperations()->SetNotDone();
@ -142,7 +142,7 @@ GEOM::ListOfGO* GEOM_IInsertOperations_i::ImportFile
aSeq->length(aLength); aSeq->length(aLength);
for (Standard_Integer i = 1; i <= aLength; i++) for (Standard_Integer i = 1; i <= aLength; i++)
aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); aSeq[i-1] = GetBaseObject(Handle(GEOM_BaseObject)::DownCast(aHSeq->Value(i)));
return aSeq._retn(); return aSeq._retn();
} }

View File

@ -49,8 +49,8 @@ class GEOM_I_EXPORT GEOM_IInsertOperations_i :
const char* theFileName, const char* theFileName,
const char* theFormatName); const char* theFormatName);
GEOM::ListOfGO* ImportFile (const char* theFileName, GEOM::ListOfGBO* ImportFile (const char* theFileName,
const char* theFormatName); const char* theFormatName);
char* ReadValue (const char* theFileName, char* ReadValue (const char* theFileName,
const char* theFormatName, const char* theFormatName,

View File

@ -1715,15 +1715,15 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
beginService( " GEOM_Superv_i::ImportFile" ); beginService( " GEOM_Superv_i::ImportFile" );
MESSAGE("GEOM_Superv_i::ImportFile"); MESSAGE("GEOM_Superv_i::ImportFile");
getInsOp(); getInsOp();
GEOM::ListOfGO* aSeq = myInsOp->ImportFile(theFileName, theFormatName); GEOM::ListOfGBO_var aSeq = myInsOp->ImportFile(theFileName, theFormatName);
GEOM::GEOM_Object_ptr anObj; GEOM::GEOM_Object_var anObj;
if (aSeq->length() > 0) { if (aSeq->length() > 0) {
anObj = aSeq->operator[](0); anObj = GEOM::GEOM_Object::_narrow(aSeq[0]);
} }
endService( " GEOM_Superv_i::ImportFile" ); endService( " GEOM_Superv_i::ImportFile" );
return anObj; return anObj._retn();
} }
//============================= TransformOperations =========================== //============================= TransformOperations ===========================