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