Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::StructuredTransform< N, T, N2, T2 > Class Template Reference

#include <indexspace.h>

Collaboration diagram for Realm::StructuredTransform< N, T, N2, T2 >:

Public Types

enum  StructuredTransformType { NONE = 0 , AFFINE = 1 , TRANSLATION = 2 }
 

Public Member Functions

 StructuredTransform (void)=default
 
 StructuredTransform (const AffineTransform< N, N2, T2 > &_transform)
 
 StructuredTransform (const TranslationTransform< N, T2 > &_transform)
 
Point< N, T > operator[] (const Point< N2, T > &point) const
 

Public Attributes

Realm::Matrix< N, N2, T2 > transform_matrix
 
Point< N, T2 > offset
 
StructuredTransformType type = StructuredTransformType::NONE
 

Detailed Description

template<int N, typename T, int N2, typename T2>
class Realm::StructuredTransform< N, T, N2, T2 >

A structured transform is used to represent both affine and translation transforms. It is templated on the dimensionality (N) and base type (T) of the index space that defines the domain over which the transform is defined, and the dimensionality (N2) and base type (T2) of the index space that defines the range of the transform.

Member Enumeration Documentation

◆ StructuredTransformType

template<int N, typename T , int N2, typename T2 >
enum Realm::StructuredTransform::StructuredTransformType
Enumerator
NONE 
AFFINE 
TRANSLATION 

Constructor & Destructor Documentation

◆ StructuredTransform() [1/3]

template<int N, typename T , int N2, typename T2 >
Realm::StructuredTransform< N, T, N2, T2 >::StructuredTransform ( void  )
default

◆ StructuredTransform() [2/3]

template<int N, typename T , int N2, typename T2 >
Realm::StructuredTransform< N, T, N2, T2 >::StructuredTransform ( const AffineTransform< N, N2, T2 > &  _transform)

◆ StructuredTransform() [3/3]

template<int N, typename T , int N2, typename T2 >
Realm::StructuredTransform< N, T, N2, T2 >::StructuredTransform ( const TranslationTransform< N, T2 > &  _transform)

Member Function Documentation

◆ operator[]()

template<int N, typename T , int N2, typename T2 >
Point< N, T > Realm::StructuredTransform< N, T, N2, T2 >::operator[] ( const Point< N2, T > &  point) const

Apply the structured transform to a point in the domain source coordinate space to produce a point in the destination coordinate space.

Parameters
pointThe point in the source coordinate space.
Returns
The point in the destination coordinate space.

Member Data Documentation

◆ offset

template<int N, typename T , int N2, typename T2 >
Point<N, T2> Realm::StructuredTransform< N, T, N2, T2 >::offset

◆ transform_matrix

template<int N, typename T , int N2, typename T2 >
Realm::Matrix<N, N2, T2> Realm::StructuredTransform< N, T, N2, T2 >::transform_matrix

◆ type

template<int N, typename T , int N2, typename T2 >
StructuredTransformType Realm::StructuredTransform< N, T, N2, T2 >::type = StructuredTransformType::NONE

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