#include <UnitTetraIntersectionBary.hxx>

Public Member Functions | |
| UnitTetraIntersectionBary (bool isTetraInversed=false) | |
| Creates a ready-to-use tool. | |
| void | init (bool isTetraInversed=false) |
| Initializes fields. | |
| void | addSide (const TransformedTriangle &triangle) |
| Stores a part of triangle common with the unit tetrahedron. | |
| bool | getBary (double *baryCenter) |
| Computes and return coordinates of barycentre. | |
| double | getVolume () const |
| Returns volume of intersection. | |
| virtual | ~UnitTetraIntersectionBary () |
| Destructor clears coordinates of faces. | |
Private Member Functions | |
| int | addSideFaces () |
| Add faces of the intersection polyhedron formed on faces of the unit tetrahedron by sides of already added faces. | |
| void | setTriangleOnSide (int i) |
| set corners of inherited TransformedTriangle as corners of i-th side of the Unit tetra. It is necessary to sort points of faces on sides of the unit tetrahedron using sortIntersectionPolygon(A) | |
| void | clearPolygons (bool andFaces=false) |
| Free memory of polygons. | |
Private Attributes | |
| double | _int_volume |
| volume of intersection | |
| std::list< std::vector< double * > > | _faces |
| faces of intersection polyhedron | |
| std::vector< std::vector < double > > | _polyNormals |
| bool | _isTetraInversed |
| INTERP_KERNEL.UnitTetraIntersectionBary::UnitTetraIntersectionBary | ( | bool | isTetraInversed = false | ) |
Creates a ready-to-use tool.
| INTERP_KERNEL.UnitTetraIntersectionBary::~UnitTetraIntersectionBary | ( | ) | [virtual] |
Destructor clears coordinates of faces.
References INTERP_KERNEL.UnitTetraIntersectionBary.clearPolygons().
| void INTERP_KERNEL.UnitTetraIntersectionBary::init | ( | bool | isTetraInversed = false | ) |
| void INTERP_KERNEL.UnitTetraIntersectionBary::addSide | ( | const TransformedTriangle & | triangle | ) |
Stores a part of triangle common with the unit tetrahedron.
| triangle | - triangle side of other cell, whose calculateIntersectionVolume() must have already been called |
| triangle | - triangle side of other cell |
References INTERP_KERNEL.TransformedTriangle._barycenterA, INTERP_KERNEL.UnitTetraIntersectionBary._faces, INTERP_KERNEL.UnitTetraIntersectionBary._int_volume, INTERP_KERNEL.UnitTetraIntersectionBary._isTetraInversed, INTERP_KERNEL.TransformedTriangle._polygonA, INTERP_KERNEL.TransformedTriangle._polygonB, INTERP_KERNEL.UnitTetraIntersectionBary._polyNormals, INTERP_KERNEL._Z, INTERP_KERNEL.TransformedTriangle.A, INTERP_KERNEL.TransformedTriangle.calculateIntersectionPolygons(), INTERP_KERNEL.TransformedTriangle.calculatePolygonBarycenter(), INTERP_KERNEL.UnitTetraIntersectionBary.clearPolygons(), INTERP_KERNEL.copyVector3(), INTERP_KERNEL.crossprod< 3 >(), INTERP_KERNEL.epsilonEqual(), INTERP_KERNEL.TransformedTriangle.getCorner(), INTERP_KERNEL.TransformedTriangle.getPolygonA(), INTERP_KERNEL.TransformedTriangle.getVolume(), INTERP_KERNEL.TransformedTriangle.P, testGaussLocalization.p1, testGaussLocalization.p2, INTERP_KERNEL.TransformedTriangle.Q, INTERP_KERNEL.TransformedTriangle.R, reverse(), INTERP_KERNEL.samePoint(), and INTERP_KERNEL.TransformedTriangle.sortIntersectionPolygon().
| bool INTERP_KERNEL.UnitTetraIntersectionBary::getBary | ( | double * | baryCenter | ) |
Computes and return coordinates of barycentre.
Computes and returns coordinates of barycentre.
References INTERP_KERNEL.UnitTetraIntersectionBary._faces, INTERP_KERNEL.UnitTetraIntersectionBary._int_volume, INTERP_KERNEL.UnitTetraIntersectionBary.addSideFaces(), INTERP_KERNEL.calculateVolumeForTetra(), MEDCouplingCorbaSwigTestClt.f, NB_TETRA_SIDES, INTERP_KERNEL.TransformedTriangle.P, testGaussLocalization.p1, testGaussLocalization.p2, and INTERP_KERNEL.samePoint().
| double INTERP_KERNEL.UnitTetraIntersectionBary.getVolume | ( | ) | const |
Returns volume of intersection.
| double | - |
Reimplemented from INTERP_KERNEL.TransformedTriangle.
References INTERP_KERNEL.UnitTetraIntersectionBary._int_volume.
| int INTERP_KERNEL.UnitTetraIntersectionBary::addSideFaces | ( | ) | [private] |
Add faces of the intersection polyhedron formed on faces of the unit tetrahedron by sides of already added faces.
| int | - number of faces of intersection polyhedron |
References INTERP_KERNEL.TransformedTriangle._barycenterA, INTERP_KERNEL.UnitTetraIntersectionBary._faces, INTERP_KERNEL.TransformedTriangle._polygonA, INTERP_KERNEL.UnitTetraIntersectionBary._polyNormals, INTERP_KERNEL._X, INTERP_KERNEL._Y, INTERP_KERNEL._Z, INTERP_KERNEL.TransformedTriangle.A, INTERP_KERNEL.TransformedTriangle.calculatePolygonBarycenter(), INTERP_KERNEL.UnitTetraIntersectionBary.clearPolygons(), INTERP_KERNEL.copyVector3(), INTERP_KERNEL.DEFAULT_ABS_TOL, INTERP_KERNEL.dot(), INTERP_KERNEL.epsilonEqual(), MEDCouplingCorbaSwigTestClt.f, NB_TETRA_NODES, NB_TETRA_SIDES, testGaussLocalization.p1, testGaussLocalization.p2, INTERP_KERNEL.samePoint(), INTERP_KERNEL.UnitTetraIntersectionBary.setTriangleOnSide(), test_NonCoincidentDEC.size, INTERP_KERNEL.TransformedTriangle.sortIntersectionPolygon(), and INTERP_KERNEL.TransformedTriangle.XYZ.
| void INTERP_KERNEL.UnitTetraIntersectionBary::setTriangleOnSide | ( | int | i | ) | [private] |
set corners of inherited TransformedTriangle as corners of i-th side of the Unit tetra. It is necessary to sort points of faces on sides of the unit tetrahedron using sortIntersectionPolygon(A)
References INTERP_KERNEL.TransformedTriangle._coords.
| void INTERP_KERNEL.UnitTetraIntersectionBary::clearPolygons | ( | bool | andFaces = false | ) | [private] |
Free memory of polygons.
References INTERP_KERNEL.UnitTetraIntersectionBary._faces, INTERP_KERNEL.TransformedTriangle._polygonA, INTERP_KERNEL.TransformedTriangle._polygonB, MEDCouplingCorbaSwigTestClt.f, and Med_Gen_test.it.
volume of intersection
std::list< std::vector< double* > > INTERP_KERNEL.UnitTetraIntersectionBary._faces [private] |
faces of intersection polyhedron
std::vector< std::vector< double > > INTERP_KERNEL.UnitTetraIntersectionBary._polyNormals [private] |
bool INTERP_KERNEL.UnitTetraIntersectionBary._isTetraInversed [private] |