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

Last change on this file since 14960 was 14960, checked in by Mathieu Morlighem, 12 years ago

CHG: moved EnumDefinitions to src/c/shared/Enum

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