RavEngine
Loading...
Searching...
No Matches
PhysicsMaterial.hpp
1#pragma once
2
3namespace physx {
4 class PxMaterial;
5}
6
7namespace RavEngine {
8 enum class PhysicsMaterialFlag {
9 DisableFriction = 1 << 0,
10 DisableStrongFriction = 1 << 1
11 };
12
13 enum class PhysicsCombineMode {
14 Average = 0,
15 Min = 1,
16 Multiply = 2,
17 Max = 3,
18 NValues = 4,
19 Pad32 = 0x7fffffff
20 };
21
23 public:
24 PhysicsMaterial(double staticFriction=1, double dynamicFriction=1, double restitution = 1);
25 virtual ~PhysicsMaterial();
26
27 void SetStaticFriction(double);
28 void SetDynamicFriction(double);
29 void SetRestitution(double);
30 void SetFrictionCombineMode(PhysicsCombineMode);
31 void SetRestitutionCombineMode(PhysicsCombineMode);
32
33 double GetStaticFriction() const;
34 double GetDynamicFriction() const;
35 double GetRestitution() const;
36 PhysicsCombineMode GetFrictionCombineMode() const;
37 PhysicsCombineMode GetRestitutionCombineMode() const;
38
39 constexpr inline physx::PxMaterial* const GetPhysXmat() const {
40 return mat;
41 }
42
43 protected:
44 physx::PxMaterial* mat = nullptr;
45 };
46}
Definition PhysicsMaterial.hpp:22
Material class to represent a set of surface properties.
Definition PxMaterial.h:149
Definition Animation.hpp:6
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39