Salome HOME
Update mail address
[modules/smesh.git] / src / Controls / SMESH_ControlsDef.hxx
index 02336ebbcec1e286f6842afd7939f56eb54bc513..32cd281f560ac879d4ed2873f0cebad57ef0d7dc 100644 (file)
@@ -15,7 +15,7 @@
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 
 #ifndef _SMESH_CONTROLSDEF_HXX_
 #define _SMESH_CONTROLSDEF_HXX_
@@ -93,6 +93,10 @@ namespace SMESH{
       const_reference operator[](size_type n) const;
     };
 
+    /*
+      Class       : Functor
+      Description : Root of all Functors
+    */
     class Functor
     {
     public:
@@ -101,6 +105,10 @@ namespace SMESH{
       virtual SMDSAbs_ElementType GetType() const = 0;
     };
 
+    /*
+      Class       : NumericalFunctor
+      Description : Root of all Functors returning numeric value
+    */
     class NumericalFunctor: public virtual Functor{
     public:
       NumericalFunctor();
@@ -118,10 +126,24 @@ namespace SMESH{
                            TSequenceOfXYZ& theRes);
     protected:
       const SMDS_Mesh* myMesh;
+      const SMDS_MeshElement* myCurrElement;
       long       myPrecision;
     };
   
   
+    /*
+      Class       : Volume
+      Description : Functor calculating volume of 3D mesh element
+    */
+    class Volume: public virtual NumericalFunctor{
+    public:
+      virtual double GetValue( long theElementId );
+      //virtual double GetValue( const TSequenceOfXYZ& thePoints );
+      virtual double GetBadRate( double Value, int nbNodes ) const;
+      virtual SMDSAbs_ElementType GetType() const;
+    };
+  
+  
     /*
       Class       : SMESH_MinimumAngle
       Description : Functor for calculation of minimum angle