|
@@ -1,5 +1,5 @@
|
|
|
/**
|
|
|
-* @file Operation.h
|
|
|
+* @file Operation3D.h
|
|
|
* @brief abstract class for any kind of feature extraction from 3d images
|
|
|
* @author Björn Fröhlich, Sven Sickert
|
|
|
* @date 24.04.2012
|
|
@@ -13,7 +13,7 @@
|
|
|
|
|
|
namespace OBJREC {
|
|
|
|
|
|
-class Operation;
|
|
|
+class Operation3D;
|
|
|
|
|
|
/**
|
|
|
* @brief methods for value access
|
|
@@ -87,7 +87,7 @@ class TreeNode
|
|
|
int right;
|
|
|
|
|
|
/** position of feat for decision */
|
|
|
- Operation *feat;
|
|
|
+ Operation3D *feat;
|
|
|
|
|
|
/** decision stamp */
|
|
|
double decision;
|
|
@@ -111,7 +111,7 @@ class TreeNode
|
|
|
TreeNode() : left ( -1 ), right ( -1 ), feat ( NULL ), decision ( -1.0 ), isleaf ( false ) {}
|
|
|
|
|
|
/** standard constructor */
|
|
|
- TreeNode ( int _left, int _right, Operation *_feat, double _decision ) : left ( _left ), right ( _right ), feat ( _feat ), decision ( _decision ), isleaf ( false ) {}
|
|
|
+ TreeNode ( int _left, int _right, Operation3D *_feat, double _decision ) : left ( _left ), right ( _right ), feat ( _feat ), decision ( _decision ), isleaf ( false ) {}
|
|
|
|
|
|
/**
|
|
|
* @brief initialize node
|
|
@@ -146,7 +146,7 @@ struct Features {
|
|
|
/**
|
|
|
* @brief abstract operation class
|
|
|
**/
|
|
|
-class Operation
|
|
|
+class Operation3D
|
|
|
{
|
|
|
protected:
|
|
|
/** two different points (e.g. for an rectangle or two positions), channels and size */
|
|
@@ -162,7 +162,7 @@ class Operation
|
|
|
public:
|
|
|
|
|
|
/** simple constructor */
|
|
|
- Operation();
|
|
|
+ Operation3D();
|
|
|
|
|
|
/**
|
|
|
* @brief set all parameters
|
|
@@ -220,7 +220,7 @@ class Operation
|
|
|
/**
|
|
|
* @brief virtual clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone() = 0;
|
|
|
+ virtual Operation3D* clone() = 0;
|
|
|
|
|
|
/**
|
|
|
* @brief print some infos about operation extraction type
|
|
@@ -262,7 +262,7 @@ class Operation
|
|
|
/**
|
|
|
* @brief simple equality check ?(A==B)
|
|
|
**/
|
|
|
-class RegionFeat: public Operation
|
|
|
+class RegionFeat: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -278,7 +278,7 @@ class RegionFeat: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RegionFeat();
|
|
|
}
|
|
@@ -289,7 +289,7 @@ class RegionFeat: public Operation
|
|
|
**/
|
|
|
virtual std::string writeInfos()
|
|
|
{
|
|
|
- return "(-)RegionFeat " + Operation::writeInfos();
|
|
|
+ return "(-)RegionFeat " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -305,7 +305,7 @@ class RegionFeat: public Operation
|
|
|
/**
|
|
|
* @brief simple difference operation A-B
|
|
|
**/
|
|
|
-class Minus: public Operation
|
|
|
+class Minus: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -321,7 +321,7 @@ class Minus: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Minus();
|
|
|
}
|
|
@@ -339,7 +339,7 @@ class Minus: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " +Operation::writeInfos();
|
|
|
+ return out + " " +Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -358,7 +358,7 @@ class Minus: public Operation
|
|
|
/**
|
|
|
* @brief simple absolute difference operation |A-B|
|
|
|
**/
|
|
|
-class MinusAbs: public Operation
|
|
|
+class MinusAbs: public Operation3D
|
|
|
{
|
|
|
|
|
|
public:
|
|
@@ -375,7 +375,7 @@ class MinusAbs: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new MinusAbs();
|
|
|
}
|
|
@@ -393,7 +393,7 @@ class MinusAbs: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -412,7 +412,7 @@ class MinusAbs: public Operation
|
|
|
/**
|
|
|
* @brief simple addition operation A+B
|
|
|
**/
|
|
|
-class Addition: public Operation
|
|
|
+class Addition: public Operation3D
|
|
|
{
|
|
|
|
|
|
public:
|
|
@@ -429,7 +429,7 @@ class Addition: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Addition();
|
|
|
}
|
|
@@ -447,7 +447,7 @@ class Addition: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -466,7 +466,7 @@ class Addition: public Operation
|
|
|
/**
|
|
|
* @brief simple single element access operation
|
|
|
**/
|
|
|
-class Only1: public Operation
|
|
|
+class Only1: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -482,7 +482,7 @@ class Only1: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Only1();
|
|
|
}
|
|
@@ -500,7 +500,7 @@ class Only1: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -519,7 +519,7 @@ class Only1: public Operation
|
|
|
/**
|
|
|
* @brief get current relative x position
|
|
|
**/
|
|
|
-class RelativeXPosition: public Operation
|
|
|
+class RelativeXPosition: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -535,7 +535,7 @@ class RelativeXPosition: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RelativeXPosition();
|
|
|
}
|
|
@@ -553,7 +553,7 @@ class RelativeXPosition: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -569,7 +569,7 @@ class RelativeXPosition: public Operation
|
|
|
/**
|
|
|
* @brief get current relative y position
|
|
|
**/
|
|
|
-class RelativeYPosition: public Operation
|
|
|
+class RelativeYPosition: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -585,7 +585,7 @@ class RelativeYPosition: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RelativeYPosition();
|
|
|
}
|
|
@@ -603,7 +603,7 @@ class RelativeYPosition: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -619,7 +619,7 @@ class RelativeYPosition: public Operation
|
|
|
/**
|
|
|
* @brief get current relative z position
|
|
|
**/
|
|
|
-class RelativeZPosition: public Operation
|
|
|
+class RelativeZPosition: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -635,7 +635,7 @@ class RelativeZPosition: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RelativeZPosition();
|
|
|
}
|
|
@@ -653,7 +653,7 @@ class RelativeZPosition: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -669,7 +669,7 @@ class RelativeZPosition: public Operation
|
|
|
/**
|
|
|
* @brief uses mean in a window given by (x1,y1,z1) (x2,y2,z2)
|
|
|
**/
|
|
|
-class IntegralOps: public Operation
|
|
|
+class IntegralOps: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -700,7 +700,7 @@ class IntegralOps: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new IntegralOps();
|
|
|
}
|
|
@@ -718,7 +718,7 @@ class IntegralOps: public Operation
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -755,7 +755,7 @@ class GlobalFeats: public IntegralOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new GlobalFeats();
|
|
|
}
|
|
@@ -773,7 +773,7 @@ class GlobalFeats: public IntegralOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -823,7 +823,7 @@ class IntegralCenteredOps: public IntegralOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new IntegralCenteredOps();
|
|
|
}
|
|
@@ -841,7 +841,7 @@ class IntegralCenteredOps: public IntegralOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -891,7 +891,7 @@ class BiIntegralCenteredOps: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new BiIntegralCenteredOps();
|
|
|
}
|
|
@@ -909,7 +909,7 @@ class BiIntegralCenteredOps: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + Operation::writeInfos();
|
|
|
+ return out + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -946,7 +946,7 @@ class HaarHorizontal: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarHorizontal();
|
|
|
}
|
|
@@ -964,7 +964,7 @@ class HaarHorizontal: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1001,7 +1001,7 @@ class HaarVertical: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarVertical();
|
|
|
}
|
|
@@ -1019,7 +1019,7 @@ class HaarVertical: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1056,7 +1056,7 @@ class HaarStacked: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarStacked();
|
|
|
}
|
|
@@ -1074,7 +1074,7 @@ class HaarStacked: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1111,7 +1111,7 @@ class HaarDiagXY: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarDiagXY();
|
|
|
}
|
|
@@ -1129,7 +1129,7 @@ class HaarDiagXY: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1166,7 +1166,7 @@ class HaarDiagXZ: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarDiagXZ();
|
|
|
}
|
|
@@ -1184,7 +1184,7 @@ class HaarDiagXZ: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1221,7 +1221,7 @@ class HaarDiagYZ: public IntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new HaarDiagYZ();
|
|
|
}
|
|
@@ -1239,7 +1239,7 @@ class HaarDiagYZ: public IntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1278,7 +1278,7 @@ class Haar3Horiz: public BiIntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Haar3Horiz();
|
|
|
}
|
|
@@ -1296,7 +1296,7 @@ class Haar3Horiz: public BiIntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1334,7 +1334,7 @@ class Haar3Vert: public BiIntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Haar3Vert();
|
|
|
}
|
|
@@ -1352,7 +1352,7 @@ class Haar3Vert: public BiIntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1390,7 +1390,7 @@ class Haar3Stack: public BiIntegralCenteredOps
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new Haar3Stack();
|
|
|
}
|
|
@@ -1408,7 +1408,7 @@ class Haar3Stack: public BiIntegralCenteredOps
|
|
|
else
|
|
|
out = "(R)" + out;
|
|
|
|
|
|
- return out + " " + Operation::writeInfos();
|
|
|
+ return out + " " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1430,7 +1430,7 @@ class Haar3Stack: public BiIntegralCenteredOps
|
|
|
/**
|
|
|
* @brief Ray Distance-Difference features
|
|
|
*/
|
|
|
-class RayDiff: public Operation
|
|
|
+class RayDiff: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -1446,7 +1446,7 @@ class RayDiff: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RayDiff();
|
|
|
}
|
|
@@ -1457,7 +1457,7 @@ class RayDiff: public Operation
|
|
|
**/
|
|
|
virtual std::string writeInfos()
|
|
|
{
|
|
|
- return "(-)RayDiff " + Operation::writeInfos();
|
|
|
+ return "(-)RayDiff " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1473,7 +1473,7 @@ class RayDiff: public Operation
|
|
|
/**
|
|
|
* @brief Ray Distance features
|
|
|
*/
|
|
|
-class RayDist: public Operation
|
|
|
+class RayDist: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -1489,7 +1489,7 @@ class RayDist: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RayDist();
|
|
|
}
|
|
@@ -1500,7 +1500,7 @@ class RayDist: public Operation
|
|
|
**/
|
|
|
virtual std::string writeInfos()
|
|
|
{
|
|
|
- return "(-)RayDist " + Operation::writeInfos();
|
|
|
+ return "(-)RayDist " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1516,7 +1516,7 @@ class RayDist: public Operation
|
|
|
/**
|
|
|
* @brief Ray Orientation features
|
|
|
*/
|
|
|
-class RayOrient: public Operation
|
|
|
+class RayOrient: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -1532,7 +1532,7 @@ class RayOrient: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RayOrient();
|
|
|
}
|
|
@@ -1543,7 +1543,7 @@ class RayOrient: public Operation
|
|
|
**/
|
|
|
virtual std::string writeInfos()
|
|
|
{
|
|
|
- return "(-)RayOrient " + Operation::writeInfos();
|
|
|
+ return "(-)RayOrient " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1559,7 +1559,7 @@ class RayOrient: public Operation
|
|
|
/**
|
|
|
* @brief Ray Norm features
|
|
|
*/
|
|
|
-class RayNorm: public Operation
|
|
|
+class RayNorm: public Operation3D
|
|
|
{
|
|
|
public:
|
|
|
/**
|
|
@@ -1575,7 +1575,7 @@ class RayNorm: public Operation
|
|
|
/**
|
|
|
* @brief clone operation instead of copy constructor (copy constructor does not work)
|
|
|
**/
|
|
|
- virtual Operation* clone()
|
|
|
+ virtual Operation3D* clone()
|
|
|
{
|
|
|
return new RayNorm();
|
|
|
}
|
|
@@ -1586,7 +1586,7 @@ class RayNorm: public Operation
|
|
|
**/
|
|
|
virtual std::string writeInfos()
|
|
|
{
|
|
|
- return "(-)RayNorm " + Operation::writeInfos();
|
|
|
+ return "(-)RayNorm " + Operation3D::writeInfos();
|
|
|
}
|
|
|
|
|
|
/**
|