Panda3D
pandaNodeChain.h
1 // Filename: pandaNodeChain.h
2 // Created by: drose (21Apr06)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef PANDANODECHAIN_H
16 #define PANDANODECHAIN_H
17 
18 #include "pandabase.h"
19 #include "linkedListNode.h"
20 #include "lightMutex.h"
21 
22 class PandaNode;
23 
24 ////////////////////////////////////////////////////////////////////
25 // Class : PandaNodeChain
26 // Description : This class maintains a linked list of PandaNodes.
27 // It's used to maintain a list of PandaNodes whose
28 // _prev_transform is different from their _transform
29 // (in pipeline stage 0).
30 ////////////////////////////////////////////////////////////////////
31 class EXPCL_PANDA_PGRAPH PandaNodeChain : private LinkedListNode {
32 public:
33  INLINE PandaNodeChain(const char *lock_name);
34  INLINE ~PandaNodeChain();
35 
36  LightMutex _lock;
37 
38  friend class PandaNode;
39 };
40 
41 #include "pandaNodeChain.I"
42 
43 #endif
44 
A basic node of the scene graph or data graph.
Definition: pandaNode.h:72
This just stores the pointers to implement a doubly-linked list of some kind of object.
This is a standard, non-reentrant mutex, similar to the Mutex class.
Definition: lightMutex.h:45
This class maintains a linked list of PandaNodes.