DGtal
1.4.2
|
Special Point Functor that adds one dimension to a 2D point and apply on it a rotation of angle alpha according to a given direction and the domain center. It also checks if the resulting point is inside the 3D domain, else it returns a particular point (by default the point at domain origin (from the domain method lowerBound()). More...
#include <DGtal/kernel/BasicPointFunctors.h>
Public Types | |
typedef SpaceND< 3, TInteger > | Space |
typedef Space::Dimension | Dimension |
typedef Space::Point | Point |
typedef Space::Integer | Integer |
Public Member Functions | |
SliceRotator2D (const Dimension &dimAdded, const TDomain3D &aDomain3DImg, const Integer &sliceIndex, const Dimension &dimRotated, double rotationAngle) | |
SliceRotator2D (const Dimension &dimAdded, const TDomain3D &aDomain3DImg, const Integer &sliceIndex, const Dimension &dimRotated, double rotationAngle, const Point &defaultPoint) | |
SliceRotator2D (const Dimension &dimAdded, const TDomain3D &aDomain3DImg, const Integer &sliceIndex, const Dimension &dimRotated, const Point &ptCenter, double rotationAngle, const Point &defaultPoint) | |
SliceRotator2D (const Dimension &dimAdded, const TDomain3D &aDomain3DImg, const Integer &sliceIndex, const Dimension &dimRotated, const Point &ptCenter, double rotationAngle) | |
template<typename TPointDimMinus > | |
Point | operator() (const TPointDimMinus &aPoint) const |
Private Attributes | |
Dimension | myPosDimAdded |
Integer | mySliceIndex |
TDomain3D | myDomain |
Dimension | myDimRotated |
double | myRotationAngle |
PointVector< 3, double > | myCenter |
Point | myDefaultPoint |
Special Point Functor that adds one dimension to a 2D point and apply on it a rotation of angle alpha according to a given direction and the domain center. It also checks if the resulting point is inside the 3D domain, else it returns a particular point (by default the point at domain origin (from the domain method lowerBound()).
Description of template class 'SliceRotator2D'
Ex: a Point P (10, 9) in the domain (defined (0,0,0) (10,10,10)) given in 3D by adding the dimension in Z (2) with slice num 7: => P(10, 9, 7) and after a rotation of PI from center of slice domain (5,5, 7) will give P(0,1,7). To apply this example you can test it with:
TDomain3D | the type of the 3d domain. |
TInteger | specifies the integer number type used to define the space. |
Definition at line 200 of file BasicPointFunctors.h.
typedef Space::Dimension DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::Dimension |
Definition at line 205 of file BasicPointFunctors.h.
typedef Space::Integer DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::Integer |
Definition at line 207 of file BasicPointFunctors.h.
typedef Space::Point DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::Point |
Definition at line 206 of file BasicPointFunctors.h.
typedef SpaceND< 3, TInteger> DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::Space |
Definition at line 204 of file BasicPointFunctors.h.
|
inline |
Constructor. (default point is defined from lower point of the domain)
dimAdded | the index of the new dimension inserted. |
aDomain3DImg | the 3D domain used to keep the resulting point in the domain. |
sliceIndex | the value that is used to fill the dimension for a given N-1 point (equivalently the slice index). |
dimRotated | the index of the rotation axis. |
rotationAngle | the angle of rotation (in radians). |
Definition at line 218 of file BasicPointFunctors.h.
References DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myCenter.
|
inline |
Constructor.
dimAdded | the index of the new dimension inserted. |
aDomain3DImg | the 3D domain used to keep the resulting point in the domain. |
sliceIndex | the value that is used to fill the dimension for a given N-1 point (equivalently the slice index). |
dimRotated | the index of the rotation axis. |
rotationAngle | the angle of rotation (in radians). |
defaultPoint | the point given when the resulting point is outside the domain. |
Definition at line 240 of file BasicPointFunctors.h.
References DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myCenter.
|
inline |
Constructor.
dimAdded | the index of the new dimension inserted. |
aDomain3DImg | the 3D domain used to keep the resulting point in the domain. |
sliceIndex | the value that is used to fill the dimension for a given N-1 point (equivalently the slice index). |
dimRotated | the index of the rotation axis. |
ptCenter | the rotation center. |
rotationAngle | the angle of rotation (in radians). |
defaultPoint | the point given when the resulting point is outside the domain. |
Definition at line 263 of file BasicPointFunctors.h.
|
inline |
Constructor. (default point is defined from lower point of the domain)
dimAdded | the index of the new dimension inserted. |
aDomain3DImg | the 3D domain used to keep the resulting point in the domain. |
sliceIndex | the value that is used to fill the dimension for a given N-1 point (equivalently the slice index). |
dimRotated | the index of the rotation axis. |
ptCenter | the rotation center. |
rotationAngle | the angle of rotation (in radians). |
Definition at line 281 of file BasicPointFunctors.h.
|
inline |
The operator just recover the 3D Point associated to the SliceRotator2D parameters.
[in] | aPoint | point of the input domain (of dimension N-1). |
Definition at line 296 of file BasicPointFunctors.h.
References aPoint(), DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myCenter, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myDefaultPoint, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myDimRotated, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myDomain, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myPosDimAdded, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::myRotationAngle, DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::mySliceIndex, and DGtal::PointVector< dim, TEuclideanRing, TContainer >::size().
|
private |
Definition at line 336 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()(), and DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::SliceRotator2D().
|
private |
Definition at line 337 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().
|
private |
Definition at line 334 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().
|
private |
Definition at line 333 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().
|
private |
Definition at line 330 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().
|
private |
Definition at line 335 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().
|
private |
Definition at line 332 of file BasicPointFunctors.h.
Referenced by DGtal::functors::SliceRotator2D< TDomain3D, TInteger >::operator()().