Version: 9.16.0
salomevent.cxx
Go to the documentation of this file.
1// Copyright (C) 2006-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20#include "salomevent.hxx"
21
22#include "Any.hxx"
23
24using namespace YACS::ENGINE;
25
27{
28 super = sup;
29}
30
31void SalomeEventLoop::put(long i, std::vector<double> &cal)
32{
33 SequenceAny *tmp = SequenceAny::New(cal);
34 super->pushInSample(i, (Any *)tmp);
35}
36
37std::vector<double> *SalomeEventLoop::get(long *id)
38{
39 SequenceAny *tmp;
40 std::vector<double> *ret;
41 unsigned int nb, i;
42
43 *id = super->getCurrentId();
45 nb = tmp->size();
46 ret = new std::vector<double>(nb);
47 for (i=0; i<nb; i++)
48 (*ret)[i] = (*tmp)[i]->getDoubleValue();
49 tmp->decrRef();
50
51 return ret;
52}
53
YACS::ENGINE::Pool * super
Definition: salomevent.hxx:29
SalomeEventLoop(YACS::ENGINE::Pool *)
Definition: salomevent.cxx:26
virtual std::vector< double > * get(long *)
Definition: salomevent.cxx:37
virtual void put(long, std::vector< double > &)
Definition: salomevent.cxx:31
: Interface for management of storage of data formated dynamically in its TypeCode....
Definition: Any.hxx:79
Pool used to manage the samples of the optimizer loop plugin.
Definition: Pool.hxx:42
Any * getCurrentOutSample() const
Definition: Pool.cxx:93
int getCurrentId() const
Definition: Pool.cxx:78
void pushInSample(int id, Any *inSample, unsigned char priority=0)
Push a sample. WARNING inSample ownership is released to current Pool instance (this) !
Definition: Pool.cxx:115
unsigned int size() const
Definition: Any.hxx:209