コード例 #1
0
ModelObjectsTemp ParticleOutputs::do_get_outputs(
    Model *m, const ParticleIndexes &pis) const {
  ModelObjectsTemp ret;
  for (unsigned int i = 0; i < pis.size(); ++i) {
    ret += get_output_containers(m->get_particle(pis[i]));
    ret += get_output_particles(m->get_particle(pis[i]));
  }
  return ret;
}
コード例 #2
0
ファイル: ModelObject.cpp プロジェクト: j-ma-bu-l-l-ock/imp
ContainersTemp get_output_containers(const ModelObjectsTemp &mo) {
  ContainersTemp ret;
  for (unsigned int i = 0; i < mo.size(); ++i) {
    ModelObject *o = mo[i];
    Container *p = dynamic_cast<Container *>(o);
    if (p)
      ret.push_back(p);
    else {
      ret += get_output_containers(o->get_inputs());
    }
  }
  return ret;
}