24 link(NxMaterial *materialPtr) {
28 _ptr->userData =
this;
32 scene->_materials.add(
this);
42 _ptr->userData =
nullptr;
43 _error_type = ET_released;
46 scene->_materials.remove(
this);
55 nassertv(_error_type == ET_ok);
58 _ptr->getScene().releaseMaterial(*_ptr);
68 nassertr(_error_type == ET_ok,
nullptr);
69 return (
PhysxScene *)(_ptr->getScene().userData);
85 nassertr(_error_type == ET_ok, 0);
86 return _ptr->getMaterialIndex();
96 nassertv(_error_type == ET_ok);
97 _ptr->loadFromDesc(materialDesc._desc);
106 nassertv(_error_type == ET_ok);
107 _ptr->saveToDesc(materialDesc._desc);
118 nassertv(_error_type == ET_ok);
119 _ptr->setRestitution(restitution);
128 nassertr(_error_type == ET_ok, 0.0f);
129 return _ptr->getRestitution();
141 nassertv(_error_type == ET_ok);
142 _ptr->setStaticFriction(coef);
151 nassertr(_error_type == ET_ok, 0.0f);
152 return _ptr->getStaticFriction();
165 nassertv(_error_type == ET_ok);
166 _ptr->setDynamicFriction(coef);
175 nassertr(_error_type == ET_ok, 0.0f);
176 return _ptr->getDynamicFriction();
187 nassertv(_error_type == ET_ok);
188 _ptr->setStaticFrictionV(coef);
197 nassertr(_error_type == ET_ok, 0.0f);
198 return _ptr->getStaticFrictionV();
209 nassertv(_error_type == ET_ok);
210 _ptr->setDynamicFrictionV(coef);
219 nassertr(_error_type == ET_ok, 0.0f);
220 return _ptr->getDynamicFrictionV();
227 set_flag(PhysxMaterialFlag flag,
bool value) {
229 nassertv(_error_type == ET_ok);
230 NxU32 flags = _ptr->getFlags();
239 _ptr->setFlags(flags);
246 get_flag(PhysxMaterialFlag flag)
const {
248 nassertr(_error_type == ET_ok,
false);
249 return (_ptr->getFlags() & flag) ? true :
false;
259 nassertv(_error_type == ET_ok);
269 nassertr(_error_type == ET_ok, LVector3f::zero());
281 nassertv(_error_type == ET_ok);
282 _ptr->setFrictionCombineMode((NxCombineMode)mode);
291 nassertr(_error_type == ET_ok, CM_average);
292 return (PhysxCombineMode)_ptr->getFrictionCombineMode();
303 nassertv(_error_type == ET_ok);
304 _ptr->setRestitutionCombineMode((NxCombineMode)mode);
313 nassertr(_error_type == ET_ok, CM_average);
314 return (PhysxCombineMode)_ptr->getRestitutionCombineMode();