source: issm/trunk-jpl/src/c/Container/Results.cpp@ 12011

Last change on this file since 12011 was 12011, checked in by Eric.Larour, 13 years ago

Preliminary commit of new issm version, where serial code is starting to be stripped away. Will not run before some major debugging is done

File size: 1.8 KB
Line 
1/*
2 * \file Results.c
3 * \brief: implementation of the Results class, derived from DataSet class
4 */
5
6/*Headers: {{{1*/
7#ifdef HAVE_CONFIG_H
8 #include <config.h>
9#else
10#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
11#endif
12
13#include <vector>
14#include <functional>
15#include <algorithm>
16#include <iostream>
17
18#include "./DataSet.h"
19#include "../shared/shared.h"
20#include "../include/include.h"
21#include "../EnumDefinitions/EnumDefinitions.h"
22
23using namespace std;
24/*}}}*/
25
26/*Object constructors and destructor*/
27/*FUNCTION Results::Results(){{{1*/
28Results::Results(){
29 enum_type=ResultsEnum;
30 return;
31}
32/*}}}*/
33/*FUNCTION Results::~Results(){{{1*/
34Results::~Results(){
35 return;
36}
37/*}}}*/
38
39/*Object management*/
40/*FUNCTION Results::SpawnTriaResults{{{1*/
41Results* Results::SpawnTriaResults(int* indices){
42
43 /*Intermediary*/
44 vector<Object*>::iterator object;
45 ElementResult* resultin=NULL;
46 ElementResult* resultout=NULL;
47
48 /*Output*/
49 Results* newresults=new Results();
50
51 /*Go through results and call Spawn function*/
52 for ( object=objects.begin() ; object < objects.end(); object++ ){
53
54 /*Create new result*/
55 resultin=(ElementResult*)(*object);
56 resultout=resultin->SpawnTriaElementResult(indices);
57
58 /*Add result to new results*/
59 newresults->AddObject((Object*)resultout);
60 }
61
62 /*Assign output pointer*/
63 return newresults;
64}
65/*}}}*/
66/*FUNCTION Results::Write{{{1*/
67void Results::Write(Parameters* parameters){
68
69 int i;
70 FILE *fid = NULL;
71 bool io_gather=true;
72
73 /*Recover file descriptor: */
74 parameters->FindParam(&fid,OutputFilePointerEnum);
75 parameters->FindParam(&io_gather,SettingsIoGatherEnum);
76
77 for(i=0;i<this->Size();i++){
78 ExternalResult* result=(ExternalResult*)this->GetObjectByOffset(i);
79
80 /*write result to disk: */
81 result->WriteData(fid,io_gather);
82 }
83
84}
85/*}}}*/
Note: See TracBrowser for help on using the repository browser.