Panda3D
panda
src
chan
movingPartBase.I
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 movingPartBase.I
10
* @author drose
11
* @date 1999-02-22
12
*/
13
14
/**
15
* Normally, you'd use make_copy() or copy_subgraph() to make a copy of this.
16
*/
17
INLINE MovingPartBase::
18
MovingPartBase(
const
MovingPartBase
©) :
19
PartGroup
(copy),
20
_num_effective_channels(0),
21
_effective_control(nullptr),
22
_forced_channel(copy._forced_channel)
23
{
24
// We don't copy the bound channels. We do copy the forced_channel, though
25
// this is just a pointerwise copy.
26
}
27
28
/**
29
* Returns the number of channels that might be bound to this PartGroup. This
30
* might not be the actual number of channels, since there might be holes in
31
* the list; it is one more than the index number of the highest bound
32
* channel. Thus, it is called get_max_bound() instead of get_num_bound().
33
*/
34
INLINE
int
MovingPartBase::
35
get_max_bound
()
const
{
36
return
_channels.size();
37
}
38
39
/**
40
* Returns the nth bound channel on this PartGroup. n can be determined by
41
* iterating from 0 to one less than get_max_bound(); or n might be
42
* AnimControl::get_channel_index().
43
*
44
* This will return NULL if there is no channel bound on the indicated index.
45
* It is an error to call this if n is less than zero or greater than or equal
46
* to get_max_bound().
47
*/
48
INLINE
AnimChannelBase
*
MovingPartBase::
49
get_bound
(
int
n)
const
{
50
nassertr(n >= 0 && n < (
int
)_channels.size(),
nullptr
);
51
return
_channels[n];
52
}
PartGroup
This is the base class for PartRoot and MovingPart.
Definition:
partGroup.h:43
AnimChannelBase
Parent class for all animation channels.
Definition:
animChannelBase.h:30
MovingPartBase::get_bound
AnimChannelBase * get_bound(int n) const
Returns the nth bound channel on this PartGroup.
Definition:
movingPartBase.I:49
MovingPartBase::get_max_bound
int get_max_bound() const
Returns the number of channels that might be bound to this PartGroup.
Definition:
movingPartBase.I:35
MovingPartBase
This is the base class for a single animatable piece that may be bound to one channel (or more,...
Definition:
movingPartBase.h:31
Generated on Sun Dec 27 2020 13:22:48 for Panda3D by
1.8.20