Program: wxMaracas
Module: $RCSfile: volume.cxx,v $
Language: C++
- Date: $Date: 2008/11/14 15:57:12 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2008/11/21 18:13:38 $
+ Version: $Revision: 1.3 $
Copyright: (c) 2002, 2003
License:
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
// -------------------------------------------------------------------------
-const int kVolume::IDOTypes[] = { VOL_CHAR, VOL_FLOAT, VOL_DOUBLE, VOL_LONG,
- VOL_SHORT, VOL_UCHAR, VOL_ULONG,
- VOL_USHORT };
+//const int kVolume::IDOTypes[] = { VOL_CHAR, VOL_FLOAT, VOL_DOUBLE, VOL_LONG,
+// VOL_SHORT, VOL_UCHAR, VOL_ULONG,
+// VOL_USHORT };
-#endif // KGFO_USE_IDO
+//#endif // KGFO_USE_IDO
// -------------------------------------------------------------------------
const void* kVolume::BLANK = ( void* ) 0;
#ifdef KGFO_USE_VTK
_vtk( NULL ),
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
- _privateIdo( NULL ),
-#endif // KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
+// _privateIdo( NULL ),
+//#endif // KGFO_USE_IDO
_raw( NULL ), _columns( NULL ),
_images( NULL )
{
#ifdef KGFO_USE_VTK
_vtk( NULL ),
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
- _privateIdo( NULL ),
-#endif // KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
+// _privateIdo( NULL ),
+//#endif // KGFO_USE_IDO
_raw( NULL ), _columns( NULL ),
_images( NULL )
{
#ifdef KGFO_USE_VTK
_vtk( NULL ),
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
- _privateIdo( NULL ),
-#endif // KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
+// _privateIdo( NULL ),
+//#endif // KGFO_USE_IDO
_raw( NULL ), _columns( NULL ),
_images( NULL )
{
#ifdef KGFO_USE_VTK
_vtk( NULL ),
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
- _privateIdo( NULL ),
-#endif // KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
+// _privateIdo( NULL ),
+//#endif // KGFO_USE_IDO
_raw( NULL ), _columns( NULL ),
_images( NULL )
{
size = ( _dims[ CZ ] * sizeof( uchar** ) ) +
( _dims[ CZ ] * _dims[ CY ] * sizeof( void* ) );
-
-#ifdef KGFO_USE_IDO
-
- if( _creator == SELF || _creator == VTK ) {
-
- size += sizeof( PRIVATE_VOLUME );
-
- _privateIdo = ( PRIVATE_VOLUME* ) new uchar[ size ];
- _privateIdo->UsedNbZ = 0; // Warning, I don't really know
- _privateIdo->UsedNbY = 0; // the reason to use these three
- _privateIdo->UsedNbX = 0; // fields. - lflorez
- _privateIdo->subObject = 1;
- _privateIdo->DimX = _dims[ CX ];
- _privateIdo->DimY = _dims[ CY ];
- _privateIdo->DimZ = _dims[ CZ ];
- _privateIdo->_message = 0;
- _privateIdo->_fichier = 0;
- _privateIdo->Type = IDOTypes[ _type ];
-
- _images = ( void*** ) &( _privateIdo[ 1 ] );
-
-#else
_images = ( void*** )new uchar[ size ];
-#endif // KGFO_USE_IDO
-
_columns = ( void** )( _images + _dims[ CZ ] );
void** plane = _columns;
for( uint z = 0; z < _dims[ CZ ]; z++ ) {
_dims[ CX ] * SIZETypes[ _type ] );
} // rof
-
-#ifdef KGFO_USE_IDO
-
- } else
- _images = ( void*** )( &_privateIdo[ 1 ] );
-
-#endif // KGFO_USE_IDO
#ifdef KGFO_USE_VTK
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
- if( _creator == SELF || _creator == VTK ) {
+// if( _creator == SELF || _creator == VTK ) {
- delete[] _privateIdo;
- _privateIdo = NULL;
+// delete[] _privateIdo;
+// _privateIdo = NULL;
- } // fi
+// } // fi
-#else
+//#else
delete[] ( uchar* )_images;
-#endif // KGFO_USE_IDO
+//#endif // KGFO_USE_IDO
if( _raw && _creator == SELF )
kVolume::kVolume( vtkImageData* org )
: _raw( 0 ), _columns( 0 ), _images( 0 ),
_creator( VTK ),
-#ifdef KGFO_USE_IDO
- _privateIdo( NULL ),
-#endif // KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
+// _privateIdo( NULL ),
+//#endif // KGFO_USE_IDO
_vtk( 0 )
{
//int i, j, k, y;
deallocate( );
-#ifdef KGFO_USE_IDO
+//#ifdef KGFO_USE_IDO
- _privateIdo = NULL;
+// _privateIdo = NULL;
-#endif // KGFO_USE_IDO
+//#endif // KGFO_USE_IDO
_vtk = NULL;
_raw = NULL;
// This avoids vtk extent crap conversion...
org->GetExtent( ext );
for( i = ext[ 0 ]; i <= ext[ 1 ]; i++ ) {
-
for( j = ext[ 2 ]; j <= ext[ 3 ]; j++ ) {
-
- for( k = ext[ 4 ]; k <= ext[ 5 ]; k++ ) {
-
+ for( k = ext[ 4 ]; k <= ext[ 5 ]; k++ ) {
v = org->GetScalarComponentAsDouble( i, j, k, 0 );
- setPixel( v, i - ext[ 0 ], j - ext[ 2 ], k - ext[ 4 ] );
-
+ setPixel( v, i - ext[ 0 ], j - ext[ 2 ], k - ext[ 4 ] );
} // rof
-
} // rof
-
} // rof
}
#endif // KGFO_USE_VTK
-#ifdef KGFO_USE_IDO
-
-// -------------------------------------------------------------------------
-kVolume::kVolume( PPPVOLUME org )
- : _raw( 0 ), _columns( 0 ), _images( 0 ),
- _creator( IDO ),
-#ifdef KGFO_USE_VTK
- _vtk( 0 ),
-#endif // KGFO_USE_VTK
- _privateIdo( 0 )
-{
- switch( IdVolType( org ) ) {
-
- case VOL_UCHAR: _type = UCHAR; break;
- case VOL_CHAR: _type = CHAR; break;
- case VOL_FLOAT: _type = FLOAT; break;
- case VOL_DOUBLE: _type = DOUBLE; break;
- case VOL_SHORT: _type = SHORT; break;
- case VOL_USHORT: _type = USHORT; break;
- case VOL_LONG: _type = INT; break;
- case VOL_ULONG: _type = UINT; break;
- default: break;
-
- } // fswitch
-
- _dims[ CX ] = IdVolDimX( org );
- _dims[ CY ] = IdVolDimY( org );
- _dims[ CZ ] = IdVolDimZ( org );
- _sizes[ CX ] = 1;
- _sizes[ CY ] = 1;
- _sizes[ CZ ] = 1;
-
- _privateIdo = _IdVolPrivate( org );
- _raw = ( ( void*** ) &( _privateIdo[ 1 ] ) )[ 0 ][ 0 ];
- buildIndex( );
-}
-
-// -------------------------------------------------------------------------
-kVolume& kVolume::operator=( PPPVOLUME org )
-{
- copyFrom( org );
- return( *this );
-}
-
-// -------------------------------------------------------------------------
-void kVolume::copyFrom( PPPVOLUME org )
-{
- void* buffer;
-
- deallocate( );
-
- _raw = NULL;
- _columns = NULL;
- _images = NULL;
- _creator = SELF;
-#ifdef KGFO_USE_VTK
- _vtk = NULL;
-#endif // KGFO_USE_VTK
- _privateIdo = NULL;
-
- switch( IdVolType( org ) ) {
-
- case VOL_UCHAR: _type = UCHAR; break;
- case VOL_CHAR: _type = CHAR; break;
- case VOL_FLOAT: _type = FLOAT; break;
- case VOL_DOUBLE: _type = DOUBLE; break;
- case VOL_SHORT: _type = SHORT; break;
- case VOL_USHORT: _type = USHORT; break;
- case VOL_LONG: _type = INT; break;
- case VOL_ULONG: _type = UINT; break;
- default: break;
-
- } // fswitch
-
- _dims[ CX ] = IdVolDimX( org );
- _dims[ CY ] = IdVolDimY( org );
- _dims[ CZ ] = IdVolDimZ( org );
- _sizes[ CX ] = 1;
- _sizes[ CY ] = 1;
- _sizes[ CZ ] = 1;
-
- allocate( );
- buildIndex( );
- buffer = ( ( void*** ) &( org[ 1 ] ) )[ 0 ][ 0 ];
- memcpy( _raw, buffer, getRawSizeInBytes( ) );
-}
-
-#endif // KGFO_USE_IDO
// eof - volume.cxx