// 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_
const_reference operator[](size_type n) const;
};
+ /*
+ Class : Functor
+ Description : Root of all Functors
+ */
class Functor
{
public:
virtual SMDSAbs_ElementType GetType() const = 0;
};
+ /*
+ Class : NumericalFunctor
+ Description : Root of all Functors returning numeric value
+ */
class NumericalFunctor: public virtual Functor{
public:
NumericalFunctor();
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