X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FINTERP_KERNEL%2FUnitTetraIntersectionBary.hxx;h=dd070019047e5a50c1b2df62b5cfb45f1647e6e5;hb=d426837c21eca9b56b9b8a7a7434aaf3969c8977;hp=41aa72148ad16d73e51094a468b6ca8907c0aa45;hpb=48782c06022ca2caa36f849cb5a29ea4fe2aaa83;p=tools%2Fmedcoupling.git diff --git a/src/INTERP_KERNEL/UnitTetraIntersectionBary.hxx b/src/INTERP_KERNEL/UnitTetraIntersectionBary.hxx index 41aa72148..dd0700190 100644 --- a/src/INTERP_KERNEL/UnitTetraIntersectionBary.hxx +++ b/src/INTERP_KERNEL/UnitTetraIntersectionBary.hxx @@ -1,24 +1,26 @@ -// Copyright (C) 2007-2008 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. +// 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : UnitTetraIntersectionBary.hxx // Created : Tue Dec 9 16:06:33 2008 // Author : Edward AGAPOV (eap) +// #ifndef __UNITTETRAINTERSECTIONBARY_HXX__ #define __UNITTETRAINTERSECTIONBARY_HXX__ @@ -30,31 +32,31 @@ namespace INTERP_KERNEL { - class INTERPKERNEL_EXPORT UnitTetraIntersectionBary : protected TransformedTriangle + class UnitTetraIntersectionBary : protected TransformedTriangle { public: - UnitTetraIntersectionBary(); + INTERPKERNEL_EXPORT UnitTetraIntersectionBary(bool isTetraInversed=false); - void init(); + INTERPKERNEL_EXPORT void init(bool isTetraInversed=false); /*! * \brief Stores a part of triangle common with the unit tetrahedron * \param triangle - triangle side of other cell, whose calculateIntersectionVolume() * must have already been called */ - void addSide(const TransformedTriangle& triangle); + INTERPKERNEL_EXPORT void addSide(const TransformedTriangle& triangle); /*! * \brief Computes and return coordinates of barycentre */ - bool getBary(double* baryCenter); + INTERPKERNEL_EXPORT bool getBary(double* baryCenter); /*! * \brief Returns volume of intersection * \retval double - */ - inline double getVolume() const { return _int_volume; } + INTERPKERNEL_EXPORT inline double getVolume() const { return _int_volume; } - virtual ~UnitTetraIntersectionBary(); + INTERPKERNEL_EXPORT virtual ~UnitTetraIntersectionBary(); private: @@ -68,7 +70,10 @@ namespace INTERP_KERNEL double _int_volume; /// faces of intersection polyhedron - std::list< std::vector< double* > > _faces; + std::list< std::vector< double* > > _faces; + std::vector< std::vector< double > > _polyNormals; + + bool _isTetraInversed; }; }