29#ifndef NP_FEM_CLOTH_MATERIAL_H
30#define NP_FEM_CLOTH_MATERIAL_H
32#include "common/PxSerialFramework.h"
33#include "foundation/PxUserAllocated.h"
34#include "foundation/PxUtilities.h"
35#include "CmRefCountable.h"
36#include "PxsFEMClothMaterialCore.h"
40#if PX_ENABLE_FEATURES_UNDER_CONSTRUCTION
46 class NpFEMClothMaterial :
public PxFEMClothMaterial,
public PxUserAllocated
56 NpFEMClothMaterial(PxBaseFlags baseFlags) : PxFEMClothMaterial(baseFlags), mMaterial(PxEmpty) {}
57 virtual void resolveReferences(PxDeserializationContext&
context);
58 static NpFEMClothMaterial* createObject(PxU8*& address, PxDeserializationContext&
context);
59 static void getBinaryMetaData(PxOutputStream& stream);
61 void preExportDataReset() { Cm::RefCountable_preExportDataReset(*
this); }
62 void exportExtraData(PxSerializationContext&) {}
63 void importExtraData(PxDeserializationContext&) {}
64 virtual void requiresObjects(PxProcessPxBaseCallback&) {}
66 NpFEMClothMaterial(
const PxsFEMClothMaterialCore& desc);
67 virtual ~NpFEMClothMaterial();
75 virtual PxU32 getReferenceCount() const
PX_OVERRIDE;
80 virtual
void setYoungsModulus(PxReal young)
PX_OVERRIDE;
81 virtual PxReal getYoungsModulus() const
PX_OVERRIDE;
82 virtual
void setPoissons(PxReal poisson)
PX_OVERRIDE;
84 virtual
void setDynamicFriction(PxReal threshold)
PX_OVERRIDE;
85 virtual PxReal getDynamicFriction() const
PX_OVERRIDE;
89 virtual
void setThickness(PxReal thickness)
PX_OVERRIDE;
91 virtual
void setElasticityDamping(PxReal damping)
PX_OVERRIDE;
92 virtual PxReal getElasticityDamping() const
PX_OVERRIDE;
93 virtual
void setBendingDamping(PxReal damping)
PX_OVERRIDE;
94 virtual PxReal getBendingDamping() const
PX_OVERRIDE;
97 PX_FORCE_INLINE static
void getMaterialIndices(PxFEMClothMaterial*const* materials, PxU16* materialIndices, PxU32 materialCount);
105 PxsFEMClothMaterialCore mMaterial;
108 PX_FORCE_INLINE void NpFEMClothMaterial::getMaterialIndices(PxFEMClothMaterial*const* materials, PxU16* materialIndices, PxU32 materialCount)
110 for (PxU32 i = 0; i < materialCount; i++)
111 materialIndices[i] =
static_cast<NpFEMClothMaterial*
>(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