ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
BSplineEvaluationData< Degree > Class Template Reference

#include <BSplineData.h>

Inheritance diagram for BSplineEvaluationData< Degree >:

Classes

struct  BSplineComponents
 
struct  BSplineUpSamplingCoefficients
 
struct  CenterEvaluator
 
struct  ChildEvaluator
 
struct  CornerEvaluator
 
struct  Evaluator
 
struct  UpSampleEvaluator
 

Public Member Functions

 BSplineEvaluationData (void)
 

Static Public Member Functions

static double Value (int depth, int off, double s, bool dirichlet, bool derivative)
 
static int Dimension (int depth)
 
static void InteriorSupportedSpan (int depth, int &begin, int &end)
 
static void SetCenterEvaluator (typename CenterEvaluator::Evaluator &evaluator, int depth, bool dirichlet)
 
static void SetChildCenterEvaluator (typename CenterEvaluator::ChildEvaluator &evaluator, int parentDepth, bool dirichlet)
 
static void SetCornerEvaluator (typename CornerEvaluator::Evaluator &evaluator, int depth, bool dirichlet)
 
static void SetChildCornerEvaluator (typename CornerEvaluator::ChildEvaluator &evaluator, int parentDepth, bool dirichlet)
 
static void SetEvaluator (Evaluator &evaluator, int depth, bool dirichlet)
 
static void SetChildEvaluator (ChildEvaluator &evaluator, int depth, bool dirichlet)
 
static void SetUpSampleEvaluator (UpSampleEvaluator &evaluator, int lowDepth, bool dirichlet)
 

Static Public Attributes

static const int Inset = (Degree&1) ? 0 : 1
 
static const int SupportStart = ( -( (Degree+1)/2 ) )
 
static const int SupportEnd = ( Degree/2 )
 
static const int SupportSize = ( Degree/2 )-( -( (Degree+1)/2 ) )+1
 
static const int ChildSupportStart = ( 2*SupportStart )
 
static const int ChildSupportEnd = ( 2*(SupportEnd+1)-1 )
 
static const int ChildSupportSize = ( 2*(SupportEnd+1)-1 )-( 2*SupportStart )+1
 
static const int CornerStart = ( SupportStart+1 )
 
static const int CornerEnd = ( SupportEnd )
 
static const int CornerSize = ( SupportEnd )-( SupportStart+1 )+1
 
static const int ChildCornerStart = ( 2*SupportStart+1 )
 
static const int ChildCornerEnd = ( 2*SupportEnd + 1 )
 
static const int ChildCornerSize = ( 2*SupportEnd + 1 )-( 2*SupportStart+1 )+1
 
static const int UpSampleStart = ( - ( Degree + 1 - Inset ) / 2 )
 
static const int UpSampleEnd = ( ( Degree + 1 + Inset ) /2 )
 
static const int UpSampleSize = ( ( Degree + 1 + Inset ) /2 )-( - ( Degree + 1 - Inset ) / 2 )+1
 
static const int DownSample0Start = ( ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 0 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )
 
static const int DownSample0End = ( ( ( ( 0 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 0 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 0 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )
 
static const int DownSample0Size = ( ( ( ( 0 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 0 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 0 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )-( ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 0 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )+1
 
static const int DownSample1Start = ( ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 1 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )
 
static const int DownSample1End = ( ( ( ( 1 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 1 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 1 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )
 
static const int DownSample1Size = ( ( ( ( 1 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 1 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 1 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )-( ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 1 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )+1
 
static const int DownSampleStart [] = { DownSample0Start , DownSample1Start }
 
static const int DownSampleEnd [] = { DownSample0End , DownSample1End }
 
static const int DownSampleSize [] = { DownSample0Size , DownSample1Size }
 

Detailed Description

template<int Degree>
class BSplineEvaluationData< Degree >

Definition at line 102 of file BSplineData.h.

Constructor & Destructor Documentation

◆ BSplineEvaluationData()

template<int Degree>
BSplineEvaluationData< Degree >::BSplineEvaluationData ( void  )

Member Function Documentation

◆ Dimension()

◆ InteriorSupportedSpan()

template<int Degree>
static void BSplineEvaluationData< Degree >::InteriorSupportedSpan ( int  depth,
int &  begin,
int &  end 
)
inlinestatic

◆ SetCenterEvaluator()

template<int Degree>
static void BSplineEvaluationData< Degree >::SetCenterEvaluator ( typename CenterEvaluator::Evaluator evaluator,
int  depth,
bool  dirichlet 
)
static

◆ SetChildCenterEvaluator()

template<int Degree>
static void BSplineEvaluationData< Degree >::SetChildCenterEvaluator ( typename CenterEvaluator::ChildEvaluator evaluator,
int  parentDepth,
bool  dirichlet 
)
static

◆ SetChildCornerEvaluator()

template<int Degree>
static void BSplineEvaluationData< Degree >::SetChildCornerEvaluator ( typename CornerEvaluator::ChildEvaluator evaluator,
int  parentDepth,
bool  dirichlet 
)
static

◆ SetChildEvaluator()

◆ SetCornerEvaluator()

template<int Degree>
static void BSplineEvaluationData< Degree >::SetCornerEvaluator ( typename CornerEvaluator::Evaluator evaluator,
int  depth,
bool  dirichlet 
)
static

◆ SetEvaluator()

◆ SetUpSampleEvaluator()

template<int Degree>
static void BSplineEvaluationData< Degree >::SetUpSampleEvaluator ( UpSampleEvaluator evaluator,
int  lowDepth,
bool  dirichlet 
)
static

◆ Value()

template<int Degree>
static double BSplineEvaluationData< Degree >::Value ( int  depth,
int  off,
double  s,
bool  dirichlet,
bool  derivative 
)
static

Member Data Documentation

◆ ChildCornerEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildCornerEnd = ( 2*SupportEnd + 1 )
static

Definition at line 121 of file BSplineData.h.

◆ ChildCornerSize

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildCornerSize = ( 2*SupportEnd + 1 )-( 2*SupportStart+1 )+1
static

Definition at line 121 of file BSplineData.h.

◆ ChildCornerStart

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildCornerStart = ( 2*SupportStart+1 )
static

Definition at line 121 of file BSplineData.h.

◆ ChildSupportEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildSupportEnd = ( 2*(SupportEnd+1)-1 )
static

Definition at line 119 of file BSplineData.h.

◆ ChildSupportSize

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildSupportSize = ( 2*(SupportEnd+1)-1 )-( 2*SupportStart )+1
static

Definition at line 119 of file BSplineData.h.

◆ ChildSupportStart

template<int Degree>
const int BSplineEvaluationData< Degree >::ChildSupportStart = ( 2*SupportStart )
static

Definition at line 119 of file BSplineData.h.

◆ CornerEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::CornerEnd = ( SupportEnd )
static

Definition at line 120 of file BSplineData.h.

◆ CornerSize

template<int Degree>
const int BSplineEvaluationData< Degree >::CornerSize = ( SupportEnd )-( SupportStart+1 )+1
static

Definition at line 120 of file BSplineData.h.

◆ CornerStart

template<int Degree>
const int BSplineEvaluationData< Degree >::CornerStart = ( SupportStart+1 )
static

Definition at line 120 of file BSplineData.h.

◆ DownSample0End

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample0End = ( ( ( ( 0 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 0 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 0 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )
static

Definition at line 137 of file BSplineData.h.

◆ DownSample0Size

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample0Size = ( ( ( ( 0 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 0 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 0 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )-( ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 0 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )+1
static

Definition at line 137 of file BSplineData.h.

◆ DownSample0Start

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample0Start = ( ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 0 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 0 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )
static

Definition at line 137 of file BSplineData.h.

◆ DownSample1End

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample1End = ( ( ( ( 1 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 1 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 1 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )
static

Definition at line 138 of file BSplineData.h.

◆ DownSample1Size

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample1Size = ( ( ( ( 1 + ( Degree + 1 - Inset ) / 2 )<0 ? - ( ( ( -( 1 + ( Degree + 1 - Inset ) / 2 ) )+1 )>>1 ) : ( ( 1 + ( Degree + 1 - Inset ) / 2 ) >>1 ) ) ) )-( ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 1 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )+1
static

Definition at line 138 of file BSplineData.h.

◆ DownSample1Start

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSample1Start = ( ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )<0 ? - ( ( -( 1 - ( Degree + 1 + Inset ) / 2 ) ) >>1 ) : ( ( ( 1 - ( Degree + 1 + Inset ) / 2 )+1 )>>1 ) ) ) )
static

Definition at line 138 of file BSplineData.h.

◆ DownSampleEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSampleEnd = { DownSample0End , DownSample1End }
static

Definition at line 139 of file BSplineData.h.

◆ DownSampleSize

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSampleSize = { DownSample0Size , DownSample1Size }
static

Definition at line 139 of file BSplineData.h.

◆ DownSampleStart

template<int Degree>
const int BSplineEvaluationData< Degree >::DownSampleStart = { DownSample0Start , DownSample1Start }
static

Definition at line 139 of file BSplineData.h.

◆ Inset

template<int Degree>
const int BSplineEvaluationData< Degree >::Inset = (Degree&1) ? 0 : 1
static

Definition at line 117 of file BSplineData.h.

◆ SupportEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::SupportEnd = ( Degree/2 )
static

◆ SupportSize

template<int Degree>
const int BSplineEvaluationData< Degree >::SupportSize = ( Degree/2 )-( -( (Degree+1)/2 ) )+1
static

Definition at line 118 of file BSplineData.h.

◆ SupportStart

template<int Degree>
const int BSplineEvaluationData< Degree >::SupportStart = ( -( (Degree+1)/2 ) )
static

◆ UpSampleEnd

template<int Degree>
const int BSplineEvaluationData< Degree >::UpSampleEnd = ( ( Degree + 1 + Inset ) /2 )
static

Definition at line 129 of file BSplineData.h.

◆ UpSampleSize

template<int Degree>
const int BSplineEvaluationData< Degree >::UpSampleSize = ( ( Degree + 1 + Inset ) /2 )-( - ( Degree + 1 - Inset ) / 2 )+1
static

Definition at line 129 of file BSplineData.h.

◆ UpSampleStart

template<int Degree>
const int BSplineEvaluationData< Degree >::UpSampleStart = ( - ( Degree + 1 - Inset ) / 2 )
static

Definition at line 129 of file BSplineData.h.


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