Panda3D
panda
src
egg2pg
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
*/
33
class
DeferredNodeProperty
{
34
public
:
35
DeferredNodeProperty
();
36
DeferredNodeProperty
(
const
DeferredNodeProperty
©);
37
void
operator = (
const
DeferredNodeProperty
©);
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
55
typedef
pmap<PandaNode *, DeferredNodeProperty>
DeferredNodes
;
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
Generated on Mon Sep 14 2020 15:06:50 for Panda3D by
1.8.20