Legion Runtime
Public Member Functions | Public Attributes | List of all members
Legion::ScaleTransform< M, N, T > Class Template Reference

#include <legion_domain.h>

Public Member Functions

template<typename T2 >
__CUDA_HD__ ScaleTransform (const ScaleTransform< M, N, T2 > &rhs)
 
template<typename T2 , typename T3 , typename T4 >
__CUDA_HD__ ScaleTransform (const Transform< M, N, T2 > transform, const Rect< M, T3 > extent, const Point< M, T4 > divisor)
 
template<typename T2 >
__CUDA_HD__ ScaleTransform< M, N, T > & operator= (const ScaleTransform< M, N, T2 > &rhs)
 
template<typename T2 >
__CUDA_HD__ Rect< M, T > operator[] (const Point< N, T2 > point) const
 
__CUDA_HD__ bool is_identity (void) const
 

Public Attributes

Transform< M, N, T > transform
 
Rect< M, T > extent
 
Point< M, T > divisor
 

Detailed Description

template<int M, int N, typename T = coord_t>
class Legion::ScaleTransform< M, N, T >

A scale transform is a used to do a projection transform that converts a point in one coordinate space into a range in another coordinate system using the transform:

[y0, y1] = Ax + [b, c]

d where all lower case letters are points and A is transform matrix. Note that by making b == c then we can make this a one-to-one point mapping.


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