-// 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 "GEOM_IMeasureOperations_i.hh"
#include "GEOM_IGroupOperations_i.hh"
#include "GEOM_IFieldOperations_i.hh"
+#include "GEOM_ITestOperations_i.hh"
#include "GEOMUtils.hxx"
#include <TopTools_IndexedMapOfShape.hxx>
//=====================================================================
class GEOM_I_EXPORT GEOM_GenericOperationsCreator
{
-public:
+ public:
// Create operations
virtual GEOM_IOperations_i* Create (PortableServer::POA_ptr thePOA,
GEOM::GEOM_Gen_ptr theEngine,
::GEOMImpl_Gen* theGenImpl) = 0;
// return the name of IDL module
//virtual std::string GetModuleName() = 0;
+ virtual ~GEOM_GenericOperationsCreator() {}
};
//=====================================================================
// GEOM_Gen_i : class definition
//=====================================================================
-class GEOM_I_EXPORT GEOM_Gen_i: virtual public POA_GEOM::GEOM_Gen, virtual public Engines_Component_i
+class GEOM_I_EXPORT GEOM_Gen_i : public POA_GEOM::GEOM_Gen, public Engines_Component_i
{
public:
PortableServer::POA_ptr poa,
PortableServer::ObjectId * contId,
const char *instanceName,
- const char *interfaceName);
+ const char *interfaceName,
+ bool withRegistry = true);
// destructor, doing nothing (for now)
virtual ~GEOM_Gen_i();
- // generic method to be put in a super class
- void register_name(char * name);
-
// Get ORB object
CORBA::ORB_ptr GetORB() { return CORBA::ORB::_duplicate(_orb); }
- // Get Naming Service object
- SALOME_NamingService* GetNS() { return name_service; }
-
// Get Study
- SALOMEDS::Study_var getStudyServant();
+ virtual SALOMEDS::Study_var getStudyServant() = 0;
//-----------------------------------------------------------------------//
// Inherited methods from SALOMEDS::Driver //
bool CanPublishInStudy(CORBA::Object_ptr theIOR);
SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::SObject_ptr theSObject,
CORBA::Object_ptr theObject,
- const char* theName) throw (SALOME::SALOME_Exception) ;
+ const char* theName) ;
GEOM::ListOfGO* PublishNamedShapesInStudy(CORBA::Object_ptr theObject);
//-----------------------------------------------------------------------//
//Returns a pointer to BasicOperations interface
- virtual GEOM::GEOM_IBasicOperations_ptr GetIBasicOperations()
- throw (SALOME::SALOME_Exception);
+ virtual GEOM::GEOM_IBasicOperations_ptr GetIBasicOperations();
//Returns a pointer to TransformOperations interface
- virtual GEOM::GEOM_ITransformOperations_ptr GetITransformOperations()
- throw (SALOME::SALOME_Exception);
+ virtual GEOM::GEOM_ITransformOperations_ptr GetITransformOperations();
//Returns a pointer to 3DPrimOperations interface
- virtual GEOM::GEOM_I3DPrimOperations_ptr GetI3DPrimOperations()
- throw (SALOME::SALOME_Exception);
+ virtual GEOM::GEOM_I3DPrimOperations_ptr GetI3DPrimOperations();
//Returns a pointer to ShapesOperations interface
- virtual GEOM::GEOM_IShapesOperations_ptr GetIShapesOperations()
- throw (SALOME::SALOME_Exception);
+ virtual GEOM::GEOM_IShapesOperations_ptr GetIShapesOperations();
//Returns a pointer to BlocksOperations interface
- virtual GEOM::GEOM_IBlocksOperations_ptr GetIBlocksOperations()
- throw (SALOME::SALOME_Exception);
+ virtual GEOM::GEOM_IBlocksOperations_ptr GetIBlocksOperations();
//Returns a pointer to BooleanOperations interface
virtual GEOM::GEOM_IBooleanOperations_ptr GetIBooleanOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to CurvesOperations interface
virtual GEOM::GEOM_ICurvesOperations_ptr GetICurvesOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to LocalOperations interface
virtual GEOM::GEOM_ILocalOperations_ptr GetILocalOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to HealingOperations interface
virtual GEOM::GEOM_IHealingOperations_ptr GetIHealingOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to InsertOperations interface
virtual GEOM::GEOM_IInsertOperations_ptr GetIInsertOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to MeasureOperations interface
virtual GEOM::GEOM_IMeasureOperations_ptr GetIMeasureOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to GroupOperations interface
virtual GEOM::GEOM_IGroupOperations_ptr GetIGroupOperations()
- throw (SALOME::SALOME_Exception);
+ ;
//Returns a pointer to FiedlOperations interface
virtual GEOM::GEOM_IFieldOperations_ptr GetIFieldOperations()
- throw (SALOME::SALOME_Exception);
+ ;
+
+ //Returns a pointer to TestOperations interface
+ virtual GEOM::GEOM_ITestOperations_ptr GetITestOperations()
+ ;
//Returns a pointer to corresponding plugin operations interface
virtual GEOM::GEOM_IOperations_ptr GetPluginOperations (const char* theLibName)
- throw (SALOME::SALOME_Exception);
+ ;
//Adds a new sub-shape
virtual GEOM::GEOM_Object_ptr AddSubShape (GEOM::GEOM_Object_ptr theMainShape,
virtual GEOM::GEOM_BaseObject_ptr GetObject(const char* theEntry);
private:
+ SALOMEDS::SComponent_var findOrCreateComponent();
+
GEOM::ListOfGO* RestoreSubShapes (GEOM::GEOM_Object_ptr theObject,
SALOMEDS::SObject_ptr theSObject,
const GEOM::ListOfGO& theArgs,
void LoadPlugin(const std::string& theLibName);
+
+ virtual void BreakLink(const char*) {}
+
private:
::GEOMImpl_Gen* _impl;
- SALOME_NamingService * name_service;
char * _name;
// plugin operations managing