@@ -876,6 +876,9 @@ def interfaces(self):
876876 def refined (self ):
877877 return self
878878
879+ def basis (self , * args , ** kwargs ):
880+ return function .PlainBasis (numpy .zeros ((0 ,)* (self .ndims + 1 )), numpy .zeros ((0 ,)* (self .ndims + 1 )), 0 , self .transforms , self .ndims , function .SelectChain (self .roots ))
881+
879882class Point (Topology ):
880883 'point'
881884
@@ -2401,19 +2404,15 @@ def interfaces(self):
24012404 return DisjointUnionTopology (interfaces )
24022405
24032406 def _productbasis (self , lbasis , rbasis ):
2404- if not lbasis :
2405- return rbasis
2406- if not rbasis :
2407- return lbasis
24082407 return function .ProductBasis (lbasis , rbasis , function .SelectChain (self .roots ))
24092408
24102409 def basis (self , name , * args , ** kwargs ):
24112410 if name in ('spline' , 'h-spline' , 'th-spline' ):
24122411 return self .basis_spline (* args , _variant = name , ** kwargs )
24132412 elif name == 'std' :
24142413 return self .basis_std (* args , ** kwargs )
2415- lbasis = self ._left .basis (name , * args , ** kwargs ) if self . _left . ndims else None
2416- rbasis = self ._right .basis (name , * args , ** kwargs ) if self . _right . ndims else None
2414+ lbasis = self ._left .basis (name , * args , ** kwargs )
2415+ rbasis = self ._right .basis (name , * args , ** kwargs )
24172416 return self ._productbasis (lbasis , rbasis )
24182417
24192418 def _split_list (self , value , scalar_type ):
@@ -2446,14 +2445,14 @@ def basis_spline(self, degree, removedofs=None, knotvalues=None, knotmultiplicit
24462445 lperiodic = [i for i in periodic if i < self ._left .ndims ]
24472446 rperiodic = [i - self ._left .ndims for i in periodic if i >= self ._left .ndims ]
24482447
2449- lbasis = self ._left .basis (_variant , degree = ldegree , removedofs = lremovedofs , knotvalues = lknotvalues , knotmultiplicities = lknotmultiplicities , continuity = lcontinuity , periodic = lperiodic ) if self . _left . ndims else None
2450- rbasis = self ._right .basis (_variant , degree = rdegree , removedofs = rremovedofs , knotvalues = rknotvalues , knotmultiplicities = rknotmultiplicities , continuity = rcontinuity , periodic = rperiodic ) if self . _right . ndims else None
2448+ lbasis = self ._left .basis (_variant , degree = ldegree , removedofs = lremovedofs , knotvalues = lknotvalues , knotmultiplicities = lknotmultiplicities , continuity = lcontinuity , periodic = lperiodic )
2449+ rbasis = self ._right .basis (_variant , degree = rdegree , removedofs = rremovedofs , knotvalues = rknotvalues , knotmultiplicities = rknotmultiplicities , continuity = rcontinuity , periodic = rperiodic )
24512450 return self ._productbasis (lbasis , rbasis )
24522451
24532452 def basis_std (self , degree ):
24542453 ldegree , rdegree = self ._split_scalar (degree , int )
2455- lbasis = self ._left .basis ('std' , degree = ldegree ) if self . _left . ndims else None
2456- rbasis = self ._right .basis ('std' , degree = rdegree ) if self . _right . ndims else None
2454+ lbasis = self ._left .basis ('std' , degree = ldegree )
2455+ rbasis = self ._right .basis ('std' , degree = rdegree )
24572456 return self ._productbasis (lbasis , rbasis )
24582457
24592458 @property
0 commit comments