mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-04 20:24:18 +05:00
PAL7962
This commit is contained in:
parent
fe4f5ef4ab
commit
7dbc79c51d
@ -46,17 +46,23 @@ SMESH_GroupBase_i::SMESH_GroupBase_i( PortableServer::POA_ptr thePOA, SMESH_Mesh
|
|||||||
myMeshServant( theMeshServant ),
|
myMeshServant( theMeshServant ),
|
||||||
myLocalID( theLocalID )
|
myLocalID( theLocalID )
|
||||||
{
|
{
|
||||||
thePOA->activate_object( this );
|
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i,
|
||||||
|
// servant activation is performed by SMESH_Mesh_i::createGroup()
|
||||||
|
// thePOA->activate_object( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
SMESH_Group_i::SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
SMESH_Group_i::SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
||||||
: SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
: SALOME::GenericObj_i( thePOA ),
|
||||||
|
SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||||
{
|
{
|
||||||
|
MESSAGE("SMESH_Group_i; this = "<<this );
|
||||||
}
|
}
|
||||||
|
|
||||||
SMESH_GroupOnGeom_i::SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
SMESH_GroupOnGeom_i::SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID )
|
||||||
: SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
: SALOME::GenericObj_i( thePOA ),
|
||||||
|
SMESH_GroupBase_i( thePOA, theMeshServant, theLocalID )
|
||||||
{
|
{
|
||||||
|
MESSAGE("SMESH_GroupOnGeom_i; this = "<<this );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
@ -67,7 +73,7 @@ SMESH_GroupOnGeom_i::SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_
|
|||||||
|
|
||||||
SMESH_GroupBase_i::~SMESH_GroupBase_i()
|
SMESH_GroupBase_i::~SMESH_GroupBase_i()
|
||||||
{
|
{
|
||||||
MESSAGE("~SMESH_GroupBase_i;" );
|
MESSAGE("~SMESH_GroupBase_i; this = "<<this );
|
||||||
if ( myMeshServant )
|
if ( myMeshServant )
|
||||||
myMeshServant->removeGroup(myLocalID);
|
myMeshServant->removeGroup(myLocalID);
|
||||||
}
|
}
|
||||||
|
@ -83,9 +83,8 @@ private:
|
|||||||
// ======
|
// ======
|
||||||
|
|
||||||
class SMESH_Group_i:
|
class SMESH_Group_i:
|
||||||
public SMESH_GroupBase_i,
|
|
||||||
public virtual POA_SMESH::SMESH_Group,
|
public virtual POA_SMESH::SMESH_Group,
|
||||||
public virtual SALOME::GenericObj_i
|
public SMESH_GroupBase_i
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
SMESH_Group_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
||||||
@ -101,9 +100,8 @@ class SMESH_Group_i:
|
|||||||
// =========================
|
// =========================
|
||||||
|
|
||||||
class SMESH_GroupOnGeom_i:
|
class SMESH_GroupOnGeom_i:
|
||||||
public SMESH_GroupBase_i,
|
|
||||||
public virtual POA_SMESH::SMESH_GroupOnGeom,
|
public virtual POA_SMESH::SMESH_GroupOnGeom,
|
||||||
public virtual SALOME::GenericObj_i
|
public SMESH_GroupBase_i
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
SMESH_GroupOnGeom_i( PortableServer::POA_ptr thePOA, SMESH_Mesh_i* theMeshServant, const int theLocalID );
|
||||||
|
@ -881,6 +881,12 @@ SMESH::SMESH_GroupBase_ptr SMESH_Mesh_i::createGroup (SMESH::ElementType theElem
|
|||||||
aGroupImpl = new SMESH_GroupOnGeom_i( SMESH_Gen_i::GetPOA(), this, anId );
|
aGroupImpl = new SMESH_GroupOnGeom_i( SMESH_Gen_i::GetPOA(), this, anId );
|
||||||
else
|
else
|
||||||
aGroupImpl = new SMESH_Group_i( SMESH_Gen_i::GetPOA(), this, anId );
|
aGroupImpl = new SMESH_Group_i( SMESH_Gen_i::GetPOA(), this, anId );
|
||||||
|
|
||||||
|
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i
|
||||||
|
SMESH_Gen_i::GetPOA()->activate_object( aGroupImpl );
|
||||||
|
aGroupImpl->Register();
|
||||||
|
// PAL7962: san -- To ensure correct mapping of servant and correct reference counting in GenericObj_i
|
||||||
|
|
||||||
aGroup = SMESH::SMESH_GroupBase::_narrow( aGroupImpl->_this() );
|
aGroup = SMESH::SMESH_GroupBase::_narrow( aGroupImpl->_this() );
|
||||||
_mapGroups[anId] = SMESH::SMESH_GroupBase::_duplicate( aGroup );
|
_mapGroups[anId] = SMESH::SMESH_GroupBase::_duplicate( aGroup );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user