29#ifndef NP_FLIP_MATERIAL_H
30#define NP_FLIP_MATERIAL_H
32#include "common/PxSerialFramework.h"
33#include "foundation/PxUserAllocated.h"
34#include "foundation/PxUtilities.h"
35#include "CmRefCountable.h"
36#include "PxsFLIPMaterialCore.h"
37#include "PxFLIPMaterial.h"
41#if PX_ENABLE_FEATURES_UNDER_CONSTRUCTION
47 class NpFLIPMaterial :
public PxFLIPMaterial,
public PxUserAllocated
57 NpFLIPMaterial(PxBaseFlags baseFlags) : PxFLIPMaterial(baseFlags), mMaterial(PxEmpty) {}
58 virtual void resolveReferences(PxDeserializationContext&
context);
59 static NpFLIPMaterial* createObject(PxU8*& address, PxDeserializationContext&
context);
60 static void getBinaryMetaData(PxOutputStream& stream);
62 void preExportDataReset() { Cm::RefCountable_preExportDataReset(*
this); }
63 void exportExtraData(PxSerializationContext&) {}
64 void importExtraData(PxDeserializationContext&) {}
65 virtual void requiresObjects(PxProcessPxBaseCallback&) {}
67 NpFLIPMaterial(
const PxsFLIPMaterialCore& desc);
68 virtual ~NpFLIPMaterial();
76 virtual PxU32 getReferenceCount() const
PX_OVERRIDE;
81 virtual
void setFriction(PxReal friction)
PX_OVERRIDE;
83 virtual
void setDamping(PxReal damping)
PX_OVERRIDE;
85 virtual
void setAdhesion(PxReal adhesion)
PX_OVERRIDE;
87 virtual
void setGravityScale(PxReal scale)
PX_OVERRIDE;
89 virtual
void setAdhesionRadiusScale(PxReal scale)
PX_OVERRIDE;
90 virtual PxReal getAdhesionRadiusScale() const
PX_OVERRIDE;
94 virtual
void setViscosity(PxReal viscosity)
PX_OVERRIDE;
98 PX_FORCE_INLINE static
void getMaterialIndices(NpFLIPMaterial*const* materials, PxU16* materialIndices, PxU32 materialCount);
106 PxsFLIPMaterialCore mMaterial;
109 PX_FORCE_INLINE void NpFLIPMaterial::getMaterialIndices(NpFLIPMaterial*const* materials, PxU16* materialIndices, PxU32 materialCount)
111 for (PxU32 i = 0; i < materialCount; i++)
112 materialIndices[i] =
static_cast<NpFLIPMaterial*
>(materials[i])->mMaterial.mMaterialIndex;
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_OVERRIDE
Definition PxPreprocessor.h:375
#define PX_INLINE
Definition PxPreprocessor.h:320
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39