ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
BSplineIntegrationData< Degree1, Degree2 > Class Template Reference

#include <BSplineData.h>

Classes

struct  FunctionIntegrator
 

Public Types

typedef BSplineEvaluationData< Degree1 > EData1
 
typedef BSplineEvaluationData< Degree2 > EData2
 

Static Public Member Functions

static double Dot (int depth1, int off1, bool dirichlet1, bool d1, int depth2, int off2, bool dirichlet2, bool d2)
 
static void InteriorOverlappedSpan (int depth, int &begin, int &end)
 
static void SetIntegrator (typename FunctionIntegrator::Integrator &integrator, int depth, bool dirichlet1, bool dirichlet2)
 
static void SetChildIntegrator (typename FunctionIntegrator::ChildIntegrator &integrator, int parentDepth, bool dirichlet1, bool dirichlet2)
 

Static Public Attributes

static const int OverlapStart = ( EData1:: SupportStart - EData2::SupportEnd )
 
static const int OverlapEnd = ( EData1:: SupportEnd - EData2::SupportStart )
 
static const int OverlapSize = ( EData1:: SupportEnd - EData2::SupportStart )-( EData1:: SupportStart - EData2::SupportEnd )+1
 
static const int ChildOverlapStart = ( EData1::ChildSupportStart - EData2::SupportEnd )
 
static const int ChildOverlapEnd = ( EData1::ChildSupportEnd - EData2::SupportStart )
 
static const int ChildOverlapSize = ( EData1::ChildSupportEnd - EData2::SupportStart )-( EData1::ChildSupportStart - EData2::SupportEnd )+1
 
static const int OverlapSupportStart = ( OverlapStart + EData2::SupportStart )
 
static const int OverlapSupportEnd = ( OverlapEnd + EData2::SupportEnd )
 
static const int OverlapSupportSize = ( OverlapEnd + EData2::SupportEnd )-( OverlapStart + EData2::SupportStart )+1
 
static const int ChildOverlapSupportStart = ( ChildOverlapStart + EData2::SupportStart )
 
static const int ChildOverlapSupportEnd = ( ChildOverlapEnd + EData2::SupportEnd )
 
static const int ChildOverlapSupportSize = ( ChildOverlapEnd + EData2::SupportEnd )-( ChildOverlapStart + EData2::SupportStart )+1
 
static const int ParentOverlap0Start = ( ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )
 
static const int ParentOverlap0End = ( ( ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )
 
static const int ParentOverlap0Size = ( ( ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )-( ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )+1
 
static const int ParentOverlap1Start = ( ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )
 
static const int ParentOverlap1End = ( ( ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )
 
static const int ParentOverlap1Size = ( ( ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )-( ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )+1
 
static const int ParentOverlapStart [] = { ParentOverlap0Start , ParentOverlap1Start }
 
static const int ParentOverlapEnd [] = { ParentOverlap0End , ParentOverlap1End }
 
static const int ParentOverlapSize [] = { ParentOverlap0Size , ParentOverlap1Size }
 

Detailed Description

template<int Degree1, int Degree2>
class BSplineIntegrationData< Degree1, Degree2 >

Definition at line 276 of file BSplineData.h.

Member Typedef Documentation

◆ EData1

template<int Degree1, int Degree2>
typedef BSplineEvaluationData< Degree1 > BSplineIntegrationData< Degree1, Degree2 >::EData1

Definition at line 283 of file BSplineData.h.

◆ EData2

template<int Degree1, int Degree2>
typedef BSplineEvaluationData< Degree2 > BSplineIntegrationData< Degree1, Degree2 >::EData2

Definition at line 284 of file BSplineData.h.

Member Function Documentation

◆ Dot()

template<int Degree1, int Degree2>
static double BSplineIntegrationData< Degree1, Degree2 >::Dot ( int  depth1,
int  off1,
bool  dirichlet1,
bool  d1,
int  depth2,
int  off2,
bool  dirichlet2,
bool  d2 
)
static

◆ InteriorOverlappedSpan()

template<int Degree1, int Degree2>
static void BSplineIntegrationData< Degree1, Degree2 >::InteriorOverlappedSpan ( int  depth,
int &  begin,
int &  end 
)
inlinestatic

◆ SetChildIntegrator()

template<int Degree1, int Degree2>
static void BSplineIntegrationData< Degree1, Degree2 >::SetChildIntegrator ( typename FunctionIntegrator::ChildIntegrator integrator,
int  parentDepth,
bool  dirichlet1,
bool  dirichlet2 
)
static

◆ SetIntegrator()

template<int Degree1, int Degree2>
static void BSplineIntegrationData< Degree1, Degree2 >::SetIntegrator ( typename FunctionIntegrator::Integrator integrator,
int  depth,
bool  dirichlet1,
bool  dirichlet2 
)
static

Member Data Documentation

◆ ChildOverlapEnd

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapEnd = ( EData1::ChildSupportEnd - EData2::SupportStart )
static

Definition at line 286 of file BSplineData.h.

◆ ChildOverlapSize

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapSize = ( EData1::ChildSupportEnd - EData2::SupportStart )-( EData1::ChildSupportStart - EData2::SupportEnd )+1
static

Definition at line 286 of file BSplineData.h.

◆ ChildOverlapStart

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapStart = ( EData1::ChildSupportStart - EData2::SupportEnd )
static

Definition at line 286 of file BSplineData.h.

◆ ChildOverlapSupportEnd

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapSupportEnd = ( ChildOverlapEnd + EData2::SupportEnd )
static

Definition at line 288 of file BSplineData.h.

◆ ChildOverlapSupportSize

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapSupportSize = ( ChildOverlapEnd + EData2::SupportEnd )-( ChildOverlapStart + EData2::SupportStart )+1
static

Definition at line 288 of file BSplineData.h.

◆ ChildOverlapSupportStart

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ChildOverlapSupportStart = ( ChildOverlapStart + EData2::SupportStart )
static

Definition at line 288 of file BSplineData.h.

◆ OverlapEnd

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapEnd = ( EData1:: SupportEnd - EData2::SupportStart )
static

◆ OverlapSize

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapSize = ( EData1:: SupportEnd - EData2::SupportStart )-( EData1:: SupportStart - EData2::SupportEnd )+1
static

Definition at line 285 of file BSplineData.h.

◆ OverlapStart

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapStart = ( EData1:: SupportStart - EData2::SupportEnd )
static

◆ OverlapSupportEnd

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapSupportEnd = ( OverlapEnd + EData2::SupportEnd )
static

Definition at line 287 of file BSplineData.h.

◆ OverlapSupportSize

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapSupportSize = ( OverlapEnd + EData2::SupportEnd )-( OverlapStart + EData2::SupportStart )+1
static

Definition at line 287 of file BSplineData.h.

◆ OverlapSupportStart

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::OverlapSupportStart = ( OverlapStart + EData2::SupportStart )
static

Definition at line 287 of file BSplineData.h.

◆ ParentOverlap0End

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap0End = ( ( ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )
static

Definition at line 296 of file BSplineData.h.

◆ ParentOverlap0Size

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap0Size = ( ( ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 0 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )-( ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )+1
static

Definition at line 296 of file BSplineData.h.

◆ ParentOverlap0Start

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap0Start = ( ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 0 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )
static

Definition at line 296 of file BSplineData.h.

◆ ParentOverlap1End

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap1End = ( ( ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )
static

Definition at line 297 of file BSplineData.h.

◆ ParentOverlap1Size

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap1Size = ( ( ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 )<0 ? - ( ( ( -( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) )+1 )>>1 ) : ( ( ( 1 + ( 2*Degree2 + Degree1 + 3 - 2*EData2::Inset + EData1::Inset ) / 2 )-1 ) >>1 ) ) ) )-( ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )+1
static

Definition at line 297 of file BSplineData.h.

◆ ParentOverlap1Start

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlap1Start = ( ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )<0 ? - ( ( -( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 ) ) >>1 ) : ( ( ( ( 1 - ( 2*Degree2 + Degree1 + 3 + 2*EData2::Inset - EData1::Inset ) / 2 )+1 )+1 )>>1 ) ) ) )
static

Definition at line 297 of file BSplineData.h.

◆ ParentOverlapEnd

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlapEnd = { ParentOverlap0End , ParentOverlap1End }
static

Definition at line 298 of file BSplineData.h.

◆ ParentOverlapSize

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlapSize = { ParentOverlap0Size , ParentOverlap1Size }
static

Definition at line 298 of file BSplineData.h.

◆ ParentOverlapStart

template<int Degree1, int Degree2>
const int BSplineIntegrationData< Degree1, Degree2 >::ParentOverlapStart = { ParentOverlap0Start , ParentOverlap1Start }
static

Definition at line 298 of file BSplineData.h.


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