Mantid
|
Unique SingleValueParameter Declaration for InputNDimensions. More...
#include <CoordTransform.h>
Public Member Functions | |
virtual void | apply (const coord_t *inputVector, coord_t *outVector) const =0 |
Mantid::Kernel::VMD | applyVMD (const Mantid::Kernel::VMD &inputVector) const |
Wrapper for VMD. More... | |
virtual CoordTransform * | clone () const =0 |
CoordTransform (const size_t inD, const size_t outD) | |
Constructor. More... | |
size_t | getInD () const |
size_t | getOutD () const |
virtual std::string | id () const =0 |
virtual Mantid::Kernel::Matrix< coord_t > | makeAffineMatrix () const |
virtual std::string | toXMLString () const =0 |
Pure abstract methods to be implemented. More... | |
virtual | ~CoordTransform ()=default |
Protected Attributes | |
size_t | inD |
Input number of dimensions. More... | |
size_t | outD |
Output number of dimensions. More... | |
Unique SingleValueParameter Declaration for InputNDimensions.
Unique SingleValueParaemter Declaration for OutputNDimensions Abstract class for transforming coordinate systems. This will be subclassed by e.g. CoordTransformAffine to perform rotations, etc.
Definition at line 32 of file CoordTransform.h.
Mantid::API::CoordTransform::CoordTransform | ( | const size_t | inD, |
const size_t | outD | ||
) |
Constructor.
Validates the inputs
inD | :: input number of dimensions, >= 1 |
outD | :: output number of dimensions, <= inD |
std::runtime_error | if outD > inD |
Definition at line 28 of file CoordTransform.cpp.
|
virtualdefault |
Mantid::Kernel::VMD Mantid::API::CoordTransform::applyVMD | ( | const Mantid::Kernel::VMD & | inputVector | ) | const |
Wrapper for VMD.
Apply the transformation to an input vector (as a VMD type).
This wraps the apply(in,out) method (and will be slower!)
inputVector | :: an inD-length vector |
Definition at line 45 of file CoordTransform.cpp.
References apply(), Mantid::Kernel::VMDBase< TYPE >::getBareArray(), Mantid::Kernel::VMDBase< TYPE >::getNumDims(), inD, and outD.
Referenced by Mantid::MDAlgorithms::SlicingAlgorithm::createGeneralTransform(), Mantid::MDAlgorithms::QueryMDWorkspace::exec(), and Mantid::MDAlgorithms::SlicingAlgorithm::makeBasisVectorFromString().
|
pure virtual |
|
inline |
Definition at line 47 of file CoordTransform.h.
Referenced by Mantid::DataObjects::CoordTransformAffine::combineTransformations().
|
inline |
Definition at line 50 of file CoordTransform.h.
Referenced by Mantid::DataObjects::CoordTransformAffine::combineTransformations().
|
pure virtual |
|
inlinevirtual |
std::runtime_error | if there is no possible affine matrix |
Reimplemented in Mantid::DataObjects::CoordTransformAffine, and Mantid::DataObjects::CoordTransformAligned.
Definition at line 54 of file CoordTransform.h.
Referenced by Mantid::MDAlgorithms::SlicingAlgorithm::createTransform(), and Mantid::DataObjects::MDBoxFlatTree::saveAffineTransformMatrix().
|
pure virtual |
Pure abstract methods to be implemented.
Implemented in Mantid::API::NullCoordTransform, Mantid::DataObjects::CoordTransformAffine, Mantid::DataObjects::CoordTransformAligned, and Mantid::DataObjects::CoordTransformDistance.
|
protected |
Input number of dimensions.
Definition at line 61 of file CoordTransform.h.
Referenced by Mantid::DataObjects::CoordTransformAffine::addTranslation(), Mantid::DataObjects::CoordTransformAffine::apply(), Mantid::DataObjects::CoordTransformDistance::apply(), applyVMD(), Mantid::DataObjects::CoordTransformAffine::buildNonOrthogonal(), Mantid::DataObjects::CoordTransformAffine::buildOrthogonal(), Mantid::DataObjects::CoordTransformAffine::clone(), Mantid::DataObjects::CoordTransformAligned::clone(), CoordTransform(), Mantid::DataObjects::CoordTransformAligned::CoordTransformAligned(), Mantid::DataObjects::CoordTransformDistance::CoordTransformDistance(), Mantid::DataObjects::CoordTransformAligned::makeAffineMatrix(), Mantid::DataObjects::CoordTransformAffine::setMatrix(), Mantid::DataObjects::CoordTransformAffine::toXMLString(), Mantid::DataObjects::CoordTransformAligned::toXMLString(), and Mantid::DataObjects::CoordTransformDistance::toXMLString().
|
protected |
Output number of dimensions.
Definition at line 64 of file CoordTransform.h.
Referenced by Mantid::DataObjects::CoordTransformAffine::addTranslation(), Mantid::DataObjects::CoordTransformAffine::apply(), Mantid::DataObjects::CoordTransformAligned::apply(), Mantid::DataObjects::CoordTransformDistance::apply(), applyVMD(), Mantid::DataObjects::CoordTransformAffine::buildNonOrthogonal(), Mantid::DataObjects::CoordTransformAffine::buildOrthogonal(), Mantid::DataObjects::CoordTransformAffine::clone(), Mantid::DataObjects::CoordTransformAligned::clone(), CoordTransform(), Mantid::DataObjects::CoordTransformAligned::CoordTransformAligned(), Mantid::DataObjects::CoordTransformAligned::makeAffineMatrix(), Mantid::DataObjects::CoordTransformAffine::setMatrix(), Mantid::DataObjects::CoordTransformAffine::toXMLString(), Mantid::DataObjects::CoordTransformAligned::toXMLString(), and Mantid::DataObjects::CoordTransformDistance::toXMLString().