src/GEOM_I/GEOM_Object_i.hh

Go to the documentation of this file.
00001 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00002 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00003 // 
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public
00006 // License as published by the Free Software Foundation; either 
00007 // version 2.1 of the License.
00008 // 
00009 // This library is distributed in the hope that it will be useful 
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
00012 // Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public  
00015 // License along with this library; if not, write to the Free Software 
00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00017 //
00018 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00019 //
00020 
00021 #ifndef _GEOM_Object_i_HeaderFile
00022 #define _GEOM_Object_i_HeaderFile
00023 
00024 
00025 #include <SALOMEconfig.h>
00026 #include CORBA_CLIENT_HEADER(SALOMEDS)
00027 #include CORBA_SERVER_HEADER(GEOM_Gen)
00028 
00029 #include "SALOME_GenericObj_i.hh"
00030 
00031 #include "GEOM_Object.hxx"
00032 
00033 #include <TopoDS_Shape.hxx>
00034 
00035 class GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual SALOME::GenericObj_i
00036 {
00037  public:
00038    GEOM_Object_i(PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine, Handle(GEOM_Object) theImpl);
00039    ~GEOM_Object_i();
00040 
00041   virtual char* GetEntry();
00042 
00043   virtual CORBA::Long GetStudyID();
00044 
00045   virtual CORBA::Long GetType();
00046 
00047   virtual GEOM::shape_type GetShapeType();
00048 
00049   virtual void SetName(const char* theName);
00050 
00051   virtual char* GetName();
00052 
00053   virtual void SetStudyEntry(const char* theEntry);
00054 
00055   virtual char* GetStudyEntry();
00056 
00057   virtual GEOM::ListOfGO* GetDependency();
00058 
00059   virtual GEOM::ListOfGO* GetLastDependency();
00060 
00061   virtual SALOMEDS::TMPFile* GetShapeStream();
00062 
00063   virtual CORBA::Long getShape();
00064 
00065   virtual bool IsMainShape() { return _impl->IsMainShape(); }
00066 
00067   virtual GEOM::ListOfLong* GetSubShapeIndices();
00068 
00069   virtual GEOM::GEOM_Object_ptr GetMainShape();
00070 
00071   virtual bool IsShape();
00072 
00073   Handle(GEOM_Object) GetImpl() { return _impl; }
00074 
00075  private:
00076 
00077   GEOM::GEOM_Gen_ptr _engine;
00078   Handle(GEOM_Object) _impl;
00079   TopoDS_Shape _geom;
00080 };
00081 
00082 #endif