OTB  7.2.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::Rectangle< TValue > Class Template Reference

#include <otbRectangle.h>

+ Inheritance diagram for otb::Rectangle< TValue >:
+ Collaboration diagram for otb::Rectangle< TValue >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::ContinuousIndex< ValueType, 2 > ContinuousIndexType
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::ImageRegion< 2 > RegionType
 
typedef Rectangle Self
 
typedef itk::Object Superclass
 
typedef TValue ValueType
 
typedef VertexListType::ConstIterator VertexListConstIteratorType
 
typedef VertexListType::Pointer VertexListPointerType
 
typedef itk::VectorContainer< unsigned, VertexTypeVertexListType
 
typedef ContinuousIndexType VertexType
 

Public Member Functions

virtual void AddVertex (const ContinuousIndexType &vertex)
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const char * GetNameOfClass () const
 
virtual ValueType GetOrientation ()
 
virtual ValueType GetWidth ()
 
virtual void SetOrientation (ValueType _arg)
 
virtual void SetWidth (ValueType _arg)
 
bool IsInside (VertexType point) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual double ComputeEuclideanDistanceMetricToSegment (VertexType q1, VertexType q2, VertexType p) const
 
 ~Rectangle () override
 
 Rectangle ()
 

Private Member Functions

void operator= (const Self &)=delete
 
 Rectangle (const Self &)=delete
 

Private Attributes

ValueType m_Orientation
 
VertexListPointerType m_VertexList
 
ValueType m_Width
 
virtual RegionType GetBoundingRegion () const
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 

Detailed Description

template<class TValue = double>
class otb::Rectangle< TValue >

This class represent a Rectangle.

A rectangle is defined by the median of the width, an orientation and a width

Definition at line 39 of file otbRectangle.h.

Member Typedef Documentation

◆ ConstPointer

template<class TValue = double>
typedef itk::SmartPointer<const Self> otb::Rectangle< TValue >::ConstPointer

Definition at line 46 of file otbRectangle.h.

◆ ContinuousIndexType

template<class TValue = double>
typedef itk::ContinuousIndex<ValueType, 2> otb::Rectangle< TValue >::ContinuousIndexType

Derived typedefs

Definition at line 54 of file otbRectangle.h.

◆ Pointer

template<class TValue = double>
typedef itk::SmartPointer<Self> otb::Rectangle< TValue >::Pointer

Definition at line 45 of file otbRectangle.h.

◆ RegionType

template<class TValue = double>
typedef itk::ImageRegion<2> otb::Rectangle< TValue >::RegionType

Definition at line 69 of file otbRectangle.h.

◆ Self

template<class TValue = double>
typedef Rectangle otb::Rectangle< TValue >::Self

Standard typedefs

Definition at line 43 of file otbRectangle.h.

◆ Superclass

template<class TValue = double>
typedef itk::Object otb::Rectangle< TValue >::Superclass

Definition at line 44 of file otbRectangle.h.

◆ ValueType

template<class TValue = double>
typedef TValue otb::Rectangle< TValue >::ValueType

Definition at line 48 of file otbRectangle.h.

◆ VertexListConstIteratorType

template<class TValue = double>
typedef VertexListType::ConstIterator otb::Rectangle< TValue >::VertexListConstIteratorType

Definition at line 61 of file otbRectangle.h.

◆ VertexListPointerType

template<class TValue = double>
typedef VertexListType::Pointer otb::Rectangle< TValue >::VertexListPointerType

Definition at line 60 of file otbRectangle.h.

◆ VertexListType

template<class TValue = double>
typedef itk::VectorContainer<unsigned, VertexType> otb::Rectangle< TValue >::VertexListType

Definition at line 59 of file otbRectangle.h.

◆ VertexType

template<class TValue = double>
typedef ContinuousIndexType otb::Rectangle< TValue >::VertexType

Definition at line 58 of file otbRectangle.h.

Constructor & Destructor Documentation

◆ Rectangle() [1/2]

template<class TValue = double>
otb::Rectangle< TValue >::Rectangle ( )
inlineprotected

Constructor

Definition at line 96 of file otbRectangle.h.

◆ ~Rectangle()

template<class TValue = double>
otb::Rectangle< TValue >::~Rectangle ( )
inlineoverrideprotected

Destructor

Definition at line 103 of file otbRectangle.h.

◆ Rectangle() [2/2]

template<class TValue = double>
otb::Rectangle< TValue >::Rectangle ( const Self )
privatedelete

Member Function Documentation

◆ AddVertex()

template<class TValue >
void otb::Rectangle< TValue >::AddVertex ( const ContinuousIndexType vertex)
virtual

Definition at line 191 of file otbRectangle.hxx.

◆ ComputeEuclideanDistanceMetricToSegment()

template<class TValue >
double otb::Rectangle< TValue >::ComputeEuclideanDistanceMetricToSegment ( VertexType  q1,
VertexType  q2,
VertexType  p 
) const
protectedvirtual

Method to compute the distance between a point and a segment

distance from Point P to Segment Q1Q2

Definition at line 74 of file otbRectangle.hxx.

◆ CreateAnother()

template<class TValue = double>
virtual::itk::LightObject::Pointer otb::Rectangle< TValue >::CreateAnother ( void  ) const

◆ GetBoundingRegion()

template<class TValue >
Rectangle< TValue >::RegionType otb::Rectangle< TValue >::GetBoundingRegion ( ) const
virtual

GetBounding region

Method to compute the Bounding region of a rectangle

Compute the four corners of the recatangle

Compute the bounding region

Definition at line 96 of file otbRectangle.hxx.

◆ GetNameOfClass()

template<class TValue = double>
virtual const char* otb::Rectangle< TValue >::GetNameOfClass ( ) const
virtual

Creation through object factory macro

◆ GetOrientation()

template<class TValue = double>
virtual ValueType otb::Rectangle< TValue >::GetOrientation ( )
virtual

◆ GetWidth()

template<class TValue = double>
virtual ValueType otb::Rectangle< TValue >::GetWidth ( )
virtual

Set/Get the parameters the a rectangle

  • width and orientation

◆ IsInside()

template<class TValue >
bool otb::Rectangle< TValue >::IsInside ( VertexType  point) const

Check whether point is strictly inside the rectangle.

Parameters
pointThe point to check.
Returns
True if the point is inside the polygon.

Check whether point is strictly inside the polygon.

Parameters
pointThe point to check.
Returns
True if the point is inside the polygon.

Compute Length of the rectangle

Orthogonal segment containing the middle of the segment

Compute the distance to the orthogonal median of the rectangle

Definition at line 36 of file otbRectangle.hxx.

◆ New()

template<class TValue = double>
static Pointer otb::Rectangle< TValue >::New ( )
static

Type macro

◆ operator=()

template<class TValue = double>
void otb::Rectangle< TValue >::operator= ( const Self )
privatedelete

◆ PrintSelf()

template<class TValue >
void otb::Rectangle< TValue >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotected

PrintSelf method

PrintSelf Method

Definition at line 203 of file otbRectangle.hxx.

◆ SetOrientation()

template<class TValue = double>
virtual void otb::Rectangle< TValue >::SetOrientation ( ValueType  _arg)
virtual

◆ SetWidth()

template<class TValue = double>
virtual void otb::Rectangle< TValue >::SetWidth ( ValueType  _arg)
virtual

Member Data Documentation

◆ m_Orientation

template<class TValue = double>
ValueType otb::Rectangle< TValue >::m_Orientation
private

Definition at line 119 of file otbRectangle.h.

◆ m_VertexList

template<class TValue = double>
VertexListPointerType otb::Rectangle< TValue >::m_VertexList
private

Definition at line 122 of file otbRectangle.h.

◆ m_Width

template<class TValue = double>
ValueType otb::Rectangle< TValue >::m_Width
private

Definition at line 120 of file otbRectangle.h.


The documentation for this class was generated from the following files: