+ StudyContext* GetStudyContext();
+
+ // Register an object in a StudyContext; return object id
+ int RegisterObject(CORBA::Object_ptr theObject);
+
+ // Return id of registered object
+ CORBA::Long GetObjectId(CORBA::Object_ptr theObject);
+
+ // Return an object that previously had an oldID
+ template<class TInterface>
+ typename TInterface::_var_type GetObjectByOldId( const int oldID )
+ {
+ if ( myStudyContext ) {
+ std::string ior = myStudyContext->getIORbyOldId( oldID );
+ if ( !ior.empty() )
+ return TInterface::_narrow(GetORB()->string_to_object( ior.c_str() ));
+ }
+ return TInterface::_nil();
+ }
+
+ /*!
+ * \brief Find SObject for an algo
+ */
+ SALOMEDS::SObject_ptr GetAlgoSO(const ::SMESH_Algo* algo);
+
+ void UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters);
+ char* GetParameters(CORBA::Object_ptr theObject);
+ //char* ParseParameters(const char* theParameters);
+ const std::vector< int >& GetLastParamIndices() const { return myLastParamIndex; }
+ const std::vector< std::string >& GetLastParameters() const { return myLastParameters; }
+ const std::string & GetLastObjEntry() const { return myLastObj; }
+ std::vector< std::string > GetAllParameters(const std::string& theObjectEntry) const;
+
+ // Move objects to the specified position
+ void Move( const SMESH::sobject_list& what,
+ SALOMEDS::SObject_ptr where,
+ CORBA::Long row );
+
+ CORBA::Boolean IsApplicable ( const char* theAlgoType,
+ const char* theLibName,
+ GEOM::GEOM_Object_ptr theShapeObject,
+ CORBA::Boolean toCheckAll);
+
+ SMESH::long_array* GetInsideSphere( SMESH::SMESH_IDSource_ptr meshPart,
+ SMESH::ElementType theElemType,
+ CORBA::Double theX,
+ CORBA::Double theY,
+ CORBA::Double theZ,
+ CORBA::Double theR);
+
+ SMESH::long_array* GetInsideBox( SMESH::SMESH_IDSource_ptr meshPart,
+ SMESH::ElementType theElemType,
+ CORBA::Double theX1,
+ CORBA::Double theY1,
+ CORBA::Double theZ1,
+ CORBA::Double theX2,
+ CORBA::Double theY2,
+ CORBA::Double theZ2);
+
+ SMESH::long_array* GetInsideCylinder( SMESH::SMESH_IDSource_ptr meshPart,
+ SMESH::ElementType theElemType,
+ CORBA::Double theX,
+ CORBA::Double theY,
+ CORBA::Double theZ,
+ CORBA::Double theDX,
+ CORBA::Double theDY,
+ CORBA::Double theDZ,
+ CORBA::Double theH,
+ CORBA::Double theR );
+
+ SMESH::long_array* GetInside( SMESH::SMESH_IDSource_ptr meshPart,
+ SMESH::ElementType theElemType,
+ GEOM::GEOM_Object_ptr theGeom,
+ CORBA::Double theTolerance );
+