diff --git a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/FEMTree.h b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/FEMTree.h index a15a254..2df753b 100644 --- a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/FEMTree.h +++ b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/FEMTree.h @@ -409,7 +409,7 @@ struct DenseNodeData< Data , UIntPack< FEMSigs ... > > : public _SparseOrDenseNo Data& operator[]( const RegularTreeNode< Dim , FEMTreeNodeData >* node ) { return _data[ node->nodeData.nodeIndex ]; } Data* operator()( const RegularTreeNode< Dim , FEMTreeNodeData >* node ) { return ( node==NULL || node->nodeData.nodeIndex>=(int)_sz ) ? NULL : &_data[ node->nodeData.nodeIndex ]; } const Data* operator()( const RegularTreeNode< Dim , FEMTreeNodeData >* node ) const { return ( node==NULL || node->nodeData.nodeIndex>=(int)_sz ) ? NULL : &_data[ node->nodeData.nodeIndex ]; } - int index( const RegularTreeNode< Dim , FEMTreeNodeData >* node ) const { return ( !node || node->nodeData.nodeIndex<0 || node->nodeData.nodeIndex>=(int)this->_data.size() ) ? -1 : node->nodeData.nodeIndex; } + int index( const RegularTreeNode< Dim , FEMTreeNodeData >* node ) const { return ( !node || node->nodeData.nodeIndex<0 || node->nodeData.nodeIndex>=(int)this->_data->size() ) ? -1 : node->nodeData.nodeIndex; } Pointer( Data ) operator()( void ) { return _data; } ConstPointer( Data ) operator()( void ) const { return ( ConstPointer( Data ) )_data; } protected: @@ -1923,12 +1923,12 @@ class FEMTree if( node ) { int d , off[Dim] ; node->depthAndOffset( d , off ); - BaseFEMIntegrator::template ParentOverlapBounds( UIntPack< FEMDegrees1 ... >() , UIntPack< FEMDegrees2 ... >() , d , off , start , end ); + BaseFEMIntegrator::template ParentOverlapBounds<>( UIntPack< FEMDegrees1 ... >() , UIntPack< FEMDegrees2 ... >() , d , off , start , end ); } } template< unsigned int ... FEMDegrees1 , unsigned int ... FEMDegrees2 > static void _SetParentOverlapBounds( UIntPack< FEMDegrees1 ... > , UIntPack< FEMDegrees2 ... > , int cIdx , int start[Dim] , int end[Dim] ) { - BaseFEMIntegrator::template ParentOverlapBounds( UIntPack< FEMDegrees1 ... >() , UIntPack< FEMDegrees2 ... >() , cIdx , start , end ); + BaseFEMIntegrator::template ParentOverlapBounds<>( UIntPack< FEMDegrees1 ... >() , UIntPack< FEMDegrees2 ... >() , cIdx , start , end ); } template< unsigned int ... FEMSigs > diff --git a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/MarchingCubes.h b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/MarchingCubes.h index a4b0e5a..b81b6e1 100644 --- a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/MarchingCubes.h +++ b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/MarchingCubes.h @@ -574,7 +574,7 @@ namespace HyperCube { unsigned int coIndex; e.factor( dir , coIndex ); - if( dir==CROSS ) Cube< D-1 >::template _FactorOrientation( typename Cube< D-1 >::template Element< D-2 >( coIndex ) , dim , dir ); + if( dir==CROSS ) Cube< D-1 >::template _FactorOrientation<>( typename Cube< D-1 >::template Element< D-2 >( coIndex ) , dim , dir ); else dim = D-1; } template< unsigned int D > template< unsigned int _D > @@ -660,9 +660,9 @@ namespace HyperCube { Direction eDir , dDir ; unsigned int eCoIndex , dCoIndex; e.factor( eDir , eCoIndex ) , d.factor( dDir , dCoIndex ); - if ( eDir==CROSS ){ return 1 + Cube< D-1 >::template CellOffset( typename Cube< D-1 >::template Element< K-1 >( eCoIndex ) , d ) * 3; } - else if( eDir==BACK ){ return 0 + ( dDir==BACK ? 0 : 1 ) + Cube< D-1 >::template CellOffset( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ) * 3; } - else if( eDir==FRONT ){ return 1 + ( dDir==BACK ? 0 : 1 ) + Cube< D-1 >::template CellOffset( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ) * 3; } + if ( eDir==CROSS ){ return 1 + Cube< D-1 >::template CellOffset<>( typename Cube< D-1 >::template Element< K-1 >( eCoIndex ) , d ) * 3; } + else if( eDir==BACK ){ return 0 + ( dDir==BACK ? 0 : 1 ) + Cube< D-1 >::template CellOffset<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ) * 3; } + else if( eDir==FRONT ){ return 1 + ( dDir==BACK ? 0 : 1 ) + Cube< D-1 >::template CellOffset<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ) * 3; } return 0; } template< unsigned int D > template< unsigned int K , unsigned int _D > @@ -693,9 +693,9 @@ namespace HyperCube { Direction eDir , dDir ; unsigned int eCoIndex , dCoIndex; e.factor( eDir , eCoIndex ) , d.factor( dDir , dCoIndex ); - if ( eDir==CROSS ) return Element< K >( eDir , Cube< D-1 >::template IncidentElement( typename Cube< D-1 >::template Element< K-1 >( eCoIndex ) , d ).index ); - else if( eDir==dDir ) return Element< K >( Opposite( eDir ) , Cube< D-1 >::template IncidentElement( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); - else return Element< K >( eDir , Cube< D-1 >::template IncidentElement( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); + if ( eDir==CROSS ) return Element< K >( eDir , Cube< D-1 >::template IncidentElement<>( typename Cube< D-1 >::template Element< K-1 >( eCoIndex ) , d ).index ); + else if( eDir==dDir ) return Element< K >( Opposite( eDir ) , Cube< D-1 >::template IncidentElement<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); + else return Element< K >( eDir , Cube< D-1 >::template IncidentElement<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); } template< unsigned int D > template< unsigned int K , unsigned int _D > #ifdef _MSC_VER @@ -706,8 +706,8 @@ namespace HyperCube { Direction eDir , dDir ; unsigned int eCoIndex , dCoIndex; e.factor( eDir , eCoIndex ) , d.factor( dDir , dCoIndex ); - if( eDir==dDir ) return Element< K >( Opposite( eDir ) , Cube< D-1 >::template IncidentElement( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); - else return Element< K >( eDir , Cube< D-1 >::template IncidentElement( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); + if( eDir==dDir ) return Element< K >( Opposite( eDir ) , Cube< D-1 >::template IncidentElement<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); + else return Element< K >( eDir , Cube< D-1 >::template IncidentElement<>( typename Cube< D-1 >::template Element< K >( eCoIndex ) , typename Cube< D-1 >::template IncidentCubeIndex< K >( dCoIndex ) ).index ); } diff --git a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/SparseMatrix.inl b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/SparseMatrix.inl index d7a6d1c..6343db0 100644 --- a/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/SparseMatrix.inl +++ b/CppDependencies/PoissonRecon/Sources/include/PoissonRecon/SparseMatrix.inl @@ -462,7 +462,7 @@ SparseMatrix< T , IndexType , 0 > SparseMatrix< T , IndexType , 0 >::Transpose( A.resize( aRows ); for( size_t i=0 ; iN ]++; - for( size_t i=0 ; i SparseMatrix< T , IndexType , 0 >::Transpose( A.resize( aRows ); for( size_t i=0 ; iN ]++; - for( size_t i=0 ; i #import #import +#include using namespace standard_cyborg;