-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <TColStd_HSequenceOfTransient.hxx>
#include <TColStd_HArray1OfInteger.hxx>
+#include <vector>
+
/**
* This function converts GEOM::comparison_condition type into
* GEOMUtils::ComparisonCondition type.
return GetObject(anObject);
}
+//=============================================================================
+/*!
+ * GetInPlaceMap
+ */
+//=============================================================================
+GEOM::ListOfListOfLong*
+GEOM_IShapesOperations_i::GetInPlaceMap (GEOM::GEOM_Object_ptr theShapeWhere,
+ GEOM::GEOM_Object_ptr theShapeWhat)
+{
+ GEOM::ListOfListOfLong_var aResult = new GEOM::ListOfListOfLong();
+
+ //Get the reference objects
+ Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere);
+ Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat);
+
+ if (!aShapeWhere.IsNull() &&
+ !aShapeWhat.IsNull())
+ {
+ std::vector< std::vector< int > > resVec;
+ GetOperations()->GetInPlaceMap(aShapeWhere, aShapeWhat, resVec);
+
+ aResult->length( resVec.size() );
+ for ( size_t i = 0; i < resVec.size(); ++i )
+ {
+ //if ( !resVec[i].empty() )
+ aResult[i].length( resVec[i].size() );
+ for ( size_t j = 0; j < resVec[i].size(); ++j )
+ aResult[i][j] = resVec[i][j];
+ }
+ }
+ return aResult._retn();
+}
+
//=============================================================================
/*!
* GetSame