X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FControls%2FSMESH_ControlsDef.hxx;h=d41d9531c26b1ca0ba6ae58667aec40cfcc86550;hp=d6456eab461ebd6ef8186ee9753b45a55150c5e5;hb=HEAD;hpb=3b570ddfbea2964cea7fe285a5722c45bf0675ee diff --git a/src/Controls/SMESH_ControlsDef.hxx b/src/Controls/SMESH_ControlsDef.hxx index d6456eab4..456f4b30a 100644 --- a/src/Controls/SMESH_ControlsDef.hxx +++ b/src/Controls/SMESH_ControlsDef.hxx @@ -246,9 +246,35 @@ namespace SMESH{ virtual SMDSAbs_ElementType GetType() const; virtual bool IsApplicable( const SMDS_MeshElement* element ) const; - private: + protected: double ComputeA( const gp_XYZ&, const gp_XYZ&, const gp_XYZ&, const gp_XYZ& ) const; + double ComputeValue( const TSequenceOfXYZ& thePoints ) const; + }; + + /* + Class : Warping3D + Description : Functor for calculating warping + */ + class SMESHCONTROLS_EXPORT Warping3D: public virtual Warping { + public: + virtual bool IsApplicable(const SMDS_MeshElement* element) const; + virtual double GetValue(const TSequenceOfXYZ& thePoints); + virtual double GetValue(long theId); + virtual SMDSAbs_ElementType GetType() const; + + struct Value { + double myWarp; + std::vector myPntIds; + bool operator<(const Value& x) const; + }; + + typedef std::vector WValues; + void GetValues(WValues& theValues); + + private: + void ProcessVolumeELement(WValues& theValues); }; + typedef boost::shared_ptr Warping3DPtr; /*