Version: 8.3.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
DataPort.cxx
Go to the documentation of this file.
1
// Copyright (C) 2006-2016 CEA/DEN, EDF R&D
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 "
DataPort.hxx
"
21
#include "
TypeCode.hxx
"
22
#include <iostream>
23
24
using namespace
YACS::ENGINE;
25
using namespace
std;
26
27
const
char
DataPort::NAME
[]=
"DataPort"
;
28
29
DataPort::~DataPort
()
30
{
31
if
(_type)
32
_type->decrRef();
33
}
34
35
DataPort::DataPort
(
const
std::string& name,
Node
*node,
TypeCode
* type):
Port
(node),_name(name),_type(type)
36
{
37
if
(
_type
)
38
_type
->
incrRef
();
39
}
40
41
DataPort::DataPort
(
const
DataPort
& other,
Node
*newHelder):
Port
(other,newHelder),_name(other._name),_type(other._type)
42
{
43
if
(
_type
)
44
_type
->
incrRef
();
45
}
46
47
void
DataPort::edSetType
(
TypeCode
* type)
48
{
49
if
(
_type
)
50
_type
->
decrRef
();
51
_type
=type;
52
if
(
_type
)
53
_type
->
incrRef
();
54
}
55
56
string
DataPort::getNameOfTypeOfCurrentInstance
()
const
57
{
58
return
NAME
;
59
}
60
61
bool
DataPort::isDifferentTypeOf
(
const
DataPort
*other)
const
62
{
63
return
getTypeOfChannel
()!=other->
getTypeOfChannel
();
64
}
65
70
DataPort
*
DataPort::isCrossingType
(
const
std::vector<DataPort *>& historyOfLink)
71
{
72
vector<DataPort *>::const_reverse_iterator iter=historyOfLink.rbegin()+1;
73
const
DataPort
*base=historyOfLink.back();
74
for
(;iter!=historyOfLink.rend();iter++)
75
if
(base->
isDifferentTypeOf
(*iter))
76
return
*iter;
77
return
0;
78
}
79
81
84
std::string
DataPort::getAsString
()
85
{
86
return
""
;
87
}
src
engine
DataPort.cxx
Copyright © 2006-2017 CEA/DEN, EDF R&D