9 #include "fwData/factory/new.hpp" 10 #include "fwData/Object.hpp" 15 fwCampAutoDeclareDataMacro((
fwData)(TransformationMatrix3D), FWDATA_API);
28 (()), ::fwData::factory::New< TransformationMatrix3D >);
32 typedef double TM3DType;
33 typedef std::array<TM3DType, 16> TMCoefArray;
45 FWDATA_API
void shallowCopy(
const Object::csptr& _source )
override;
48 FWDATA_API
void cachedDeepCopy(
const Object::csptr& _source, DeepCopyCacheType& cache)
override;
51 TMCoefArray& getCoefficients ();
52 const TMCoefArray& getCoefficients ()
const;
53 void setCoefficients (
const TMCoefArray& _vCoefficients);
59 FWDATA_API TM3DType getCoefficient(
size_t l,
size_t c)
const;
60 FWDATA_API
void setCoefficient(
size_t l,
size_t c, TM3DType val);
64 static const size_t MATRIX_SIZE = 4;
69 for(
size_t l = 0; l < MATRIX_SIZE; l++)
71 for(
size_t c = 0; c < MATRIX_SIZE; c++)
90 return this->m_vCoefficients;
97 return this->m_vCoefficients;
102 inline void TransformationMatrix3D::setCoefficients(
const TransformationMatrix3D::TMCoefArray& _vCoefficients)
104 this->m_vCoefficients = _vCoefficients;
111 size_t pos = l * MATRIX_SIZE + c;
112 return m_vCoefficients.at(pos);
119 size_t pos = l * MATRIX_SIZE + c;
120 m_vCoefficients.at(pos) = val;
Key class used to restrict access to Object construction. See http://www.drdobbs.com/184402053.
#define fwCoreClassDefinitionsWithFactoryMacro(_classinfo_, _parameters_, _factory_)
Generate common construction methods for classes with one factory.
Base class for each data object.
Contains the representation of the data objects used in the framework.