25link(NxForceField *fieldPtr) {
29 _ptr->userData =
this;
32 set_name(fieldPtr->getName());
34 PhysxScene *scene = (PhysxScene *)_ptr->getScene().userData;
35 scene->_forcefields.add(
this);
38 PhysxForceFieldShapeGroup *group =
new PhysxForceFieldShapeGroup();
39 group->link(&(_ptr->getIncludeShapeGroup()));
49 PhysxForceFieldShapeGroup *group = (PhysxForceFieldShapeGroup *)(_ptr->getIncludeShapeGroup().userData);
53 _ptr->userData =
nullptr;
54 _error_type = ET_released;
56 PhysxScene *scene = (PhysxScene *)_ptr->getScene().userData;
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);
112 return (PhysxForceFieldShapeGroup *)(_ptr->getIncludeShapeGroup().userData);
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();
142 return (PhysxForceFieldShapeGroup *)(groupPtr->userData);
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.