Panda3D

Loading...
Searching...
No Matches
odeCollisionEntry.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 odeCollisionEntry.I
10 * @author rdb
11 * @date 2009-03-13
12 */
13
14/**
15 *
16 */
17INLINE OdeCollisionEntry::
18OdeCollisionEntry() {
19}
20
21/**
22 * Returns the first geom in the collision.
23 */
24INLINE OdeGeom OdeCollisionEntry::
25 get_geom1() const {
26 return OdeGeom(_geom1);
27}
28
29/**
30 * Returns the second geom in the collision.
31 */
32INLINE OdeGeom OdeCollisionEntry::
33 get_geom2() const {
34 return OdeGeom(_geom2);
35}
36
37/**
38 * Returns the first body in the collision.
39 */
40INLINE OdeBody OdeCollisionEntry::
41 get_body1() const {
42 return OdeBody(_body1);
43}
44
45/**
46 * Returns the second body in the collision.
47 */
48INLINE OdeBody OdeCollisionEntry::
49 get_body2() const {
50 return OdeBody(_body2);
51}
52
53/**
54 * Returns the number of contacts in the collision.
55 */
56INLINE size_t OdeCollisionEntry::
57 get_num_contacts() const {
58 return _num_contacts;
59}
60
61/**
62 * Returns the nth contact geom in the collision.
63 */
64INLINE OdeContactGeom OdeCollisionEntry::
65 get_contact_geom(size_t n) const {
66 nassertr(n >= 0 && n < _num_contacts, OdeContactGeom());
67 return _contact_geoms[n];
68}
69
70/**
71 * Returns the nth contact geom in the collision.
72 */
73INLINE OdeContactGeom OdeCollisionEntry::
74 operator [] (size_t n) const {
75 nassertr(n >= 0 && n < _num_contacts, OdeContactGeom());
76 return _contact_geoms[n];
77}
78
79/**
80 * Returns the nth contact point in the collision. This does exactly the same
81 * as get_contact_geom(n).get_pos().
82 */
83INLINE LPoint3f OdeCollisionEntry::
84 get_contact_point(size_t n) const {
85 nassertr(n >= 0 && n < _num_contacts, LPoint3f::zero());
86 return _contact_geoms[n].get_pos();
87}
88
89/**
90 * An OdeCollisionEntry evaluates to False if it holds no contacts.
91 */
92INLINE OdeCollisionEntry::
93operator bool () const {
94 return (_num_contacts != 0);
95}
96
97/**
98 * Returns true if the entry holds no contacts.
99 */
100INLINE bool OdeCollisionEntry::
101 is_empty() const {
102 return (_num_contacts == 0);
103}
OdeBody
Definition odeBody.h:32
OdeCollisionEntry::get_num_contacts
get_num_contacts
Returns the number of contacts in the collision.
Definition odeCollisionEntry.h:40
OdeCollisionEntry::get_contact_point
get_contact_point
Returns the nth contact point in the collision.
Definition odeCollisionEntry.h:40
OdeCollisionEntry::get_geom1
OdeGeom get_geom1() const
Returns the first geom in the collision.
Definition odeCollisionEntry.I:25
OdeCollisionEntry::get_contact_geom
get_contact_geom
Returns the nth contact geom in the collision.
Definition odeCollisionEntry.h:41
OdeCollisionEntry::get_body2
OdeBody get_body2() const
Returns the second body in the collision.
Definition odeCollisionEntry.I:49
OdeCollisionEntry::is_empty
bool is_empty() const
Returns true if the entry holds no contacts.
Definition odeCollisionEntry.I:101
OdeCollisionEntry::get_body1
OdeBody get_body1() const
Returns the first body in the collision.
Definition odeCollisionEntry.I:41
OdeCollisionEntry::get_geom2
OdeGeom get_geom2() const
Returns the second geom in the collision.
Definition odeCollisionEntry.I:33
OdeCollisionEntry::operator[]
OdeContactGeom operator[](size_t n) const
Returns the nth contact geom in the collision.
Definition odeCollisionEntry.I:74
OdeContactGeom
Definition odeContactGeom.h:30
OdeGeom
Definition odeGeom.h:45