-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// File : SMESH_Filter_i.hxx
// Author : Alexey Petrov, OCC
// Module : SMESH
-//
+
#ifndef _SMESH_FILTER_I_HXX_
#define _SMESH_FILTER_I_HXX_
public virtual SALOME::GenericObj_i
{
public:
- void SetMesh( SMESH_Mesh_ptr theMesh );
- Controls::FunctorPtr GetFunctor(){ return myFunctorPtr;}
+ virtual void SetMesh( SMESH_Mesh_ptr theMesh );
+ Controls::FunctorPtr GetFunctor() { return myFunctorPtr; }
ElementType GetElementType();
-
+
protected:
Functor_i();
~Functor_i();
{
public:
CORBA::Double GetValue( CORBA::Long theElementId );
- SMESH::Histogram* GetHistogram(CORBA::Short nbIntervals);
+ SMESH::Histogram* GetHistogram(CORBA::Short nbIntervals,
+ CORBA::Boolean isLogarithmic);
+ SMESH::Histogram* GetLocalHistogram(CORBA::Short nbIntervals,
+ CORBA::Boolean isLogarithmic,
+ SMESH::SMESH_IDSource_ptr object);
void SetPrecision( CORBA::Long thePrecision );
CORBA::Long GetPrecision();
Controls::NumericalFunctorPtr GetNumericalFunctor();
Controls::Length2DPtr myLength2DPtr;
};
-
/*
Class : MultiConnection_i
Description : Functor for calculating number of faces conneted to the edge
{
public:
CORBA::Boolean IsSatisfy( CORBA::Long theElementId );
+ CORBA::Long NbSatisfying( SMESH::SMESH_IDSource_ptr obj );
Controls::PredicatePtr GetPredicate();
protected:
OverConstrainedFace_i();
FunctorType GetFunctorType();
};
-
+
/*
Class : BelongToGeom_i
Description : Predicate for selection on geometrical support
private:
Controls::ElemGeomTypePtr myElemGeomTypePtr;
};
+
+ /*
+ Class : ElemEntityType_i
+ Description : Functor for check element entity type
+ */
+ class SMESH_I_EXPORT ElemEntityType_i: public virtual POA_SMESH::ElemEntityType,
+ public virtual Predicate_i
+ {
+ public:
+ ElemEntityType_i();
+ FunctorType GetFunctorType();
+
+ void SetElementType ( ElementType theType );
+ void SetEntityType( EntityType theEntityType );
+ EntityType GetEntityType() const;
+
+ private:
+ Controls::ElemEntityTypePtr myElemEntityTypePtr;
+ };
/*
Class : CoplanarFaces_i
private:
Controls::CoplanarFacesPtr myCoplanarFacesPtr;
};
+
+ /*
+ * Class : ConnectedElements_i
+ * Description : Returns true if an element is connected via other elements to the element
+ * located at a given point.
+ */
+ class SMESH_I_EXPORT ConnectedElements_i: public virtual POA_SMESH::ConnectedElements,
+ public virtual Predicate_i
+ {
+ public:
+ ConnectedElements_i();
+ FunctorType GetFunctorType();
+
+ void SetElementType( ElementType theType );
+ void SetPoint( CORBA::Double x, CORBA::Double y, CORBA::Double z );
+ void SetVertex( GEOM::GEOM_Object_ptr vertex )
+ throw (SALOME::SALOME_Exception);
+ void SetNode ( CORBA::Long nodeID )
+ throw (SALOME::SALOME_Exception);
+ void SetThreshold ( const char* threshold,
+ SMESH::ConnectedElements::ThresholdType type )
+ throw (SALOME::SALOME_Exception);
+ char* GetThreshold ( SMESH::ConnectedElements::ThresholdType& type );
+
+ private:
+ Controls::ConnectedElementsPtr myConnectedElementsPtr;
+ std::string myVertexID;
+ };
/*
Class : Comparator_i
// =========================
virtual SMESH::long_array* GetIDs();
virtual SMESH::long_array* GetMeshInfo();
+ virtual SMESH::long_array* GetNbElementsByType();
virtual SMESH::array_of_ElementType* GetTypes();
virtual SMESH::SMESH_Mesh_ptr GetMesh();
virtual bool IsMeshInfoCorrect() { return true; }
LinearOrQuadratic_ptr CreateLinearOrQuadratic();
GroupColor_ptr CreateGroupColor();
ElemGeomType_ptr CreateElemGeomType();
+ ElemEntityType_ptr CreateElemEntityType();
CoplanarFaces_ptr CreateCoplanarFaces();
+ ConnectedElements_ptr CreateConnectedElements();
LessThan_ptr CreateLessThan();
MoreThan_ptr CreateMoreThan();