OpenIndy-Core  0.2.0.43
systemtransformation.h
Go to the documentation of this file.
1 #ifndef SYSTEMTRANSFORMATION_H
2 #define SYSTEMTRANSFORMATION_H
3 
4 #include "function.h"
5 
6 class FeatureUpdater;
7 
8 namespace oi{
9 
15 {
16  friend class FeatureUpdater;
17  Q_OBJECT
18 
19 public:
20  SystemTransformation(QObject *parent = 0) : Function(parent){
21 
22  //only applicable for trafo params
23  this->applicableFor.clear();
24  this->applicableFor.append(eTrafoParamFeature);
25 
26  }
27 
29 
30  void setInputPoint(const QList<Point> &startSystem, const QList<Point> &destinationSystem){
31  this->inputPointsStartSystem = startSystem;
32  this->inputPointsDestinationSystem = destinationSystem;
33  }
34 
35 protected:
36 
37  //####################################
38  //methods that cannot be reimplemented
39  //####################################
40 
41  bool exec(Station &station){ return Function::exec(station); }
42  bool exec(CoordinateSystem &coordinateSystem){ return Function::exec(coordinateSystem); }
43 
44  bool exec(Circle &circle){ return Function::exec(circle); }
45  bool exec(Cone &cone){ return Function::exec(cone); }
46  bool exec(Cylinder &cylinder){ return Function::exec(cylinder); }
47  bool exec(Ellipse &ellipse){ return Function::exec(ellipse); }
48  bool exec(Ellipsoid &ellipsoid){ return Function::exec(ellipsoid); }
49  bool exec(Hyperboloid &hyperboloid){ return Function::exec(hyperboloid); }
50  bool exec(Line &line){ return Function::exec(line); }
51  bool exec(Nurbs &nurbs){ return Function::exec(nurbs); }
52  bool exec(Paraboloid &paraboloid){ return Function::exec(paraboloid); }
53  bool exec(Plane &plane){ return Function::exec(plane); }
54  bool exec(Point &point){ return Function::exec(point); }
55  bool exec(PointCloud &pointCloud){ return Function::exec(pointCloud); }
56  bool exec(ScalarEntityAngle &angle){ return Function::exec(angle); }
57  bool exec(ScalarEntityDistance &distance){ return Function::exec(distance); }
58  bool exec(ScalarEntityMeasurementSeries &measurementSeries){ return Function::exec(measurementSeries); }
59  bool exec(ScalarEntityTemperature &temperature){ return Function::exec(temperature); }
60  bool exec(SlottedHole &slottedHole){ return Function::exec(slottedHole); }
61  bool exec(Sphere &sphere){ return Function::exec(sphere); }
62  bool exec(Torus &torus){ return Function::exec(torus); }
63 
64  //special attributes for system transformations (normal transformations)
65  QList<Point> inputPointsStartSystem; //input elements solved in start system
66  QList<Point> inputPointsDestinationSystem; //input elements solved in destination system
67 
68  //special attributes for system transformations (alignments)
69  QMap<int, QList<InputElement> > inputElementsStartSystem; //input elements solved in start system
70  QMap<int, QList<InputElement> > inputElementsDestinationSystem; //input elements solved in destination system
71 
72 };
73 
74 }
75 
76 #ifndef STR
77 #define STR(x) #x
78 #endif
79 #ifndef STR2
80 #define STR2(x) STR(x)
81 #endif
82 
83 #ifndef CONCAT
84 #define CONCAT(a, b) a ## b
85 #endif
86 #ifndef CONCAT2
87 #define CONCAT2(a, b) CONCAT(a, b)
88 #endif
89 
90 #define SYSTEMTRANSFORMATIONFUNCTION_PREFIX de.openIndy.plugin.function.systemTransformation.v
91 #define SystemTransformation_iidd STR2(CONCAT2(SYSTEMTRANSFORMATIONFUNCTION_PREFIX, PLUGIN_INTERFACE_VERSION))
92 
93 #endif // SYSTEMTRANSFORMATION_H
The Torus class Defines a torus of rotation.
Definition: torus.h:18
The SystemTransformation class Functions that solves transformation parameters between two coordinate...
Definition: systemtransformation.h:14
bool exec(SlottedHole &slottedHole)
Function::exec.
Definition: systemtransformation.h:60
bool exec(Cylinder &cylinder)
Function::exec.
Definition: systemtransformation.h:46
bool exec(Nurbs &nurbs)
Function::exec.
Definition: systemtransformation.h:51
bool exec(Paraboloid &paraboloid)
Function::exec.
Definition: systemtransformation.h:52
bool exec(Hyperboloid &hyperboloid)
Function::exec.
Definition: systemtransformation.h:49
virtual ~SystemTransformation()
Definition: systemtransformation.h:28
The Line class.
Definition: line.h:16
The ScalarEntityAngle class.
Definition: scalarentityangle.h:14
bool exec(Cone &cone)
Function::exec.
Definition: systemtransformation.h:45
bool exec(ScalarEntityDistance &distance)
Function::exec.
Definition: systemtransformation.h:57
The ScalarEntityTemperature class.
Definition: scalarentitytemperature.h:14
The Cylinder class Defines a right circular cylinder.
Definition: cylinder.h:18
bool exec(ScalarEntityAngle &angle)
Function::exec.
Definition: systemtransformation.h:56
Definition: coordinatesystem.h:15
QList< Point > inputPointsDestinationSystem
Definition: systemtransformation.h:66
The Circle class.
Definition: circle.h:17
bool exec(Ellipse &ellipse)
Function::exec.
Definition: systemtransformation.h:47
bool exec(CoordinateSystem &coordinateSystem)
Function::exec.
Definition: systemtransformation.h:42
bool exec(Point &point)
Function::exec.
Definition: systemtransformation.h:54
The SlottedHole class Defines an elongated bore with one radius.
Definition: slottedhole.h:19
SystemTransformation(QObject *parent=0)
Definition: systemtransformation.h:20
QMap< int, QList< InputElement > > inputElementsDestinationSystem
Definition: systemtransformation.h:70
The Station class.
Definition: station.h:23
bool exec(ScalarEntityMeasurementSeries &measurementSeries)
Function::exec.
Definition: systemtransformation.h:58
bool exec(Ellipsoid &ellipsoid)
Function::exec.
Definition: systemtransformation.h:48
bool exec(const QPointer< FeatureWrapper > &feature)
Function::exec.
Definition: function.cpp:25
QMap< int, QList< InputElement > > inputElementsStartSystem
Definition: systemtransformation.h:69
The EllipticParaboloid class Defines an elliptic paraboloid of rotation of the form z = x^2/a^2 + y^2...
Definition: paraboloid.h:17
bool exec(Plane &plane)
Function::exec.
Definition: systemtransformation.h:53
virtual void clear()
Function::clear.
Definition: function.cpp:399
The Plane class.
Definition: plane.h:16
The Function class.
Definition: function.h:170
bool exec(Circle &circle)
Function::exec.
Definition: systemtransformation.h:44
bool exec(Torus &torus)
Function::exec.
Definition: systemtransformation.h:62
bool exec(Line &line)
Function::exec.
Definition: systemtransformation.h:50
The Cone class Defines a right circular cone.
Definition: cone.h:17
The Nurbs class.
Definition: nurbs.h:14
bool exec(Sphere &sphere)
Function::exec.
Definition: systemtransformation.h:61
Definition: types.h:121
QList< Point > inputPointsStartSystem
Definition: systemtransformation.h:65
bool exec(ScalarEntityTemperature &temperature)
Function::exec.
Definition: systemtransformation.h:59
The Ellipse class.
Definition: ellipse.h:17
The PointCloud class.
Definition: pointcloud.h:35
The CoordinateSystem class.
Definition: coordinatesystem.h:25
void setInputPoint(const QList< Point > &startSystem, const QList< Point > &destinationSystem)
Definition: systemtransformation.h:30
The ScalarEntityDistance class.
Definition: scalarentitydistance.h:14
The Sphere class.
Definition: sphere.h:17
The ScalarEntityMeasurementSeries class.
Definition: scalarentitymeasurementseries.h:14
bool exec(PointCloud &pointCloud)
Function::exec.
Definition: systemtransformation.h:55
The Ellipsoid class Defines an ellipsoid of rotation.
Definition: ellipsoid.h:17
#define OI_CORE_EXPORT
Definition: types.h:11
The Point class.
Definition: point.h:15
bool exec(Station &station)
Function::exec.
Definition: systemtransformation.h:41
The Hyperboloid class Defines a single shell hyperboloid of rotation of the form 1 = x^2/a^2 + y^2/b^...
Definition: hyperboloid.h:17