0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating...
[occt.git] / src / LibCtl / LibCtl_Node.gxx
... / ...
CommitLineData
1// Copyright (c) 1998-1999 Matra Datavision
2// Copyright (c) 1999-2014 OPEN CASCADE SAS
3//
4// This file is part of Open CASCADE Technology software library.
5//
6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License version 2.1 as published
8// by the Free Software Foundation, with special exception defined in the file
9// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10// distribution for complete text of the license and disclaimer of any warranty.
11//
12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
14
15//#include <LibCtl_Node.ixx>
16
17
18// Classe generique imbriquee dans Library : utilisee pour construire la
19// listes de Modules d une librairie (cf Library pour plus de details)
20// (En fait : Liste de Global Nodes -> Module + Protocol)
21
22LibCtl_Node::LibCtl_Node () { }
23
24 void LibCtl_Node::AddNode (const Handle(LibCtl_GlobalNode)& anode)
25{
26 if (thenode == anode) return;
27 if (thenext.IsNull()) {
28 if (thenode.IsNull()) thenode = anode;
29 else {
30 thenext = new LibCtl_Node;
31 thenext->AddNode (anode);
32 }
33 }
34 else thenext->AddNode (anode);
35}
36
37
38 const Handle(TheModule)& LibCtl_Node::Module () const
39 { return thenode->Module(); }
40
41 const Handle(TheProtocol)& LibCtl_Node::Protocol () const
42 { return thenode->Protocol(); }
43
44 const Handle(LibCtl_Node)& LibCtl_Node::Next () const
45 { return thenext; }