X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FINTERP_KERNEL%2FInterpolationOptions.hxx;h=4187a69d5c7e671642cf6f39aa4cd0ac4cc1b56c;hb=d426837c21eca9b56b9b8a7a7434aaf3969c8977;hp=a37fbf6ddce630cdc80227018f7dfb6859324903;hpb=7895e356ec72f6667cbe4423e580e5a0839916d7;p=tools%2Fmedcoupling.git diff --git a/src/INTERP_KERNEL/InterpolationOptions.hxx b/src/INTERP_KERNEL/InterpolationOptions.hxx index a37fbf6dd..4187a69d5 100644 --- a/src/INTERP_KERNEL/InterpolationOptions.hxx +++ b/src/INTERP_KERNEL/InterpolationOptions.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -28,11 +28,11 @@ namespace INTERP_KERNEL { - typedef enum { Triangulation, Convex, Geometric2D, PointLocator, Barycentric, BarycentricGeo2D } IntersectionType; + typedef enum { Triangulation, Convex, Geometric2D, PointLocator, Barycentric, BarycentricGeo2D, MappedBarycentric } IntersectionType; /*! - * \class InterpolationOptions - * Class defining the options for all interpolation algorithms. + * Class defining the options for all interpolation algorithms used in the \ref remapper "remapper" and + * in some of the \ref para-dec "DECs". * * List of options, possible values and default values can be found on this page: * \ref InterpKerIntersectors @@ -50,6 +50,7 @@ namespace INTERP_KERNEL //! this measure is absolute \b not relative to the cell size double _bounding_box_adjustment_abs ; double _max_distance_for_3Dsurf_intersect; + double _min_dot_btw_3Dsurf_intersect; int _orientation ; bool _measure_abs; SplittingPolicy _splitting_policy ; @@ -65,6 +66,9 @@ namespace INTERP_KERNEL double getPrecision() const { return _precision; } void setPrecision(double p) { _precision=p; } + double getArcDetectionPrecision() const; + void setArcDetectionPrecision(double p); + double getMedianPlane() const { return _median_plane; } void setMedianPlane(double mp) { _median_plane=mp; } @@ -80,6 +84,9 @@ namespace INTERP_KERNEL double getMaxDistance3DSurfIntersect() const { return _max_distance_for_3Dsurf_intersect; } void setMaxDistance3DSurfIntersect(double bba) { _max_distance_for_3Dsurf_intersect=bba; } + double getMinDotBtwPlane3DSurfIntersect() const { return _min_dot_btw_3Dsurf_intersect; } + void setMinDotBtwPlane3DSurfIntersect(double v) { _min_dot_btw_3Dsurf_intersect=v; } + int getOrientation() const { return _orientation; } void setOrientation(int o) { _orientation=o; } @@ -111,17 +118,20 @@ namespace INTERP_KERNEL bool setOptionString(const std::string& key, const std::string& value); std::string printOptions() const; public: - static void CheckAndSplitInterpolationMethod(const char *method, std::string& srcMeth, std::string& trgMeth); + static void CheckAndSplitInterpolationMethod(const std::string& method, std::string& srcMeth, std::string& trgMeth); private: static const double DFT_MEDIAN_PLANE; static const double DFT_SURF3D_ADJ_EPS; static const double DFT_MAX_DIST_3DSURF_INTERSECT; + static const double DFT_MIN_DOT_BTW_3DSURF_INTERSECT; public: static const char PRECISION_STR[]; + static const char ARC_DETECTION_PRECISION_STR[]; static const char MEDIANE_PLANE_STR[]; static const char BOUNDING_BOX_ADJ_STR[]; static const char BOUNDING_BOX_ADJ_ABS_STR[]; static const char MAX_DISTANCE_3DSURF_INSECT_STR[]; + static const char MIN_DOT_BTW_3DSURF_INSECT_STR[]; static const char PRINT_LEV_STR[]; static const char DO_ROTATE_STR[]; static const char ORIENTATION_STR[];