Salome HOME
projects
/
tools
/
medcoupling.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
typo-fix by Kunda
[tools/medcoupling.git]
/
src
/
INTERP_KERNEL
/
Geometric2D
/
InterpKernelGeo2DEdge.hxx
diff --git
a/src/INTERP_KERNEL/Geometric2D/InterpKernelGeo2DEdge.hxx
b/src/INTERP_KERNEL/Geometric2D/InterpKernelGeo2DEdge.hxx
index dd67a8000c3c1ae7786a66d4a7a3a02d69d08bca..43eed2a8727c519d5f58b26da8a5beebb160cef4 100644
(file)
--- a/
src/INTERP_KERNEL/Geometric2D/InterpKernelGeo2DEdge.hxx
+++ b/
src/INTERP_KERNEL/Geometric2D/InterpKernelGeo2DEdge.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
4
CEA/DEN, EDF R&D
+// Copyright (C) 2007-201
6
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
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-34,34
+34,34
@@
namespace INTERP_KERNEL
{
typedef enum
namespace INTERP_KERNEL
{
typedef enum
-
{
-
SEG = 1,
-
ARC_CIRCLE = 4,
-
ARC_PARABOL = 8
-
} TypeOfFunction;
+ {
+ SEG = 1,
+ ARC_CIRCLE = 4,
+ ARC_PARABOL = 8
+ } TypeOfFunction;
typedef enum
typedef enum
-
{
-
CIRCLE = 0 ,
-
PARABOL = 1
-
} TypeOfMod4QuadEdge;
+ {
+ CIRCLE = 0 ,
+ PARABOL = 1
+ } TypeOfMod4QuadEdge;
typedef enum
typedef enum
-
{
-
START = 5,
-
END = 1,
-
INSIDE = 2,
-
OUT_BEFORE = 3,
-
OUT_AFTER = 4
-
} TypeOfLocInEdge; //see Edge::OFFSET_FOR_TYPEOFLOCINEDGE
-
+ {
+ START = 5,
+ END = 1,
+ INSIDE = 2,
+ OUT_BEFORE = 3,
+ OUT_AFTER = 4
+ } TypeOfLocInEdge; //see Edge::OFFSET_FOR_TYPEOFLOCINEDGE
+
typedef enum
typedef enum
-
{
-
FULL_IN_1 = 1,
-
FULL_ON_1 = 4,
-
FULL_OUT_1 = 2,
-
FULL_UNKNOWN = 3
-
} TypeOfEdgeLocInPolygon;
+ {
+ FULL_IN_1 = 1,
+ FULL_ON_1 = 4,
+ FULL_OUT_1 = 2,
+ FULL_UNKNOWN = 3
+ } TypeOfEdgeLocInPolygon;
class INTERPKERNEL_EXPORT MergePoints
{
class INTERPKERNEL_EXPORT MergePoints
{
@@
-82,6
+82,9
@@
namespace INTERP_KERNEL
bool isEnd2(unsigned rk) const;
void clear();
unsigned getNumberOfAssociations() const;
bool isEnd2(unsigned rk) const;
void clear();
unsigned getNumberOfAssociations() const;
+ void updateMergedNodes(int e1Start, int e1End, int e2Start, int e2End, std::map<int,int>& mergedNodes);
+ private:
+ static void PushInMap(int key, int value, std::map<int,int>& mergedNodes);
private:
unsigned _ass1Start1 : 1;
unsigned _ass1End1 : 1;
private:
unsigned _ass1Start1 : 1;
unsigned _ass1End1 : 1;
@@
-143,11
+146,12
@@
namespace INTERP_KERNEL
class INTERPKERNEL_EXPORT EdgeIntersector
{
protected:
class INTERPKERNEL_EXPORT EdgeIntersector
{
protected:
- //! All non symetric methods are relative to 'e1'.
+ //! All non sym
m
etric methods are relative to 'e1'.
EdgeIntersector(const Edge& e1, const Edge& e2):_e1(e1),_e2(e2) { }
public:
virtual ~EdgeIntersector() { }
virtual bool keepOrder() const = 0;
EdgeIntersector(const Edge& e1, const Edge& e2):_e1(e1),_e2(e2) { }
public:
virtual ~EdgeIntersector() { }
virtual bool keepOrder() const = 0;
+ virtual bool areColinears() const = 0;
//!to call only if 'areOverlapped' have been set to true when areOverlappedOrOnlyColinears was called
virtual bool haveTheySameDirection() const = 0;
//!to call only if 'areOverlapped' have been set to true when areOverlappedOrOnlyColinears was called
//!to call only if 'areOverlapped' have been set to true when areOverlappedOrOnlyColinears was called
virtual bool haveTheySameDirection() const = 0;
//!to call only if 'areOverlapped' have been set to true when areOverlappedOrOnlyColinears was called
@@
-244,7
+248,10
@@
namespace INTERP_KERNEL
virtual double getCurveLength() const = 0;
virtual void getBarycenter(double *bary) const = 0;
virtual void getBarycenterOfZone(double *bary) const = 0;
virtual double getCurveLength() const = 0;
virtual void getBarycenter(double *bary) const = 0;
virtual void getBarycenterOfZone(double *bary) const = 0;
+ //! return the middle of two points
virtual void getMiddleOfPoints(const double *p1, const double *p2, double *mid) const = 0;
virtual void getMiddleOfPoints(const double *p1, const double *p2, double *mid) const = 0;
+ //! return the middle of two points respecting the orientation defined by this (relevant for arc of circle). By default same as getMiddleOfPoints()
+ virtual void getMiddleOfPointsOriented(const double *p1, const double *p2, double *mid) const;
//! Retrieves a point that is owning to this, well placed for IN/OUT detection of this. Typically midlle of this is returned.
virtual Node *buildRepresentantOfMySelf() const = 0;
//! Given a magnitude specified by sub-type returns if in or not. See getCharactValue method.
//! Retrieves a point that is owning to this, well placed for IN/OUT detection of this. Typically midlle of this is returned.
virtual Node *buildRepresentantOfMySelf() const = 0;
//! Given a magnitude specified by sub-type returns if in or not. See getCharactValue method.