Salome HOME
IMP 10199 (add Volume Control). Add Volume NumericalFunctor.
[modules/smesh.git] / src / Controls / SMESH_ControlsDef.hxx
index 02336ebbcec1e286f6842afd7939f56eb54bc513..576b1e8e011b9cec6f90c939fc040d6db3f9a9ae 100644 (file)
@@ -93,6 +93,10 @@ namespace SMESH{
       const_reference operator[](size_type n) const;
     };
 
       const_reference operator[](size_type n) const;
     };
 
+    /*
+      Class       : Functor
+      Description : Root of all Functors
+    */
     class Functor
     {
     public:
     class Functor
     {
     public:
@@ -101,6 +105,10 @@ namespace SMESH{
       virtual SMDSAbs_ElementType GetType() const = 0;
     };
 
       virtual SMDSAbs_ElementType GetType() const = 0;
     };
 
+    /*
+      Class       : NumericalFunctor
+      Description : Root of all Functors returning numeric value
+    */
     class NumericalFunctor: public virtual Functor{
     public:
       NumericalFunctor();
     class NumericalFunctor: public virtual Functor{
     public:
       NumericalFunctor();
@@ -122,6 +130,19 @@ namespace SMESH{
     };
   
   
     };
   
   
+    /*
+      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
     /*
       Class       : SMESH_MinimumAngle
       Description : Functor for calculation of minimum angle