18 #ifndef sitkEuler3DTransform_h
19 #define sitkEuler3DTransform_h
48 const std::vector<double> &translation = std::vector<double>(3,0.0) );
57 std::string
GetName()
const {
return std::string (
"Euler3DTransform"); }
60 SITK_RETURN_SELF_TYPE_HEADER SetCenter(
const std::vector<double> ¶ms);
61 std::vector<double> GetCenter( )
const;
63 double GetAngleX ()
const;
64 double GetAngleY ()
const;
65 double GetAngleZ ()
const;
68 SITK_RETURN_SELF_TYPE_HEADER SetRotation (
double angleX,
double angleY,
double angleZ);
70 std::vector<double> GetTranslation( )
const;
71 SITK_RETURN_SELF_TYPE_HEADER SetTranslation(
const std::vector<double>& translation);
73 SITK_RETURN_SELF_TYPE_HEADER SetComputeZYX (
bool _arg);
74 bool GetComputeZYX ()
const;
75 SITK_RETURN_SELF_TYPE_HEADER
ComputeZYXOn () {
return this->SetComputeZYX(
true);}
76 SITK_RETURN_SELF_TYPE_HEADER
ComputeZYXOff () {
return this->SetComputeZYX(
false);}
80 std::vector<double> GetMatrix()
const;
81 SITK_RETURN_SELF_TYPE_HEADER SetMatrix(
const std::vector<double> &matrix,
double tolerance = 1e-10);
85 virtual void SetPimpleTransform( PimpleTransformBase *pimpleTransform );
89 using Superclass::AddTransform;
93 template <
typename TransformType>
94 void InternalInitialization(TransformType *transform);
97 nsstd::function<void(const std::vector<double>&)> m_pfSetCenter;
98 nsstd::function<std::vector<double>()> m_pfGetCenter;
103 nsstd::function<void(const std::vector<double>&)> m_pfSetTranslation;
104 nsstd::function<std::vector<double>()> m_pfGetTranslation;
107 nsstd::function<std::vector<double>()> m_pfGetMatrix;
108 nsstd::function<void(const std::vector<double>&, double)> m_pfSetMatrix;
116 #endif // sitkEuler3DTransform_h
#define SITKCommon_EXPORT