101 lines
2.3 KiB
Diff
101 lines
2.3 KiB
Diff
|
diff --git a/include/rtkProjectionGeometry.h b/include/rtkProjectionGeometry.h
|
||
|
index e5831611f..73ed2b74f 100644
|
||
|
--- a/include/rtkProjectionGeometry.h
|
||
|
+++ b/include/rtkProjectionGeometry.h
|
||
|
@@ -23,6 +23,7 @@
|
||
|
|
||
|
#include <vector>
|
||
|
|
||
|
+#include "RTKExport.h"
|
||
|
#include "rtkMacro.h"
|
||
|
|
||
|
namespace rtk
|
||
|
@@ -67,25 +68,18 @@ public:
|
||
|
* with the i-th matrix provides the physical coordinate on
|
||
|
* the i-th projection.
|
||
|
*/
|
||
|
- const std::vector<MatrixType> &
|
||
|
- GetMatrices() const
|
||
|
- {
|
||
|
- return this->m_Matrices;
|
||
|
- }
|
||
|
+ itkGetConstReferenceMacro(Matrices,std::vector<MatrixType>)
|
||
|
|
||
|
/** Get the i-th projection matrix. */
|
||
|
MatrixType
|
||
|
- GetMatrix(const unsigned int i) const
|
||
|
- {
|
||
|
- return this->m_Matrices[i];
|
||
|
- }
|
||
|
+ GetMatrix(const unsigned int i) const;
|
||
|
|
||
|
/** Empty the geometry object. */
|
||
|
virtual void
|
||
|
Clear();
|
||
|
|
||
|
protected:
|
||
|
- ProjectionGeometry() = default;
|
||
|
+ ProjectionGeometry();
|
||
|
~ProjectionGeometry() override = default;
|
||
|
|
||
|
void
|
||
|
@@ -93,11 +87,7 @@ protected:
|
||
|
|
||
|
/** Add projection matrix */
|
||
|
virtual void
|
||
|
- AddMatrix(const MatrixType & m)
|
||
|
- {
|
||
|
- this->m_Matrices.push_back(m);
|
||
|
- this->Modified();
|
||
|
- }
|
||
|
+ AddMatrix(const MatrixType & m);
|
||
|
|
||
|
private:
|
||
|
/** Projection matrices */
|
||
|
@@ -105,6 +95,9 @@ private:
|
||
|
};
|
||
|
} // namespace rtk
|
||
|
|
||
|
-#include "rtkProjectionGeometry.hxx"
|
||
|
+#ifndef ITK_MANUAL_INSTANTIATION
|
||
|
+# include "rtkProjectionGeometry.hxx"
|
||
|
+#endif
|
||
|
+
|
||
|
|
||
|
#endif // rtkProjectionGeometry_h
|
||
|
diff --git a/include/rtkProjectionGeometry.hxx b/include/rtkProjectionGeometry.hxx
|
||
|
index 192265812..97dfe8c3a 100644
|
||
|
--- a/include/rtkProjectionGeometry.hxx
|
||
|
+++ b/include/rtkProjectionGeometry.hxx
|
||
|
@@ -23,6 +23,8 @@
|
||
|
|
||
|
namespace rtk
|
||
|
{
|
||
|
+template <unsigned int TDimension>
|
||
|
+ProjectionGeometry<TDimension>::ProjectionGeometry() = default;
|
||
|
|
||
|
template <unsigned int TDimension>
|
||
|
void
|
||
|
@@ -43,6 +45,21 @@ ProjectionGeometry<TDimension>::Clear()
|
||
|
this->Modified();
|
||
|
}
|
||
|
|
||
|
+template <unsigned int TDimension>
|
||
|
+typename ProjectionGeometry<TDimension>::MatrixType
|
||
|
+ProjectionGeometry<TDimension>::GetMatrix(const unsigned int i) const
|
||
|
+{
|
||
|
+ return this->m_Matrices[i];
|
||
|
+}
|
||
|
+
|
||
|
+template <unsigned int TDimension>
|
||
|
+void
|
||
|
+ProjectionGeometry<TDimension>::AddMatrix(const typename ProjectionGeometry<TDimension>::MatrixType & m)
|
||
|
+{
|
||
|
+ this->m_Matrices.push_back(m);
|
||
|
+ this->Modified();
|
||
|
+}
|
||
|
+
|
||
|
} // namespace rtk
|
||
|
|
||
|
#endif // rtkProjectionGeometry_hxx
|