-// Copyright (C) 2007-2014 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
void createBoundingBoxes(const MyMeshType& mesh, std::vector<double>& bbox);
void adjustBoundingBoxes(std::vector<double>& bbox, double adjustmentEpsAbs);
static void getElemBB(double* bb, const MyMeshType& mesh, ConnType iP, ConnType nb_nodes);
-
+ static bool ComputeBaryCoordsOf(double startOfSeg, double endOfSeg, double pt, double& startPos, double& endPos);
protected :
- bool getRealTargetCoordinates(ConnType icellT, std::vector<double>& coordsT);
- bool getRealSourceCoordinates(ConnType icellS, std::vector<double>& coordsS);
- double intersectSegments(double *Coords_T, double *Coords_S);
-
+ bool projectionThis(const double *coordsT, const double *coordsS, double& xs0, double& xs1, double& xt0, double& xt1) const;
+ bool getRealTargetCoordinates(ConnType icellT, std::vector<double>& coordsT) const;
+ typename MyMeshType::MyConnType getNodeIdOfTargetCellAt(ConnType icellT, ConnType nodeIdInCellT) const;
+ bool getRealSourceCoordinates(ConnType icellS, std::vector<double>& coordsS) const;
+ typename MyMeshType::MyConnType getNodeIdOfSourceCellAt(ConnType icellT, ConnType nodeIdInCellT) const;
+ double intersectSegments(const double *coordsT, const double *coordsS) const;
+ double intersectSegmentsInternal(const double *coordsT, const double *coordsS, double& xs0, double& xs1, double& xt0, double& xt1) const;
+
struct TDualSegment
{
std::vector<double> _coords;