18 #ifndef sitkEuler3DTransform_h
19 #define sitkEuler3DTransform_h
51 const std::vector<double> &translation = std::vector<double>(3,0.0) );
60 std::string
GetName()
const {
return std::string (
"Euler3DTransform"); }
63 SITK_RETURN_SELF_TYPE_HEADER SetCenter(
const std::vector<double> ¶ms);
64 std::vector<double> GetCenter( )
const;
66 double GetAngleX ()
const;
67 double GetAngleY ()
const;
68 double GetAngleZ ()
const;
71 SITK_RETURN_SELF_TYPE_HEADER SetRotation (
double angleX,
double angleY,
double angleZ);
73 std::vector<double> GetTranslation( )
const;
74 SITK_RETURN_SELF_TYPE_HEADER SetTranslation(
const std::vector<double>& translation);
76 SITK_RETURN_SELF_TYPE_HEADER SetComputeZYX (
bool _arg);
77 bool GetComputeZYX ()
const;
78 SITK_RETURN_SELF_TYPE_HEADER
ComputeZYXOn () {
return this->SetComputeZYX(
true);}
79 SITK_RETURN_SELF_TYPE_HEADER
ComputeZYXOff () {
return this->SetComputeZYX(
false);}
83 std::vector<double> GetMatrix()
const;
84 SITK_RETURN_SELF_TYPE_HEADER SetMatrix(
const std::vector<double> &matrix,
double tolerance = 1e-10);
88 virtual void SetPimpleTransform( PimpleTransformBase *pimpleTransform );
92 using Superclass::AddTransform;
96 template <
typename TransformType>
97 void InternalInitialization(TransformType *transform);
100 nsstd::function<void(const std::vector<double>&)> m_pfSetCenter;
101 nsstd::function<std::vector<double>()> m_pfGetCenter;
106 nsstd::function<void(const std::vector<double>&)> m_pfSetTranslation;
107 nsstd::function<std::vector<double>()> m_pfGetTranslation;
110 nsstd::function<std::vector<double>()> m_pfGetMatrix;
111 nsstd::function<void(const std::vector<double>&, double)> m_pfSetMatrix;
119 #endif // sitkEuler3DTransform_h
#define SITKCommon_EXPORT