Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
PhysicsMaterial.h
Go to the documentation of this file.
1// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
2// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
8#include <Jolt/Core/Color.h>
9#include <Jolt/Core/Result.h>
11
13
14class StreamIn;
15class StreamOut;
16
22class JPH_EXPORT PhysicsMaterial : public SerializableObject, public RefTarget<PhysicsMaterial>
23{
25
26public:
28 PhysicsMaterial() = default;
29 virtual ~PhysicsMaterial() override = default;
30
33
34 // Properties
35 virtual const char * GetDebugName() const { return "Unknown"; }
36 virtual Color GetDebugColor() const { return Color::sGrey; }
37
39 virtual void SaveBinaryState(StreamOut &inStream) const;
40
42
45
46protected:
48 PhysicsMaterial(const PhysicsMaterial &) = default;
50
52 virtual void RestoreBinaryState(StreamIn &inStream);
53};
54
56
#define JPH_EXPORT
Definition Core.h:275
#define JPH_NAMESPACE_END
Definition Core.h:425
#define JPH_NAMESPACE_BEGIN
Definition Core.h:419
Array< RefConst< PhysicsMaterial > > PhysicsMaterialList
Definition PhysicsMaterial.h:55
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition SerializableObject.h:109
Definition Array.h:36
Class that holds an RGBA color with 8-bits per component.
Definition Color.h:16
static const Color sGrey
Definition Color.h:79
virtual const char * GetDebugName() const
Definition PhysicsMaterial.h:35
virtual void RestoreBinaryState(StreamIn &inStream)
This function should not be called directly, it is used by sRestoreFromBinaryState.
Definition PhysicsMaterial.cpp:25
Result< Ref< PhysicsMaterial > > PhysicsMaterialResult
Definition PhysicsMaterial.h:41
PhysicsMaterial(const PhysicsMaterial &)=default
Don't allow copy constructing this base class, but allow derived classes to copy themselves.
static RefConst< PhysicsMaterial > sDefault
Default material that is used when a shape has no materials defined.
Definition PhysicsMaterial.h:32
virtual Color GetDebugColor() const
Definition PhysicsMaterial.h:36
virtual ~PhysicsMaterial() override=default
PhysicsMaterial()=default
Constructor.
static PhysicsMaterialResult sRestoreFromBinaryState(StreamIn &inStream)
Creates a PhysicsMaterial of the correct type and restores its contents from the binary stream inStre...
Definition PhysicsMaterial.cpp:30
Definition Reference.h:163
Helper class that either contains a valid result or an error.
Definition Result.h:12
SerializableObject()=default
Don't allow (copy) constructing this base class, but allow derived classes to (copy) construct themse...
SerializableObject & operator=(const SerializableObject &)=default
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13