Skip to content

Commit a0542e5

Browse files
committedNov 10, 2015
Fix sip bindings for interpolation classes
Also missing members declared in interpolation headers
1 parent bbf58fd commit a0542e5

14 files changed

+105
-70
lines changed
 

‎python/analysis/analysis.sip

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@
1414
%Include vector/qgstransectsample.sip
1515
%Include vector/qgszonalstatistics.sip
1616

17-
// %Include interpolation/Bezier3D.sip
18-
// %Include interpolation/CloughTocherInterpolator.sip
19-
// %Include interpolation/DualEdgeTriangulation.sip
20-
// %Include interpolation/HalfEdge.sip
21-
// %Include interpolation/LinTriangleInterpolator.sip
22-
// %Include interpolation/Line3D.sip
23-
// %Include interpolation/Node.sip
24-
// %Include interpolation/NormVecDecorator.sip
25-
// %Include interpolation/ParametricLine.sip
26-
// %Include interpolation/Point3D.sip
27-
// %Include interpolation/TriangleInterpolator.sip
28-
// %Include interpolation/Triangulation.sip
29-
// %Include interpolation/TriDecorator.sip
30-
// %Include interpolation/Vector3D.sip
17+
%Include interpolation/Bezier3D.sip
18+
%Include interpolation/CloughTocherInterpolator.sip
19+
%Include interpolation/DualEdgeTriangulation.sip
20+
%Include interpolation/HalfEdge.sip
21+
%Include interpolation/LinTriangleInterpolator.sip
22+
%Include interpolation/Line3D.sip
23+
%Include interpolation/Node.sip
24+
%Include interpolation/NormVecDecorator.sip
25+
%Include interpolation/ParametricLine.sip
26+
%Include interpolation/Point3D.sip
27+
%Include interpolation/TriangleInterpolator.sip
28+
%Include interpolation/Triangulation.sip
29+
%Include interpolation/TriDecorator.sip
30+
%Include interpolation/Vector3D.sip
3131

3232
%Include interpolation/qgsgridfilewriter.sip
3333
%Include interpolation/qgsinterpolator.sip

‎python/analysis/interpolation/Bezier3D.sip

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ class Bezier3D : ParametricLine
88
/** Default constructor*/
99
Bezier3D();
1010
/** Constructor, par is a pointer to the parent, controlpoly a controlpolygon*/
11-
//! @note not available in python binding
12-
// Bezier3D( ParametricLine* par, QVector<Point3D*>* controlpoly );
11+
Bezier3D( ParametricLine* par, QVector<Point3D*>* controlpoly );
1312
/** Destructor*/
1413
virtual ~Bezier3D();
1514
/** Do not use this method, since a Bezier curve does not consist of other curves*/
@@ -30,16 +29,14 @@ class Bezier3D : ParametricLine
3029
/** Returns a control point*/
3130
virtual const Point3D* getControlPoint( int number ) const;
3231
/** Returns a pointer to the control polygon*/
33-
//! @note not available in python binding
34-
// virtual const QVector<Point3D*>* getControlPoly() const;
32+
virtual const QVector<Point3D*>* getControlPoly() const;
3533
/** Returns the degree of the curve*/
3634
virtual int getDegree() const;
3735
/** Returns the parent*/
3836
virtual ParametricLine* getParent() const;
3937
/** Sets the parent*/
4038
virtual void setParent( ParametricLine* par );
4139
/** Sets the control polygon*/
42-
//! @note not available in python binding
43-
// virtual void setControlPoly( QVector<Point3D*>* cp );
40+
virtual void setControlPoly( QVector<Point3D*>* cp );
4441

4542
};

‎python/analysis/interpolation/DualEdgeTriangulation.sip

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ class DualEdgeTriangulation: Triangulation
2525
/** Returns the number of the point opposite to the triangle points p1, p2 (which have to be on a halfedge)*/
2626
int getOppositePoint( int p1, int p2 );
2727
/** Finds out, in which triangle the point with coordinates x and y is and assigns the numbers of the vertices to 'n1', 'n2' and 'n3' and the vertices to 'p1', 'p2' and 'p3'*/
28-
//! @note not available in python bindings
29-
// virtual bool getTriangle( double x, double y, Point3D* p1, int* n1, Point3D* p2, int* n2, Point3D* p3, int* n3 );
28+
bool getTriangle( double x, double y, Point3D* p1, int* n1 /Out/, Point3D* p2 /Out/, int* n2 /Out/, Point3D* p3 /Out/, int* n3 /Out/ );
3029
/** Finds out, in which triangle the point with coordinates x and y is and assigns addresses to the points at the vertices to 'p1', 'p2' and 'p3*/
31-
virtual bool getTriangle( double x, double y, Point3D* p1, Point3D* p2, Point3D* p3 );
30+
bool getTriangle( double x, double y, Point3D* p1 /Out/, Point3D* p2 /Out/, Point3D* p3 /Out/ );
3231
/** Returns a pointer to a value list with the information of the triangles surrounding (counterclockwise) a point. Four integer values describe a triangle, the first three are the number of the half edges of the triangle and the fourth is -10, if the third (and most counterclockwise) edge is a breakline, and -20 otherwise. The value list has to be deleted by the code which called the method*/
3332
QList<int>* getSurroundingTriangles( int pointno );
3433
/** Returns the largest x-coordinate value of the bounding box*/
@@ -41,10 +40,6 @@ class DualEdgeTriangulation: Triangulation
4140
virtual double getYMin() const;
4241
/** Returns the number of points*/
4342
virtual int getNumberOfPoints() const;
44-
/** Removes the line with number i from the triangulation*/
45-
void removeLine( int i );
46-
/** Removes the point with the number i from the triangulation*/
47-
void removePoint( int i );
4843
/** Sets the behaviour of the triangulation in case of crossing forced lines*/
4944
virtual void setForcedCrossBehaviour( Triangulation::forcedCrossBehaviour b );
5045
/** Sets the color of the normal edges*/
@@ -81,7 +76,7 @@ class DualEdgeTriangulation: Triangulation
8176
/** Threshold for the leftOfTest to handle numerical instabilities*/
8277
//const static double leftOfTresh=0.00001;
8378
/** Security to prevent endless loops in 'baseEdgeOfTriangle'. It there are more iteration then this number, the point will not be inserted*/
84-
const static int nBaseOfRuns = 300000;
79+
//const static int nBaseOfRuns;
8580
/** Returns the number of an edge which points to the point with number 'point' or -1 if there is an error*/
8681
int baseEdgeOfPoint( int point );
8782
/** Returns the number of a HalfEdge from a triangle in which 'point' is in. If the number -10 is returned, this means, that 'point' is outside the convex hull. If -5 is returned, then numerical problems with the leftOfTest occured (and the value of the possible edge is stored in the variable 'mUnstableEdge'. -20 means, that the inserted point is exactly on an edge (the number is stored in the variable 'mEdgeWithPoint'). -25 means, that the point is already in the triangulation (the number of the point is stored in the member 'mTwiceInsPoint'. If -100 is returned, this means that something else went wrong*/

‎python/analysis/interpolation/NormVecDecorator.sip

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ class NormVecDecorator : TriDecorator
2727
/** Returns a pointer to the normal vector for the point with the number n*/
2828
Vector3D* getNormal( int n ) const;
2929
/** Finds out, in which triangle a point with coordinates x and y is and assigns the triangle points to p1, p2, p3 and the estimated normals to v1, v2, v3. The vectors are normaly taken from 'mNormVec', exept if p1, p2 or p3 is a point on a breakline. In this case, the normal is calculated on-the-fly. Returns false, if something went wrong and true otherwise*/
30-
bool getTriangle( double x, double y, Point3D* p1, Vector3D* v1, Point3D* p2, Vector3D* v2, Point3D* p3, Vector3D* v3 );
31-
/** This function behaves similar to the one above. Additionally, the numbers of the points are returned (ptn1, ptn2, ptn3) as well as the pointStates of the triangle points (state1, state2, state3)*/
32-
//! @note not available in python bindings
33-
// bool getTriangle( double x, double y, Point3D* p1, int* ptn1, Vector3D* v1, pointState* state1, Point3D* p2, int* ptn2, Vector3D* v2, pointState* state2, Point3D* p3, int* ptn3, Vector3D* v3, pointState* state3 );
30+
bool getTriangle( double x, double y, Point3D* p1 /Out/, Vector3D* v1 /Out/, Point3D* p2 /Out/, Vector3D* v2 /Out/, Point3D* p3 /Out/, Vector3D* v3 /Out/ );
31+
/** This function behaves similar to the one above. Additionally, the numbers of the points are returned (ptn1, ptn2, ptn3) as well as the pointStates of the triangle points (state1, state2, state3)
32+
* @note not available in Python bindings
33+
*/
34+
//bool getTriangle( double x, double y, Point3D* p1 /Out/, int* ptn1 /Out/, Vector3D* v1 /Out/, pointState* state1 /Out/, Point3D* p2 /Out/, int* ptn2 /Out/, Vector3D* v2 /Out/, pointState* state2 /Out/, Point3D* p3 /Out/, int* ptn3 /Out/, Vector3D* v3 /Out/, pointState* state3 /Out/);
3435
/** Returns the state of the point with the number 'pointno'*/
3536
pointState getState( int pointno ) const;
3637
/** Sets an interpolator*/

‎python/analysis/interpolation/ParametricLine.sip

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ class ParametricLine
77
/** Default constructor*/
88
ParametricLine();
99
/** Constructor, par is a pointer to the parent object, controlpoly the controlpolygon
10-
@note not available in python binding */
11-
// ParametricLine( ParametricLine* par /Transfer/, QVector<Point3D*>* controlpoly );
10+
*/
11+
ParametricLine( ParametricLine* par /Transfer/, QVector<Point3D*>* controlpoly );
1212
/** Destructor*/
1313
virtual ~ParametricLine();
1414
virtual void add( ParametricLine* pl ) = 0;
@@ -19,13 +19,11 @@ class ParametricLine
1919
virtual void changeDirection() = 0;
2020
//virtual void draw(QPainter* p);
2121
virtual const Point3D* getControlPoint( int number ) const = 0;
22-
//! @note not available in python binding
23-
// virtual const QVector<Point3D*>* getControlPoly() const = 0;
22+
virtual const QVector<Point3D*>* getControlPoly() const = 0;
2423
virtual int getDegree() const = 0;
2524
virtual ParametricLine* getParent() const = 0;
2625
//virtual bool intersects(ParametricLine* pal);
2726
virtual void remove( int i ) = 0;
28-
//! @note not available in python binding
29-
// virtual void setControlPoly( QVector<Point3D*>* cp ) = 0;
27+
virtual void setControlPoly( QVector<Point3D*>* cp ) = 0;
3028
virtual void setParent( ParametricLine* paral ) = 0;
3129
};

‎python/analysis/interpolation/TriDecorator.sip

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
class TriDecorator : Triangulation
33
{
44
%TypeHeaderCode
5-
#include "Triangulation.h"
5+
#include <TriDecorator.h>
66
%End
77

88
public:
99
TriDecorator();
10-
TriDecorator( Triangulation* t );
10+
explicit TriDecorator( Triangulation* t );
1111
virtual ~TriDecorator();
1212
virtual void addLine( Line3D* line, bool breakline );
1313
virtual int addPoint( Point3D* p );
@@ -19,9 +19,8 @@ class TriDecorator : Triangulation
1919
virtual bool calcPoint( double x, double y, Point3D* result );
2020
virtual Point3D* getPoint( unsigned int i ) const;
2121
virtual int getNumberOfPoints() const;
22-
//! @note not available in python bindings
23-
// bool getTriangle( double x, double y, Point3D* p1, int* n1, Point3D* p2, int* n2, Point3D* p3, int* n3 );
24-
bool getTriangle( double x, double y, Point3D* p1, Point3D* p2, Point3D* p3 );
22+
bool getTriangle( double x, double y, Point3D* p1, int* n1 /Out/, Point3D* p2 /Out/, int* n2 /Out/, Point3D* p3 /Out/, int* n3 /Out/ );
23+
bool getTriangle( double x, double y, Point3D* p1 /Out/, Point3D* p2 /Out/, Point3D* p3 /Out/ );
2524
virtual int getOppositePoint( int p1, int p2 );
2625
virtual QList<int>* getSurroundingTriangles( int pointno );
2726
virtual double getXMax() const;

‎python/analysis/interpolation/Triangulation.sip

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,90 @@ class Triangulation
55
%End
66

77
public:
8-
/** Enumeration describing the behaviour, if two forced lines cross. SnappingType_VERTICE means, that the second inserted forced line is snapped to the closest vertice of the first inserted forced line. DELETE_FIRST means, that the status of the first inserted forced line is reset to that of a normal edge (so that the second inserted forced line remain and the first not*/
9-
enum forcedCrossBehaviour {SnappingType_VERTICE, DELETE_FIRST, INSERT_VERTICE};
8+
9+
10+
//! Enumeration describing the behaviour, if two forced lines cross.
11+
enum forcedCrossBehaviour
12+
{
13+
SnappingType_VERTICE, //!< the second inserted forced line is snapped to the closest vertice of the first inserted forced line.
14+
DELETE_FIRST, //!< the status of the first inserted forced line is reset to that of a normal edge (so that the second inserted forced line remain and the first not)
15+
INSERT_VERTICE
16+
};
17+
1018
virtual ~Triangulation();
11-
/** Adds a line (e.g. a break-, structure- or an isoline) to the triangulation. The class takes ownership of the line object and its points*/
19+
20+
/**
21+
* Adds a line (e.g. a break-, structure- or an isoline) to the triangulation.
22+
* The class takes ownership of the line object and its points
23+
*/
1224
virtual void addLine( Line3D* line /Transfer/, bool breakline ) = 0;
13-
/** Adds a point to the triangulation*/
25+
26+
/**
27+
* Adds a point to the triangulation
28+
* Ownership is transferred to this class
29+
*/
1430
virtual int addPoint( Point3D* p ) = 0;
15-
/** Calculates the normal at a point on the surface and assigns it to 'result'. Returns true in case of success and flase in case of failure*/
31+
32+
/**
33+
* Calculates the normal at a point on the surface and assigns it to 'result'.
34+
* @return true in case of success and false in case of failure
35+
*/
1636
virtual bool calcNormal( double x, double y, Vector3D* result ) = 0;
37+
1738
/** Performs a consistency check, remove this later*/
1839
virtual void performConsistencyTest() = 0;
19-
/** Calculates x-, y and z-value of the point on the surface and assigns it to 'result'. Returns true in case of success and flase in case of failure*/
40+
41+
/**
42+
* Calculates x-, y and z-value of the point on the surface and assigns it to 'result'.
43+
* Returns true in case of success and flase in case of failure
44+
*/
2045
virtual bool calcPoint( double x, double y, Point3D* result ) = 0;
46+
2147
/** Returns a pointer to the point with number i. Any virtual points must have the number -1*/
2248
virtual Point3D* getPoint( unsigned int i ) const = 0;
23-
/** Finds out, in which triangle the point with coordinates x and y is and assigns the numbers of the vertices to 'n1', 'n2' and 'n3' and the vertices to 'p1', 'p2' and 'p3'*/
24-
//! @note not available in python binding
25-
// virtual bool getTriangle( double x, double y, Point3D* p1, int* n1, Point3D* p2, int* n2, Point3D* p3, int* n3 ) = 0;
49+
50+
/** Finds out in which triangle the point with coordinates x and y is and
51+
* assigns the numbers of the vertices to 'n1', 'n2' and 'n3' and the vertices to 'p1', 'p2' and 'p3'
52+
*/
53+
virtual bool getTriangle( double x, double y, Point3D* p1, int* n1 /Out/, Point3D* p2 /Out/, int* n2 /Out/, Point3D* p3 /Out/, int* n3 /Out/ ) = 0;
54+
2655
/** Finds out, in which triangle the point with coordinates x and y is and assigns the points at the vertices to 'p1', 'p2' and 'p3*/
27-
virtual bool getTriangle( double x, double y, Point3D* p1 /Out/, Point3D* p2 /Out/, Point3D* p3 /Out/ ) = 0;
56+
virtual bool getTriangle( double x, double y, Point3D* p1 /Out/, Point3D* p2 /Out/, Point3D* p3 /Out/ ) = 0;
57+
2858
/** Returns the number of the point opposite to the triangle points p1, p2 (which have to be on a halfedge)*/
2959
virtual int getOppositePoint( int p1, int p2 ) = 0;
60+
3061
/** Returns the largest x-coordinate value of the bounding box*/
3162
virtual double getXMax() const = 0;
63+
3264
/** Returns the smallest x-coordinate value of the bounding box*/
3365
virtual double getXMin() const = 0;
66+
3467
/** Returns the largest y-coordinate value of the bounding box*/
3568
virtual double getYMax() const = 0;
69+
3670
/** Returns the smallest x-coordinate value of the bounding box*/
3771
virtual double getYMin() const = 0;
72+
3873
/** Returns the number of points*/
3974
virtual int getNumberOfPoints() const = 0;
40-
/** Returns a pointer to a value list with the information of the triangles surrounding (counterclockwise) a point. Four integer values describe a triangle, the first three are the number of the half edges of the triangle and the fourth is -10, if the third (and most counterclockwise) edge is a breakline, and -20 otherwise. The value list has to be deleted by the code which called the method. Any virtual point needs to have the number -1*/
75+
76+
/**
77+
* Returns a pointer to a value list with the information of the triangles surrounding (counterclockwise) a point.
78+
* Four integer values describe a triangle, the first three are the number of the half edges of the triangle
79+
* and the fourth is -10, if the third (and most counterclockwise) edge is a breakline, and -20 otherwise.
80+
* The value list has to be deleted by the code which called the method.
81+
* Any virtual point needs to have the number -1
82+
*/
4183
virtual QList<int>* getSurroundingTriangles( int pointno ) = 0;
42-
/** Returns a value list with the numbers of the four points, which would be affected by an edge swap. This function is e.g. needed by NormVecDecorator to know the points, for which the normals have to be recalculated. The list has to be deleted by the code which calls this method*/
84+
85+
/** Returns a value list with the numbers of the four points, which would be affected by an edge swap.
86+
* This function is e.g. needed by NormVecDecorator to know the points,
87+
* for which the normals have to be recalculated.
88+
* The list has to be deleted by the code which calls this method
89+
*/
4390
virtual QList<int>* getPointsAroundEdge( double x, double y ) = 0;
91+
4492
/** Draws the points, edges and the forced lines*/
4593
//virtual void draw(QPainter* p, double xlowleft, double ylowleft, double xupright, double yupright, double width, double height) const=0;
4694
/** Sets the behaviour of the triangulation in case of crossing forced lines*/

‎src/analysis/interpolation/Bezier3D.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ class ANALYSIS_EXPORT Bezier3D: public ParametricLine
3131
/** Default constructor*/
3232
Bezier3D();
3333
/** Constructor, par is a pointer to the parent, controlpoly a controlpolygon*/
34-
//! @note not available in python binding
3534
Bezier3D( ParametricLine* par, QVector<Point3D*>* controlpoly );
3635
/** Destructor*/
3736
virtual ~Bezier3D();
@@ -53,7 +52,6 @@ class ANALYSIS_EXPORT Bezier3D: public ParametricLine
5352
/** Returns a control point*/
5453
virtual const Point3D* getControlPoint( int number ) const override;
5554
/** Returns a pointer to the control polygon*/
56-
//! @note not available in python binding
5755
virtual const QVector<Point3D*>* getControlPoly() const override;
5856
/** Returns the degree of the curve*/
5957
virtual int getDegree() const override;
@@ -62,7 +60,6 @@ class ANALYSIS_EXPORT Bezier3D: public ParametricLine
6260
/** Sets the parent*/
6361
virtual void setParent( ParametricLine* par ) override;
6462
/** Sets the control polygon*/
65-
//! @note not available in python binding
6663
virtual void setControlPoly( QVector<Point3D*>* cp ) override;
6764

6865
};

‎src/analysis/interpolation/DualEdgeTriangulation.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,6 @@ class ANALYSIS_EXPORT DualEdgeTriangulation: public Triangulation
7575
virtual double getYMin() const override { return yMin; }
7676
/** Returns the number of points*/
7777
virtual int getNumberOfPoints() const override;
78-
/** Removes the line with number i from the triangulation*/
79-
void removeLine( int i );
80-
/** Removes the point with the number i from the triangulation*/
81-
void removePoint( int i );
8278
/** Sets the behaviour of the triangulation in case of crossing forced lines*/
8379
virtual void setForcedCrossBehaviour( Triangulation::forcedCrossBehaviour b ) override;
8480
/** Sets the color of the normal edges*/

‎src/analysis/interpolation/NormVecDecorator.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@ class ANALYSIS_EXPORT NormVecDecorator: public TriDecorator
5050
Vector3D* getNormal( int n ) const;
5151
/** Finds out, in which triangle a point with coordinates x and y is and assigns the triangle points to p1, p2, p3 and the estimated normals to v1, v2, v3. The vectors are normaly taken from 'mNormVec', exept if p1, p2 or p3 is a point on a breakline. In this case, the normal is calculated on-the-fly. Returns false, if something went wrong and true otherwise*/
5252
bool getTriangle( double x, double y, Point3D* p1, Vector3D* v1, Point3D* p2, Vector3D* v2, Point3D* p3, Vector3D* v3 );
53-
/** This function behaves similar to the one above. Additionally, the numbers of the points are returned (ptn1, ptn2, ptn3) as well as the pointStates of the triangle points (state1, state2, state3)*/
54-
//! @note not available in python bindings
53+
/** This function behaves similar to the one above. Additionally, the numbers of the points are returned (ptn1, ptn2, ptn3) as well as the pointStates of the triangle points (state1, state2, state3)
54+
* @note not available in Python bindings
55+
*/
5556
bool getTriangle( double x, double y, Point3D* p1, int* ptn1, Vector3D* v1, pointState* state1, Point3D* p2, int* ptn2, Vector3D* v2, pointState* state2, Point3D* p3, int* ptn3, Vector3D* v3, pointState* state3 );
5657
/** Returns the state of the point with the number 'pointno'*/
5758
pointState getState( int pointno ) const;

‎src/analysis/interpolation/ParametricLine.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ANALYSIS_EXPORT ParametricLine
3535
/** Default constructor*/
3636
ParametricLine();
3737
/** Constructor, par is a pointer to the parent object, controlpoly the controlpolygon
38-
@note not available in python binding */
38+
*/
3939
ParametricLine( ParametricLine* par, QVector<Point3D*>* controlpoly );
4040
/** Destructor*/
4141
virtual ~ParametricLine();
@@ -47,13 +47,11 @@ class ANALYSIS_EXPORT ParametricLine
4747
virtual void changeDirection() = 0;
4848
//virtual void draw(QPainter* p);
4949
virtual const Point3D* getControlPoint( int number ) const = 0;
50-
//! @note not available in python binding
5150
virtual const QVector<Point3D*>* getControlPoly() const = 0;
5251
virtual int getDegree() const = 0;
5352
virtual ParametricLine* getParent() const = 0;
5453
//virtual bool intersects(ParametricLine* pal);
5554
virtual void remove( int i ) = 0;
56-
//! @note not available in python binding
5755
virtual void setControlPoly( QVector<Point3D*>* cp ) = 0;
5856
virtual void setParent( ParametricLine* paral ) = 0;
5957
};

‎src/analysis/interpolation/TriDecorator.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include "Triangulation.h"
2121

2222
/** Decorator class for Triangulations (s. Decorator pattern in Gamma et al.)*/
23-
class TriDecorator : public Triangulation
23+
class ANALYSIS_EXPORT TriDecorator : public Triangulation
2424
{
2525
public:
2626
TriDecorator();
@@ -36,7 +36,6 @@ class TriDecorator : public Triangulation
3636
virtual bool calcPoint( double x, double y, Point3D* result ) override;
3737
virtual Point3D* getPoint( unsigned int i ) const override;
3838
virtual int getNumberOfPoints() const override;
39-
//! @note not available in python bindings
4039
bool getTriangle( double x, double y, Point3D* p1, int* n1, Point3D* p2, int* n2, Point3D* p3, int* n3 ) override;
4140
bool getTriangle( double x, double y, Point3D* p1, Point3D* p2, Point3D* p3 ) override;
4241
virtual int getOppositePoint( int p1, int p2 ) override;

‎src/analysis/interpolation/Triangulation.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ class ANALYSIS_EXPORT Triangulation
6868

6969
/** Finds out in which triangle the point with coordinates x and y is and
7070
* assigns the numbers of the vertices to 'n1', 'n2' and 'n3' and the vertices to 'p1', 'p2' and 'p3'
71-
* @note not available in python binding
7271
*/
7372
virtual bool getTriangle( double x, double y, Point3D* p1, int* n1, Point3D* p2, int* n2, Point3D* p3, int* n3 ) = 0;
7473

‎src/analysis/interpolation/Vector3D.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ void Vector3D::standardise()
2929
setZ( getZ() / length );
3030
}
3131

32+
Vector3D::Vector3D( const Vector3D& v )
33+
: mX( v.mX )
34+
, mY( v.mY )
35+
, mZ( v.mZ )
36+
{
37+
}
38+
3239
Vector3D& Vector3D::operator=( const Vector3D & v )
3340
{
3441
mX = v.mX;

0 commit comments

Comments
 (0)
Please sign in to comment.