33 static_assert(M > 0,
"M must be positive");
34 static_assert(N > 0,
"N must be positive");
35 static_assert(std::is_integral<T>::value,
"must be integral type");
41 __LEGION_CUDA_HD__
AffineTransform(
const AffineTransform<M, N, T2>& rhs);
42 template<
typename T2,
typename T3>
44 const Transform<M, N, T2> transform,
const Point<M, T3> offset);
47 __LEGION_CUDA_HD__ AffineTransform<M, N, T>& operator=(
48 const AffineTransform<M, N, T2>& rhs);
52 __LEGION_CUDA_HD__ Point<M, T> operator[](
const Point<N, T2> point)
const;
55 __LEGION_CUDA_HD__ AffineTransform<M, P, T> operator()(
56 const AffineTransform<N, P, T>& rhs)
const;
59 bool is_identity(
void)
const;
62 Transform<M, N, T> transform;
81 static_assert(M > 0,
"M must be positive");
82 static_assert(M > 0,
"N must be positive");
83 static_assert(std::is_integral<T>::value,
"must be integral type");
89 __LEGION_CUDA_HD__
ScaleTransform(
const ScaleTransform<M, N, T2>& rhs);
90 template<
typename T2,
typename T3,
typename T4>
92 const Transform<M, N, T2> transform,
const Rect<M, T3> extent,
93 const Point<M, T4> divisor);
96 __LEGION_CUDA_HD__ ScaleTransform<M, N, T>& operator=(
97 const ScaleTransform<M, N, T2>& rhs);
100 template<
typename T2>
101 __LEGION_CUDA_HD__ Rect<M, T> operator[](
const Point<N, T2> point)
const;
104 bool is_identity(
void)
const;
106 Transform<M, N, T> transform;
Definition geometry.h:154