Panda3D
odeJointCollection.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 odeJointCollection.h
10  * @author joswilso
11  * @date 2006-12-27
12  */
13 
14 #ifndef ODEJOINTCOLLECTION_H
15 #define ODEJOINTCOLLECTION_H
16 
17 #include "odeJoint.h"
18 
19 /**
20  *
21  */
22 class EXPCL_PANDAODE OdeJointCollection {
23 PUBLISHED:
26  void operator = (const OdeJointCollection &copy);
27  INLINE ~OdeJointCollection();
28 
29  void add_joint(const OdeJoint &joint);
30  bool remove_joint(const OdeJoint &joint);
31  void add_joints_from(const OdeJointCollection &other);
32  void remove_joints_from(const OdeJointCollection &other);
33  void remove_duplicate_joints();
34  bool has_joint(const OdeJoint &joint) const;
35  void clear();
36 
37  bool is_empty() const;
38  int get_num_joints() const;
39  OdeJoint get_joint(int index) const;
40  MAKE_SEQ(get_joints, get_num_joints, get_joint);
41  OdeJoint operator [] (int index) const;
42  int size() const;
43  INLINE void operator += (const OdeJointCollection &other);
44  INLINE OdeJointCollection operator + (const OdeJointCollection &other) const;
45 
46 private:
47  typedef PTA(OdeJoint) Joints;
48  Joints _joints;
49 };
50 
51 #include "odeJointCollection.I"
52 
53 #endif
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.