#include <BoundaryConditionListExpression.hpp>


Definition at line 83 of file BoundaryConditionListExpression.hpp.
typedef std::list<ReferenceCounting<BoundaryConditionExpression> > BoundaryConditionListExpressionSet::BoundaryConditionExpressionList [private] |
Definition at line 87 of file BoundaryConditionListExpression.hpp.
enum BoundaryConditionListExpression::BoundaryConditionListType [inherited] |
enum Expression::Type [inherited] |
Reimplemented in IFStreamExpression, OFStreamExpression, and UnknownExpression.
Definition at line 42 of file Expression.hpp.
00042 { 00043 boolean, 00044 boundary, 00045 boundaryCondition, 00046 boundaryConditionList, 00047 00048 domain, 00049 00050 field, 00051 fieldlist, 00052 function, 00053 00054 ifstreamexpression, 00055 integrated, 00056 integratedOperator, 00057 insideExpression, 00058 insideListExpression, 00059 istreamexpression, 00060 istreamExpressionList, 00061 00062 linearExp, 00063 00064 mesh, 00065 multiLinearExp, 00066 multiLinearExpSum, 00067 multiLinearForm, 00068 multiLinearFormSum, 00069 00070 ofstreamexpression, 00071 option, 00072 ostreamexpression, 00073 ostreamExpressionList, 00074 00075 pdeEquation, 00076 pdeOperator, 00077 pdeOperatorSum, 00078 pdeProblem, 00079 problem, 00080 00081 real, 00082 00083 scene, 00084 solver, 00085 solverOptions, 00086 string, 00087 subOption, 00088 subOptionList, 00089 00090 testFunctionList, 00091 00092 unknown, 00093 unknownList, 00094 00095 variationalFormula, 00096 variationalBilinearOperator, 00097 variationalLinearOperator, 00098 variationalDirichlet, 00099 vector3 00100 };
| BoundaryConditionListExpressionSet::BoundaryConditionListExpressionSet | ( | const BoundaryConditionListExpressionSet & | e | ) |
Definition at line 122 of file BoundaryConditionListExpression.cpp.
00123 : BoundaryConditionListExpression(e), 00124 __boundaryConditionExpressionList(e.__boundaryConditionExpressionList) 00125 { 00126 ; 00127 }
| BoundaryConditionListExpressionSet::BoundaryConditionListExpressionSet | ( | ) |
Definition at line 129 of file BoundaryConditionListExpression.cpp.
00130 : BoundaryConditionListExpression(BoundaryConditionListExpression::set) 00131 { 00132 ; 00133 }
| BoundaryConditionListExpressionSet::~BoundaryConditionListExpressionSet | ( | ) |
| std::ostream& BoundaryConditionListExpressionSet::put | ( | std::ostream & | os | ) | const [inline, private, virtual] |
Writes *this to the output os.
Implements Expression.
Definition at line 90 of file BoundaryConditionListExpression.hpp.
References __boundaryConditionExpressionList.
00091 { 00092 for (BoundaryConditionExpressionList::const_iterator 00093 i = __boundaryConditionExpressionList.begin(); 00094 i != __boundaryConditionExpressionList.end(); ++i) 00095 os << (**i) << '\n'; 00096 return os; 00097 }
| void BoundaryConditionListExpressionSet::__splitBoundaryList | ( | BoundaryConditionSet & | bcSet, | |
| ConstReferenceCounting< PDECondition > | pde, | |||
| ConstReferenceCounting< Boundary > | b | |||
| ) | [private] |
Definition at line 57 of file BoundaryConditionListExpression.cpp.
References BoundaryConditionSet::addBoundaryCondition(), Expression::boundary, Boundary::list, and BoundaryList::list().
Referenced by execute().
00060 { 00061 const BoundaryList& boundaryList = dynamic_cast<const BoundaryList&>(*b); 00062 00063 for (BoundaryList::List::const_iterator i = boundaryList.list().begin(); 00064 i != boundaryList.list().end(); ++i) { 00065 ConstReferenceCounting<Boundary> boundary = *i; 00066 if (boundary->type() == Boundary::list) { 00067 this->__splitBoundaryList(bcSet, pde, boundary); 00068 } else { 00069 bcSet.addBoundaryCondition(new BoundaryCondition(pde, boundary)); 00070 } 00071 } 00072 }

| bool BoundaryConditionListExpressionSet::hasPOVBoundary | ( | ) | const [virtual] |
Implements BoundaryConditionListExpression.
Definition at line 75 of file BoundaryConditionListExpression.cpp.
References __boundaryConditionExpressionList.
00076 { 00077 for (BoundaryConditionExpressionList::const_iterator 00078 i = __boundaryConditionExpressionList.begin(); 00079 i != __boundaryConditionExpressionList.end(); ++i) { 00080 if ((*i)->hasPOVBoundary()) { 00081 return true; 00082 } 00083 } 00084 return false; 00085 }
| bool BoundaryConditionListExpressionSet::hasPredefinedBoundary | ( | ) | const [virtual] |
Implements BoundaryConditionListExpression.
Definition at line 88 of file BoundaryConditionListExpression.cpp.
References __boundaryConditionExpressionList.
00089 { 00090 for (BoundaryConditionExpressionList::const_iterator 00091 i = __boundaryConditionExpressionList.begin(); 00092 i != __boundaryConditionExpressionList.end(); ++i) { 00093 if ((*i)->hasPredefinedBoundary()) { 00094 return true; 00095 } 00096 } 00097 return false; 00098 }
| void BoundaryConditionListExpressionSet::execute | ( | ) | [virtual] |
Executes the expression.
Implements Expression.
Definition at line 100 of file BoundaryConditionListExpression.cpp.
References __boundaryConditionExpressionList, BoundaryConditionListExpression::__boundaryConditionSet, __splitBoundaryList(), BoundaryConditionSet::addBoundaryCondition(), and Boundary::list.
00101 { 00102 __boundaryConditionSet = new BoundaryConditionSet(); 00103 BoundaryConditionSet& bcSet = (*__boundaryConditionSet); 00104 00105 for (BoundaryConditionExpressionList::iterator 00106 i = __boundaryConditionExpressionList.begin(); 00107 i != __boundaryConditionExpressionList.end(); ++i) { 00108 (*i)->execute(); 00109 ConstReferenceCounting<BoundaryCondition> b = (*i)->boundaryCondition(); 00110 if (b->boundary()->type() == Boundary::list) { 00111 ConstReferenceCounting<Boundary> bc = b->boundary(); 00112 ConstReferenceCounting<PDECondition> pde = b->condition(); 00113 00114 this->__splitBoundaryList(bcSet, pde, bc); 00115 } else { 00116 bcSet.addBoundaryCondition((*i)->boundaryCondition()); 00117 } 00118 } 00119 }

| void BoundaryConditionListExpressionSet::add | ( | ReferenceCounting< BoundaryConditionExpression > | b | ) | [inline, virtual] |
Implements BoundaryConditionListExpression.
Definition at line 109 of file BoundaryConditionListExpression.hpp.
References __boundaryConditionExpressionList.
00110 { 00111 __boundaryConditionExpressionList.push_back(b); 00112 }
| ReferenceCounting< BoundaryConditionSet > BoundaryConditionListExpression::boundaryConditionSet | ( | ) | [inherited] |
Definition at line 50 of file BoundaryConditionListExpression.cpp.
References BoundaryConditionListExpression::__boundaryConditionSet.
00051 { 00052 return __boundaryConditionSet; 00053 }
| const BoundaryConditionListExpression::BoundaryConditionListType& BoundaryConditionListExpression::boundaryConditionListType | ( | ) | const [inline, inherited] |
Definition at line 60 of file BoundaryConditionListExpression.hpp.
References BoundaryConditionListExpression::__boundaryConditionListType.
00061 { 00062 return __boundaryConditionListType; 00063 }
| static Expression::Type Expression::getType | ( | ReferenceCounting< Expression > | e1, | |
| ReferenceCounting< Expression > | e2 | |||
| ) | [inline, static, protected, inherited] |
Traits conversion of types.
Definition at line 112 of file Expression.hpp.
References Expression::real.
00114 { 00115 return Expression::real; 00116 }
| virtual std::istream& Expression::_get | ( | std::istream & | is | ) | [inline, protected, virtual, inherited] |
Read *this to the input is.
Reimplemented in IStreamExpressionList, and RealExpressionVariable.
Definition at line 122 of file Expression.hpp.
References ErrorHandler::normal.
00123 { 00124 throw ErrorHandler(__FILE__,__LINE__, 00125 "operator >> is not supported for this expression", 00126 ErrorHandler::normal); 00127 return is; 00128 }
| const Expression::Type& Expression::type | ( | ) | const [inline, inherited] |
return the type.
Reimplemented in FunctionExpression.
Definition at line 132 of file Expression.hpp.
References Expression::__type.
Referenced by MeshExpressionExtract::execute().
00133 { 00134 return __type; 00135 }
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Expression & | e | |||
| ) | [friend, inherited] |
this function allows to output expressions.
Definition at line 143 of file Expression.hpp.
00144 { 00145 return e.put(os); 00146 }
| std::istream& operator>> | ( | std::istream & | is, | |
| Expression & | e | |||
| ) | [friend, inherited] |
this function allows to read expressions from streams
Definition at line 149 of file Expression.hpp.
00150 { 00151 return e._get(is); 00152 }
BoundaryConditionExpressionList BoundaryConditionListExpressionSet::__boundaryConditionExpressionList [private] |
Definition at line 88 of file BoundaryConditionListExpression.hpp.
Referenced by add(), execute(), hasPOVBoundary(), hasPredefinedBoundary(), and put().
ReferenceCounting<BoundaryConditionSet> BoundaryConditionListExpression::__boundaryConditionSet [protected, inherited] |
Definition at line 51 of file BoundaryConditionListExpression.hpp.
Referenced by BoundaryConditionListExpression::boundaryConditionSet(), and execute().
1.5.6