open_toontown_panda3d/panda/src/ode/odeSpace.I

121 lines
2.8 KiB
Plaintext

// Filename: odeSpace.I
// Created by: joswilso (27Dec06)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) Carnegie Mellon University. All rights reserved.
//
// All use of this software is subject to the terms of the revised BSD
// license. You should have received a copy of this license along
// with this source code in a file named "LICENSE."
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
// Function: OdeSpace::is_empty
// Access: Published
// Description: Returns true if the ID is 0, meaning the OdeSpace
// does not point to a valid space. It is an error to
// call a method on an empty space.
// Note that an empty OdeSpace also evaluates to False.
////////////////////////////////////////////////////////////////////
INLINE bool OdeSpace::
is_empty() const {
return (_id == 0);
}
////////////////////////////////////////////////////////////////////
// Function: OdeSpace::get_id
// Access: Published
// Description: Returns the underlying dSpaceID.
////////////////////////////////////////////////////////////////////
INLINE dSpaceID OdeSpace::
get_id() const {
return _id;
}
INLINE void OdeSpace::
set_cleanup(int mode) {
dSpaceSetCleanup(_id, mode);
}
INLINE int OdeSpace::
get_cleanup() const {
return dSpaceGetCleanup(_id);
}
INLINE int OdeSpace::
get_num_geoms() const {
return dSpaceGetNumGeoms(_id);
}
INLINE OdeSpace OdeSpace::
get_space() const {
return OdeSpace(dGeomGetSpace((dGeomID)_id));
}
INLINE void OdeSpace::
get_AABB(LVecBase3f &min, LVecBase3f &max) const {
dReal result[6];
dGeomGetAABB((dGeomID)_id, result);
min.set(result[0], result[2], result[4]);
max.set(result[1], result[3], result[5]);
}
INLINE int OdeSpace::
is_space() {
return dGeomIsSpace((dGeomID)_id);
}
INLINE int OdeSpace::
get_class() const {
return dGeomGetClass((dGeomID)_id);
}
INLINE void OdeSpace::
set_category_bits(const BitMask32 &bits) {
dGeomSetCategoryBits((dGeomID)_id, bits.get_word());
}
INLINE void OdeSpace::
set_collide_bits(const BitMask32 &bits) {
dGeomSetCollideBits((dGeomID)_id, bits.get_word());
}
INLINE BitMask32 OdeSpace::
get_category_bits() {
return BitMask32(dGeomGetCategoryBits((dGeomID)_id));
}
INLINE BitMask32 OdeSpace::
get_collide_bits() {
return BitMask32(dGeomGetCollideBits((dGeomID)_id));
}
INLINE void OdeSpace::
enable() {
dGeomEnable((dGeomID)_id);
}
INLINE void OdeSpace::
disable() {
dGeomDisable((dGeomID)_id);
}
INLINE int OdeSpace::
is_enabled() {
return dGeomIsEnabled((dGeomID)_id);
}
INLINE void OdeSpace::
set_collision_event(const string &event_name) {
_collision_event = event_name;
}
INLINE string OdeSpace::
get_collision_event() {
return _collision_event;
}