00001 // Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE 00002 // 00003 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, 00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 00005 // 00006 // This library is free software; you can redistribute it and/or 00007 // modify it under the terms of the GNU Lesser General Public 00008 // License as published by the Free Software Foundation; either 00009 // version 2.1 of the License. 00010 // 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 // Lesser General Public License for more details. 00015 // 00016 // You should have received a copy of the GNU Lesser General Public 00017 // License along with this library; if not, write to the Free Software 00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 // 00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com 00021 // 00022 00023 // SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses 00024 // File : StdMeshers_StartEndLength_i.hxx 00025 // Moved here from SMESH_LocalLength_i.hxx 00026 // Author : Paul RASCLE, EDF 00027 // Module : SMESH 00028 // 00029 #ifndef _SMESH_StartEndLength_I_HXX_ 00030 #define _SMESH_StartEndLength_I_HXX_ 00031 00032 #include "SMESH_StdMeshers_I.hxx" 00033 00034 #include <SALOMEconfig.h> 00035 #include CORBA_SERVER_HEADER(SMESH_BasicHypothesis) 00036 00037 #include "SMESH_Hypothesis_i.hxx" 00038 #include "StdMeshers_StartEndLength.hxx" 00039 00040 class SMESH_Gen; 00041 00042 // ====================================================== 00043 // Local Length hypothesis 00044 // ====================================================== 00045 class STDMESHERS_I_EXPORT StdMeshers_StartEndLength_i: 00046 public virtual POA_StdMeshers::StdMeshers_StartEndLength, 00047 public virtual SMESH_Hypothesis_i 00048 { 00049 public: 00050 // Constructor 00051 StdMeshers_StartEndLength_i(PortableServer::POA_ptr thePOA, 00052 int theStudyId, 00053 ::SMESH_Gen* theGenImpl ); 00054 // Destructor 00055 virtual ~StdMeshers_StartEndLength_i(); 00056 00057 // Set length 00058 // * OBSOLETE *. Avoid such a way of interface design 00059 void SetLength( CORBA::Double theLength, CORBA::Boolean theIsStart ) 00060 throw ( SALOME::SALOME_Exception ); 00061 00062 // Sets <start segment length> parameter value 00063 void SetStartLength( CORBA::Double length) throw (SALOME::SALOME_Exception); 00064 00065 // Sets <end segment length> parameter value 00066 void SetEndLength( CORBA::Double length) throw (SALOME::SALOME_Exception); 00067 00068 // Get length 00069 CORBA::Double GetLength(CORBA::Boolean theIsStart); 00070 00071 // Get implementation 00072 ::StdMeshers_StartEndLength* GetImpl(); 00073 00074 // Verify whether hypothesis supports given entity type 00075 CORBA::Boolean IsDimSupported( SMESH::Dimension type ); 00076 00077 //Set Reversed Edges 00078 void SetReversedEdges( const SMESH::long_array& theIDs); 00079 00080 //Get Reversed Edges 00081 SMESH::long_array* GetReversedEdges(); 00082 00083 //Set Object Entry 00084 void SetObjectEntry( const char* entry); 00085 00086 //Get Object Entry 00087 char* GetObjectEntry(); 00088 }; 00089 00090 #endif 00091