]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
PAL8376
authorvsr <vsr@opencascade.com>
Thu, 17 Mar 2005 13:53:29 +0000 (13:53 +0000)
committervsr <vsr@opencascade.com>
Thu, 17 Mar 2005 13:53:29 +0000 (13:53 +0000)
src/OBJECT/GEOM_AISShape.cxx
src/OBJECT/GEOM_AISShape.hxx

index e847b21753d41704a9c40dd3c0f3e5b38f0308fe..c442b4c6c128a6cc6849e02609e744994b76ad5f 100644 (file)
@@ -116,7 +116,6 @@ static void indicesToOwners( const TColStd_IndexedMapOfInteger& aIndexMap,
 GEOM_AISShape::GEOM_AISShape(const TopoDS_Shape& shape,
                             const Standard_CString aName): SALOME_AISShape(shape)
 {
-  myIO = NULL;
   myName = new char [strlen(aName)+1];
   strcpy( myName, aName);
 
@@ -124,15 +123,18 @@ GEOM_AISShape::GEOM_AISShape(const TopoDS_Shape& shape,
 }
 
 void GEOM_AISShape::setIO(const Handle(SALOME_InteractiveObject)& io){
-  myIO = io;
+  SetOwner( io );
 }
 
 Handle(SALOME_InteractiveObject) GEOM_AISShape::getIO(){
-  return myIO;
+  Handle(SALOME_InteractiveObject) IO;
+  if ( !GetOwner().IsNull() )
+    IO = Handle(SALOME_InteractiveObject)::DownCast( GetOwner() );
+  return IO;
 }
 
 Standard_Boolean GEOM_AISShape::hasIO(){
-  return !myIO.IsNull();
+  return !getIO().IsNull();
 }
 
 void GEOM_AISShape::setName(const Standard_CString aName)
@@ -140,8 +142,9 @@ void GEOM_AISShape::setName(const Standard_CString aName)
   myName = new char [strlen(aName)+1];
   strcpy( myName, aName);
 
-  if ( hasIO() )
-    myIO->setName(aName);
+  Handle(SALOME_InteractiveObject) IO = getIO();
+  if ( !IO.IsNull() )
+    IO->setName(aName);
 }
 
 Standard_CString GEOM_AISShape::getName(){
index 617c6f9be64599633b18af601926c65ab7fec081..8db765048fc51c53fb8c133f8126035058875260 100644 (file)
@@ -121,7 +121,6 @@ private:
 
  // Fields PRIVATE
  //
-  Handle_SALOME_InteractiveObject myIO;
   Standard_CString myName;
   Quantity_Color myShadingColor;
 };