38 static_assert(M > 0,
"M must be positive");
39 static_assert(N > 0,
"N must be positive");
40 static_assert(std::is_integral<T>::value,
"must be integral type");
46 __LEGION_CUDA_HD__
AffineTransform(
const AffineTransform<M, N, T2>& rhs);
47 template<
typename T2,
typename T3>
49 const Transform<M, N, T2> transform,
const Point<M, T3> offset);
52 __LEGION_CUDA_HD__ AffineTransform<M, N, T>& operator=(
53 const AffineTransform<M, N, T2>& rhs);
57 __LEGION_CUDA_HD__ Point<M, T> operator[](
const Point<N, T2> point)
const;
60 __LEGION_CUDA_HD__ AffineTransform<M, P, T> operator()(
61 const AffineTransform<N, P, T>& rhs)
const;
64 bool is_identity(
void)
const;
67 Transform<M, N, T> transform;
86 static_assert(M > 0,
"M must be positive");
87 static_assert(M > 0,
"N must be positive");
88 static_assert(std::is_integral<T>::value,
"must be integral type");
94 __LEGION_CUDA_HD__
ScaleTransform(
const ScaleTransform<M, N, T2>& rhs);
95 template<
typename T2,
typename T3,
typename T4>
97 const Transform<M, N, T2> transform,
const Rect<M, T3> extent,
98 const Point<M, T4> divisor);
100 template<
typename T2>
101 __LEGION_CUDA_HD__ ScaleTransform<M, N, T>& operator=(
102 const ScaleTransform<M, N, T2>& rhs);
105 template<
typename T2>
106 __LEGION_CUDA_HD__ Rect<M, T> operator[](
const Point<N, T2> point)
const;
109 bool is_identity(
void)
const;
111 Transform<M, N, T> transform;
Definition geometry.h:159