Changeset 5ef341


Ignore:
Timestamp:
Jul 10, 2012, 1:15:51 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Children:
e9a571
Parents:
bab0b1
git-author:
Frederik Heber <heber@…> (07/06/12 20:09:19)
git-committer:
Frederik Heber <heber@…> (07/10/12 13:15:51)
Message:

Extracted rendering of some objects into own function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/bin/mpqc/mpqc.cc

    rbab0b1 r5ef341  
    10041004}
    10051005
     1006/** Renders some objects.
     1007 *
     1008 * \param renderer renderer object
     1009 * \param keyval keyvalue container
     1010 * \param tim timing object
     1011 * \param grp message group
     1012 */
     1013void renderObjects(
     1014    Ref<Render> &renderer,
     1015    Ref<KeyVal> &keyval,
     1016    Ref<RegionTimer> &tim,
     1017    Ref<MessageGrp> &grp
     1018    )
     1019{
     1020  Ref<RenderedObject> rendered;
     1021  rendered << keyval->describedclassvalue("rendered");
     1022  Ref<AnimatedObject> animated;
     1023  animated << keyval->describedclassvalue("rendered");
     1024  if (rendered.nonnull()) {
     1025    if (tim.nonnull()) tim->enter("render");
     1026    if (grp->me() == 0) renderer->render(rendered);
     1027    if (tim.nonnull()) tim->exit("render");
     1028  }
     1029  else if (animated.nonnull()) {
     1030    if (tim.nonnull()) tim->enter("render");
     1031    if (grp->me() == 0) renderer->animate(animated);
     1032    if (tim.nonnull()) tim->exit("render");
     1033  }
     1034  else {
     1035    if (tim.nonnull()) tim->enter("render");
     1036    int n = keyval->count("rendered");
     1037    for (int i=0; i<n; i++) {
     1038      rendered << keyval->describedclassvalue("rendered",i);
     1039      animated << keyval->describedclassvalue("rendered",i);
     1040      if (rendered.nonnull()) {
     1041        // make sure the object has a name so we don't overwrite its file
     1042        if (rendered->name() == 0) {
     1043          char ic[64];
     1044          sprintf(ic,"%02d",i);
     1045          rendered->set_name(ic);
     1046        }
     1047        if (grp->me() == 0) renderer->render(rendered);
     1048      }
     1049      else if (animated.nonnull()) {
     1050        // make sure the object has a name so we don't overwrite its file
     1051        if (animated->name() == 0) {
     1052          char ic[64];
     1053          sprintf(ic,"%02d",i);
     1054          animated->set_name(ic);
     1055        }
     1056        if (grp->me() == 0) renderer->animate(animated);
     1057      }
     1058    }
     1059    if (tim.nonnull()) tim->exit("render");
     1060  }
     1061}
     1062
    10061063int
    10071064try_main(int argc, char *argv[])
     
    12531310
    12541311  if (renderer.nonnull()) {
    1255     Ref<RenderedObject> rendered;
    1256     rendered << keyval->describedclassvalue("rendered");
    1257     Ref<AnimatedObject> animated;
    1258     animated << keyval->describedclassvalue("rendered");
    1259     if (rendered.nonnull()) {
    1260       if (tim.nonnull()) tim->enter("render");
    1261       if (grp->me() == 0) renderer->render(rendered);
    1262       if (tim.nonnull()) tim->exit("render");
    1263     }
    1264     else if (animated.nonnull()) {
    1265       if (tim.nonnull()) tim->enter("render");
    1266       if (grp->me() == 0) renderer->animate(animated);
    1267       if (tim.nonnull()) tim->exit("render");
    1268     }
    1269     else {
    1270       if (tim.nonnull()) tim->enter("render");
    1271       int n = keyval->count("rendered");
    1272       for (i=0; i<n; i++) {
    1273         rendered << keyval->describedclassvalue("rendered",i);
    1274         animated << keyval->describedclassvalue("rendered",i);
    1275         if (rendered.nonnull()) {
    1276           // make sure the object has a name so we don't overwrite its file
    1277           if (rendered->name() == 0) {
    1278             char ic[64];
    1279             sprintf(ic,"%02d",i);
    1280             rendered->set_name(ic);
    1281           }
    1282           if (grp->me() == 0) renderer->render(rendered);
    1283         }
    1284         else if (animated.nonnull()) {
    1285           // make sure the object has a name so we don't overwrite its file
    1286           if (animated->name() == 0) {
    1287             char ic[64];
    1288             sprintf(ic,"%02d",i);
    1289             animated->set_name(ic);
    1290           }
    1291           if (grp->me() == 0) renderer->animate(animated);
    1292         }
    1293       }
    1294       if (tim.nonnull()) tim->exit("render");
    1295     }
     1312    renderObjects(renderer, keyval, tim, grp);
     1313
    12961314    Ref<MolFreqAnimate> molfreqanim;
    12971315    molfreqanim << keyval->describedclassvalue("animate_modes");
Note: See TracChangeset for help on using the changeset viewer.