Skip to content

Commit 18e6e96

Browse files
committed
Version 8.0
Modified the code to support use of different order B-splines
1 parent 2e9c3fc commit 18e6e96

26 files changed

+5172
-7327
lines changed

PoissonRecon.vcxproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,11 @@
214214
<None Include="Src\Array.inl" />
215215
<None Include="Src\CmdLineParser.inl" />
216216
<None Include="Src\MAT.inl" />
217+
<None Include="Src\MultiGridOctreeData.Evaluation.inl" />
217218
<None Include="Src\MultiGridOctreeData.IsoSurface.inl" />
218219
<None Include="Src\MultiGridOctreeData.SortedTreeNodes.inl" />
220+
<None Include="Src\MultiGridOctreeData.System.inl" />
221+
<None Include="Src\MultiGridOctreeData.WeightedSamples.inl" />
219222
<None Include="Src\PointStream.inl" />
220223
<None Include="Src\BSplineData.inl" />
221224
<None Include="Src\Geometry.inl" />

PoissonRecon.vcxproj.filters

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,5 +139,14 @@
139139
<None Include="Src\MultiGridOctreeData.IsoSurface.inl">
140140
<Filter>Include Files</Filter>
141141
</None>
142+
<None Include="Src\MultiGridOctreeData.Evaluation.inl">
143+
<Filter>Include Files</Filter>
144+
</None>
145+
<None Include="Src\MultiGridOctreeData.WeightedSamples.inl">
146+
<Filter>Include Files</Filter>
147+
</None>
148+
<None Include="Src\MultiGridOctreeData.System.inl">
149+
<Filter>Include Files</Filter>
150+
</None>
142151
</ItemGroup>
143152
</Project>

Src/Array.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,10 @@ template< class C > void AlignedFreePointer( Array< C >& a ){ a.Free( ); }
6868
template< class C > void VFreePointer( Array< C >& a ){ a.Free( ); }
6969
template< class C > void DeletePointer( Array< C >& a ){ a.Delete( ); }
7070

71-
template< class C > Array< C > NewPointer( size_t size , const char* name=NULL ){ return Array< C >::New ( size , name ); }
72-
template< class C > Array< C > AllocPointer( size_t size , const char* name=NULL ){ return Array< C >::Alloc ( size , false , name ); }
71+
template< class C > Array< C > NewPointer( size_t size , const char* name=NULL ){ return Array< C >::New ( size , name ); }
72+
template< class C > Array< C > AllocPointer( size_t size , const char* name=NULL ){ return Array< C >::Alloc ( size , false , name ); }
7373
template< class C > Array< C > AlignedAllocPointer( size_t size , size_t alignment , const char* name=NULL ){ return Array< C >::AlignedAlloc( size , alignment , false , name ); }
74-
template< class C > Array< C > ReAllocPointer( Array< C >& a , size_t size , const char* name=NULL ){ return Array< C >::ReAlloc ( a , size , false , name ); }
75-
76-
//template< class C > Array< C > NullPointer( void ){ return Array< C >( ); }
74+
template< class C > Array< C > ReAllocPointer( Array< C >& a , size_t size , const char* name=NULL ){ return Array< C >::ReAlloc ( a , size , false , name ); }
7775

7876
template< class C > C* PointerAddress( Array< C >& a ) { return a.pointer(); }
7977
template< class C > const C* PointerAddress( ConstArray< C >& a ) { return a.pointer(); }

Src/Array.inl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public:
188188
// [WARNING] Chaning szC and szD to size_t causes some really strange behavior.
189189
long long szC = sizeof( C );
190190
long long szD = sizeof( D );
191-
data = (C*)&a[0];
191+
data = (C*)a.data;
192192
min = ( a.minimum() * szD ) / szC;
193193
max = ( a.maximum() * szD ) / szC;
194194
if( min*szC!=a.minimum()*szD || max*szC!=a.maximum()*szD )
@@ -306,6 +306,7 @@ public:
306306
return (*this);
307307
}
308308
inline Array& operator ++ ( void ) { return (*this) += 1; }
309+
inline Array operator++( int ){ Array< C > temp = (*this) ; (*this) +=1 ; return temp; }
309310
Array operator - ( int idx ) const { return (*this) + (-idx); }
310311
Array operator - ( long long idx ) const { return (*this) + (-idx); }
311312
Array operator - ( unsigned int idx ) const { return (*this) + (-idx); }
@@ -315,6 +316,7 @@ public:
315316
Array& operator -= ( unsigned int idx ) { return (*this) += (-idx); }
316317
Array& operator -= ( unsigned long long idx ) { return (*this) += (-idx); }
317318
Array& operator -- ( void ) { return (*this) -= 1; }
319+
inline Array operator--( int ){ Array< C > temp = (*this) ; (*this) -=1 ; return temp; }
318320
long long operator - ( const Array& a ) const { return ( long long )( data - a.data ); }
319321

320322
void Free( void )
@@ -501,6 +503,7 @@ public:
501503
return (*this);
502504
}
503505
inline ConstArray& operator ++ ( void ) { return (*this) += 1; }
506+
inline ConstArray operator++( int ){ ConstArray< C > temp = (*this) ; (*this) +=1 ; return temp; }
504507
ConstArray operator - ( int idx ) const { return (*this) + (-idx); }
505508
ConstArray operator - ( long long idx ) const { return (*this) + (-idx); }
506509
ConstArray operator - ( unsigned int idx ) const { return (*this) + (-idx); }
@@ -510,6 +513,7 @@ public:
510513
ConstArray& operator -= ( unsigned int idx ) { return (*this) += (-idx); }
511514
ConstArray& operator -= ( unsigned long long idx ) { return (*this) += (-idx); }
512515
ConstArray& operator -- ( void ) { return (*this) -= 1; }
516+
inline ConstArray operator--( int ){ ConstArray< C > temp = (*this) ; (*this) -=1 ; return temp; }
513517
long long operator - ( const ConstArray& a ) const { return ( long long )( data - a.data ); }
514518
long long operator - ( const Array< C >& a ) const { return ( long long )( data - a.pointer() ); }
515519

0 commit comments

Comments
 (0)