Exemplo n.º 1
0
PointData::PointData( const PointData & data0, const PointData & data1 ) : DenseMultiDimensionalData(1,1) {
    if( data0.fname.length() > 0 ){
        fname = data0.fname;
    }
    else{
        if( data1.fname.length() > 0 ) fname = data1.fname;
    }

    if( data0.GetVoxelCount() != data1.GetVoxelCount() ){
        std::cout << "PointData: WARNING - Merging two datasets with different element counts" << std::endl << std::flush;
    }

    Resize( SCI::Max(data0.GetVoxelCount(),data1.GetVoxelCount()), data0.GetDim() + data1.GetDim() );

    std::vector<float> space( data0.GetDim() + data1.GetDim() );

    for(int i = 0; i < GetVoxelCount(); i++){
        data0.GetElement( i, &(space[0]) );
        data1.GetElement( i, &(space[data0.GetDim()]) );
        SetElement( i, &(space[0]) );
    }

    std::cout << "PointData: " << GetVoxelCount() << " points, " << GetDim() << " dim" << std::endl << std::flush;

    CalculateMinMaxMeans();

}