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

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

CHG: some serious desentangling of the header files, which started from the src/c/shared/Exp/ directory.

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