VPTissue Reference Manual
ICoupler.h
Go to the documentation of this file.
1 #ifndef ICOUPLER_H_INCLUDED
2 #define ICOUPLER_H_INCLUDED
3 /*
4  * Copyright 2011-2016 Universiteit Antwerpen
5  *
6  * Licensed under the EUPL, Version 1.1 or as soon they will be approved by
7  * the European Commission - subsequent versions of the EUPL (the "Licence");
8  * You may not use this work except in compliance with the Licence.
9  * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl5
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the Licence is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the Licence for the specific language governing
15  * permissions and limitations under the Licence.
16  */
22 #include <memory>
23 #include <boost/property_tree/ptree.hpp>
24 
25 namespace SimPT_Sim {
26 
27 class Sim;
28 struct CoreData;
29 
33 class ICoupler
34 {
35 public:
39  virtual ~ICoupler() {}
40 
41 
48  virtual void Initialize(
49  const boost::property_tree::ptree& parameters,
50  const CoreData& from,
51  const CoreData& to) = 0;
52 
56  virtual void Exec() = 0;
57 };
58 
59 } // namespace
60 
61 #endif // end-of-include-guard
Core data with mesh, parameters, random engine and time data.
Definition: CoreData.h:38
Interface for the classes coupling two parallel simulations.
Definition: ICoupler.h:33
Namespace for the core simulator.
virtual ~ICoupler()
Virtual destructor.
Definition: ICoupler.h:39
virtual void Exec()=0
Executes the coupler.
virtual void Initialize(const boost::property_tree::ptree &parameters, const CoreData &from, const CoreData &to)=0
Initializes the two sides of the coupler.