1
//------------------------------------------------------------------------------
3
// This file is part of Toolkit for Conceptual Modeling (TCM).
4
// (c) copyright 1999, Vrije Universiteit Amsterdam and University of Twente.
5
// Author: Frank Dehne (frank@cs.vu.nl).
6
// Author: Henk van de Zandschulp (henkz@cs.utwente.nl).
8
// TCM is free software; you can redistribute it and/or modify
9
// it under the terms of the GNU General Public License as published by
10
// the Free Software Foundation; either version 2 of the License, or
11
// (at your option) any later version.
13
// TCM is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
// GNU General Public License for more details.
18
// You should have received a copy of the GNU General Public License
19
// along with TCM; if not, write to the Free Software Foundation, Inc.,
20
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
//-----------------------------------------------------------------------------
25
UCGraph::UCGraph(): ERGraph() {
28
nodeTypes[i++] = Code::UCD_ACTOR_NODE;
29
nodeTypes[i++] = Code::UCD_USE_CASE_NODE;
30
nodeTypes[i++] = Code::UCD_SYSTEM_NODE;
31
nodeTypes[i++] = Code::COMMENT;
32
nodeTypes[i++] = Code::NOTE;
35
edgeTypes[j++] = Code::UCD_BINARY_ASSOCIATION_EDGE;
36
edgeTypes[j++] = Code::UCD_GENERALIZATION_EDGE;
37
edgeTypes[j++] = Code::COMMENT_LINK;
41
void UCGraph::InitConnections() {
42
int ACT = Code::GetIndex(Code::UCD_ACTOR_NODE, nodeTypes);
43
int USE = Code::GetIndex(Code::UCD_USE_CASE_NODE, nodeTypes);
44
int SYS = Code::GetIndex(Code::UCD_SYSTEM_NODE, nodeTypes);
45
int NOT = Code::GetIndex(Code::NOTE, nodeTypes);
47
int BIN = Code::GetIndex(Code::UCD_BINARY_ASSOCIATION_EDGE, edgeTypes);
48
int ISA = Code::GetIndex(Code::UCD_GENERALIZATION_EDGE, edgeTypes);
49
int NBL = Code::GetIndex(Code::COMMENT_LINK, edgeTypes);
51
connections[ACT][USE][BIN] = True;
52
connections[USE][ACT][BIN] = True;
53
connections[ACT][ACT][ISA] = True;
54
connections[USE][USE][ISA] = True;
56
connections[ACT][NOT][NBL] = True;
57
connections[NOT][ACT][NBL] = True;
59
connections[USE][NOT][NBL] = True;
60
connections[NOT][USE][NBL] = True;
62
connections[SYS][NOT][NBL] = True;
63
connections[NOT][SYS][NBL] = True;