xc
LoadCombinationGenerator.h
1 // -*-c++-*-
2 //----------------------------------------------------------------------------
3 // xc utils library; general purpose classes and functions.
4 //
5 // Copyright (C) Luis C. PĂ©rez Tato
6 //
7 // XC utils is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program.
19 // If not, see <http://www.gnu.org/licenses/>.
20 //----------------------------------------------------------------------------
21 //LoadCombinationGenerator.h
22 
23 #ifndef LOADCOMBINATIONGENERATOR_H
24 #define LOADCOMBINATIONGENERATOR_H
25 
26 #include "ActionWeightingMap.h"
27 
28 namespace cmb_acc{
29 
30 class LoadCombinations;
31 
33 //
36  {
37  private:
38  ActionWeightingMap action_weighting;
39  LoadCombinations *combinations;
40  public:
42 
43  ActionWrapper &insert(const std::string &,const std::string &,const Action &,const std::string &combination_factors_name="",const std::string &partial_safety_factors_name="");
44  ActionWrapper &insertGroup(const std::string &, const std::string &, const std::vector<Action> &, const std::vector<std::string> &, const std::string &);
45  ActionWrapper &insertGroupPy(const std::string &, const std::string &, const boost::python::list &, const std::string &);
46  void genera(void);
47  inline ActionWeightingMap &getActionWeighting(void)
48  { return action_weighting; }
49  inline void setActionWeighting(const ActionWeightingMap &pa)
50  { action_weighting= pa; }
51  inline LoadCombinations *getLoadCombinations(void)
52  { return combinations; }
53  };
54 } //fin namespace nmb_acc.
55 
56 
57 #endif
Object that generates and manages the combinations.
Definition: LoadCombinationGenerator.h:35
Routines to generate combinations of actions.
LoadCombinationGenerator(CommandEntity *owr=nullptr)
Constructor.
Definition: LoadCombinationGenerator.cc:28
Container for ActionAndFactors objects.
Definition: ActionWeightingMap.h:42
Action or linear combination of actions.
Definition: Action.h:44
ActionWrapper & insertGroupPy(const std::string &, const std::string &, const boost::python::list &, const std::string &)
Insert the group of actions being passed as parameter and sets its combination and partial safety fac...
Definition: LoadCombinationGenerator.cc:67
Almacena todas las Load Combinations que deben formarse para las acciones.
Definition: LoadCombinations.h:35
void genera(void)
Generation of combinations.
Definition: LoadCombinationGenerator.cc:76
ActionWrapper & insert(const std::string &, const std::string &, const Action &, const std::string &combination_factors_name="", const std::string &partial_safety_factors_name="")
Insert the action being passed as parameter.
Definition: LoadCombinationGenerator.cc:37
Objet that can execute python scripts.
Definition: CommandEntity.h:40
Base class for action design values and action groups.
Definition: ActionWrapper.h:42
ActionWrapper & insertGroup(const std::string &, const std::string &, const std::vector< Action > &, const std::vector< std::string > &, const std::string &)
Insert the group of actions being passed as parameter and sets its combination and partial safety fac...
Definition: LoadCombinationGenerator.cc:52