FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
nodeeditor/src/AbstractNodeGeometry.cpp at bt · BehaviorTree/nodeeditor · GitHub
BehaviorTree
/
nodeeditor
Public
forked from
l3enQ/nodeeditor
Notifications
You must be signed in to change notification settings
Fork
0
Star
4
Code
Pull requests
1
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
nodeeditor
/
src
/
AbstractNodeGeometry.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
69 lines (50 loc) · 1.91 KB
Breadcrumbs
nodeeditor
/
src
/
AbstractNodeGeometry.cpp
Copy path
File metadata and controls
69 lines (50 loc) · 1.91 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#
include
"
AbstractNodeGeometry.hpp
"
#
include
"
AbstractGraphModel.hpp
"
#
include
"
StyleCollection.hpp
"
#
include
<
QMargins
>
#
include
<
cmath
>
namespace
QtNodes
{
AbstractNodeGeometry::AbstractNodeGeometry
(AbstractGraphModel &graphModel)
: _graphModel(graphModel)
{
//
}
QRectF
AbstractNodeGeometry::boundingRect
(NodeId
const
nodeId)
const
{
QSize s =
size
(nodeId);
QRectF
r
(
QPointF
(
0
,
0
), s);
return
r;
}
QPointF
AbstractNodeGeometry::portScenePosition
(NodeId
const
nodeId,
PortType
const
portType,
PortIndex
const
index,
QTransform
const
&t)
const
{
QPointF result =
portPosition
(nodeId, portType, index);
return
t.
map
(result);
}
PortIndex
AbstractNodeGeometry::checkPortHit
(NodeId
const
nodeId,
PortType
const
portType,
QPointF
const
nodePoint)
const
{
auto
const
&nodeStyle =
StyleCollection::nodeStyle
();
PortIndex result = InvalidPortIndex;
if
(portType == PortType::None)
return
result;
double
const
tolerance =
2.0
* nodeStyle.
ConnectionPointDiameter
;
size_t
const
n = _graphModel.
nodeData
<
unsigned
int
>(nodeId,
(portType == PortType::Out)
? NodeRole::OutPortCount
: NodeRole::InPortCount);
for
(
unsigned
int
portIndex =
0
; portIndex < n; ++portIndex) {
auto
pp =
portPosition
(nodeId, portType, portIndex);
QPointF p = pp - nodePoint;
auto
distance =
std::sqrt
(
QPointF::dotProduct
(p, p));
if
(distance < tolerance) {
result = portIndex;
break
;
}
}
return
result;
}
}
//
namespace QtNodes
Back
|
FazBrowse Home
|
New Git URL