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

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

CHG: de-entangle dependencies between Containers and shared/Elements

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