+
+ /*
+ FILTER LIBRARY
+ */
+ class FilterLibrary_i: public virtual POA_SMESH::FilterLibrary,
+ public virtual SALOME::GenericObj_i
+ {
+ public:
+ FilterLibrary_i( const char* theFileName );
+ FilterLibrary_i();
+ ~FilterLibrary_i();
+
+ Filter_ptr Copy( const char* theFilterName );
+
+ CORBA::Boolean Add ( const char* theFilterName, Filter_ptr theFilter );
+ CORBA::Boolean AddEmpty( const char* theFilterName, ElementType theType );
+ CORBA::Boolean Delete ( const char* theFilterName );
+ CORBA::Boolean Replace ( const char* theFilterName,
+ const char* theNewName,
+ Filter_ptr theFilter );
+
+ CORBA::Boolean Save();
+ CORBA::Boolean SaveAs( const char* aFileName );
+
+ CORBA::Boolean IsPresent( const char* aFilterName );
+ CORBA::Long NbFilters( ElementType );
+ string_array* GetNames( ElementType );
+ string_array* GetAllNames();
+ void SetFileName( const char* theFileName );
+ char* GetFileName();
+
+ private:
+ char* myFileName;
+ LDOM_Document myDoc;
+ FilterManager_var myFilterMgr;
+ };
+
+
+ /*
+ FILTER MANAGER
+ */
+
+ class FilterManager_i: public virtual POA_SMESH::FilterManager,
+ public virtual SALOME::GenericObj_i
+ {
+ public:
+ FilterManager_i();
+ ~FilterManager_i();
+
+ MinimumAngle_ptr CreateMinimumAngle();
+ AspectRatio_ptr CreateAspectRatio();
+ AspectRatio3D_ptr CreateAspectRatio3D();
+ Warping_ptr CreateWarping();
+ Taper_ptr CreateTaper();
+ Skew_ptr CreateSkew();
+ Area_ptr CreateArea();
+ Volume3D_ptr CreateVolume3D();
+ Length_ptr CreateLength();
+ Length2D_ptr CreateLength2D();
+ MultiConnection_ptr CreateMultiConnection();
+ MultiConnection2D_ptr CreateMultiConnection2D();
+
+ BelongToGeom_ptr CreateBelongToGeom();
+ BelongToPlane_ptr CreateBelongToPlane();
+ BelongToCylinder_ptr CreateBelongToCylinder();
+ BelongToGenSurface_ptr CreateBelongToGenSurface();
+
+ LyingOnGeom_ptr CreateLyingOnGeom();
+
+ FreeBorders_ptr CreateFreeBorders();
+ FreeEdges_ptr CreateFreeEdges();
+
+ RangeOfIds_ptr CreateRangeOfIds();
+
+ BadOrientedVolume_ptr CreateBadOrientedVolume();
+
+ LessThan_ptr CreateLessThan();
+ MoreThan_ptr CreateMoreThan();
+ EqualTo_ptr CreateEqualTo();
+
+ LogicalNOT_ptr CreateLogicalNOT();
+ LogicalAND_ptr CreateLogicalAND();
+ LogicalOR_ptr CreateLogicalOR();
+
+ Filter_ptr CreateFilter();
+
+ FilterLibrary_ptr LoadLibrary( const char* aFileName );
+ FilterLibrary_ptr CreateLibrary();
+ CORBA::Boolean DeleteLibrary( const char* aFileName );
+ };
+
+
+ Predicate_i*
+ GetPredicate( SMESH::Predicate_ptr thePredicate );
+}