Pointer<Streamable> IBInstrumentationSpec::Factory::unpackStream(AbstractStream& stream,
                                                                 const IntVector<NDIM>& /*offset*/)
{
    Pointer<IBInstrumentationSpec> ret_val = new IBInstrumentationSpec();
    stream.unpack(&ret_val->d_master_idx, 1);
    stream.unpack(&ret_val->d_meter_idx, 1);
    stream.unpack(&ret_val->d_node_idx, 1);
    return ret_val;
} // unpackStream
Pointer<Streamable>
IBTargetPointForceSpec::Factory::unpackStream(
    AbstractStream& stream,
    const IntVector<NDIM>& /*offset*/)
{
    Pointer<IBTargetPointForceSpec> ret_val = new IBTargetPointForceSpec();
    stream.unpack(&ret_val->d_master_idx,1);
    stream.unpack(&ret_val->d_kappa_target,1);
    stream.unpack(&ret_val->d_eta_target,1);
    stream.unpack(ret_val->d_X_target.data(),NDIM);
#if ENABLE_SUBDOMAIN_INDICES
    stream.unpack(&ret_val->d_subdomain_idx,1);
#endif
    return ret_val;
}// unpackStream
Pointer<Streamable> MaterialPointSpec::Factory::unpackStream(AbstractStream& stream,
                                                             const IntVector<NDIM>& /*offset*/)
{
    Pointer<MaterialPointSpec> ret_val = new MaterialPointSpec();
    stream.unpack(&ret_val->d_point_idx, 1);
    stream.unpack(&ret_val->d_weight, 1);
    int subdomain_id;
    stream.unpack(&subdomain_id, 1);
    ret_val->d_subdomain_id = subdomain_id;
    int n_internal_vars;
    stream.unpack(&n_internal_vars, 1);
    ret_val->d_internal_vars.resize(n_internal_vars);
    if (n_internal_vars) stream.unpack(&ret_val->d_internal_vars[0], n_internal_vars);
    return ret_val;
} // unpackStream
示例#4
0
void
LTransaction<T>::unpackStream(
    AbstractStream& stream)
{
    static const IntVector<NDIM> periodic_offset = 0;
    int num_items;
    stream >> num_items;
    d_dst_item_set.resize(num_items);
    for (typename std::vector<LTransactionComponent>::iterator it = d_dst_item_set.begin(); it != d_dst_item_set.end(); ++it)
    {
        it->item->unpackStream(stream, periodic_offset);
        blitz::TinyVector<double,NDIM>& posn = it->posn;
        stream.unpack(posn.data(),NDIM);
    }
    return;
}// unpackStream