21 #ifndef otbOrientationPathFunction_hxx
22 #define otbOrientationPathFunction_hxx
26 #include "itkNumericTraits.h"
33 template <
class TInputPath,
class TOutput>
36 this->Superclass::PrintSelf(os, indent);
39 template <
class TInputPath,
class TOutput>
47 vertexList = path.GetVertexList();
48 nbPath = vertexList->Size();
52 cindex = vertexList->GetElement(0);
55 cindex = vertexList->GetElement(1);
59 Theta = std::atan2(y2 - y1, x2 - x1);
63 itkExceptionMacro(<<
"OrientationPathFunction::Evaluate() FAILED -- path must have 2 points");
68 template <
class TInputPath,
class TOutput>
71 if (!this->GetInputPath())
74 return static_cast<OutputType>(itk::NumericTraits<OutputType>::max());
77 OutputType Result = Evaluate(*(this->GetInputPath()));
void PrintSelf(std::ostream &os, itk::Indent indent) const override
VertexListType::ConstPointer VertexListPointer
PathType::ContinuousIndexType VertexType
Superclass::InputPathType PathType
virtual OutputType Evaluate() const
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
#define otbMsgDevMacro(x)