25link(NxForceField *fieldPtr) {
29 _ptr->userData =
this;
32 set_name(fieldPtr->getName());
35 scene->_forcefields.add(
this);
39 group->link(&(_ptr->getIncludeShapeGroup()));
53 _ptr->userData =
nullptr;
54 _error_type = ET_released;
57 scene->_forcefields.remove(
this);
66 nassertv(_error_type == ET_ok);
69 _ptr->getScene().releaseForceField(*_ptr);
77set_name(
const char *name) {
79 nassertv(_error_type == ET_ok);
81 _name = name ? name :
"";
82 _ptr->setName(_name.c_str());
88const char *PhysxForceField::
91 nassertr(_error_type == ET_ok,
"");
92 return _ptr->getName();
101 nassertr(_error_type == ET_ok,
nullptr);
102 return (
PhysxScene *)(_ptr->getScene().userData);
109get_include_shape_group()
const {
111 nassertr(_error_type == ET_ok,
nullptr);
118unsigned int PhysxForceField::
119get_num_shape_groups()
const {
121 nassertr(_error_type == ET_ok, 0);
122 return _ptr->getNbShapeGroups();
129get_shape_group(
unsigned int idx)
const {
131 nassertr(_error_type == ET_ok,
nullptr);
132 nassertr_always(idx < _ptr->getNbShapeGroups(),
nullptr);
134 NxForceFieldShapeGroup *groupPtr;
135 NxU32 nGroups = _ptr->getNbShapeGroups();
137 _ptr->resetShapeGroupsIterator();
138 for (NxU32 i=0; i <= idx; i++) {
139 groupPtr = _ptr->getNextShapeGroup();
A scene is a collection of bodies, constraints, and effectors which can interact.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.