Panda3D
deferredNodeProperty.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file deferredNodeProperty.h
10  * @author drose
11  * @date 2002-03-20
12  */
13 
14 #ifndef DEFERREDNODEPROPERTY_H
15 #define DEFERREDNODEPROPERTY_H
16 
17 #include "pandabase.h"
18 
19 #include "collideMask.h"
20 #include "pmap.h"
21 
22 class PandaNode;
23 
24 /**
25  * This class keeps track of all the state we must make note of during the
26  * graph traversal, but cannot apply immediately. An instance of this class
27  * may be assigned to nodes as they are created, and then later, after the
28  * geometry has been created, the graph will be traversed again and the state
29  * will be applied.
30  *
31  * This class is only local to this package; it is not exported.
32  */
34 public:
37  void operator = (const DeferredNodeProperty &copy);
38 
39  void compose(const DeferredNodeProperty &other);
40 
41  void apply_to_node(PandaNode *node);
42 
43 
44 public:
45  enum Flags {
46  F_has_from_collide_mask = 0x0001,
47  F_has_into_collide_mask = 0x0002,
48  };
49 
50  int _flags;
51  CollideMask _from_collide_mask;
52  CollideMask _into_collide_mask;
53 };
54 
56 
57 
58 #endif
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pmap< PandaNode *, DeferredNodeProperty >
BitMask< uint32_t, 32 >
pmap.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
collideMask.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
DeferredNodeProperty
This class keeps track of all the state we must make note of during the graph traversal,...
Definition: deferredNodeProperty.h:33
DeferredNodeProperty::apply_to_node
void apply_to_node(PandaNode *node)
Applies whatever state is appropriate to the node.
Definition: deferredNodeProperty.cxx:70
DeferredNodeProperty::compose
void compose(const DeferredNodeProperty &other)
Composes this state with the next one encountered on a lower node during the apply traversal.
Definition: deferredNodeProperty.cxx:54
PandaNode
A basic node of the scene graph or data graph.
Definition: pandaNode.h:65