Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ObjectStreamTextIn.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
9#ifdef JPH_OBJECT_STREAM
10
12
15{
16public:
18
20 explicit ObjectStreamTextIn(istream &inStream);
21
23 virtual bool ReadDataType(EOSDataType &outType) override;
24 virtual bool ReadName(String &outName) override;
25 virtual bool ReadIdentifier(Identifier &outIdentifier) override;
26 virtual bool ReadCount(uint32 &outCount) override;
27
28 virtual bool ReadPrimitiveData(uint8 &outPrimitive) override;
29 virtual bool ReadPrimitiveData(uint16 &outPrimitive) override;
30 virtual bool ReadPrimitiveData(int &outPrimitive) override;
31 virtual bool ReadPrimitiveData(uint32 &outPrimitive) override;
32 virtual bool ReadPrimitiveData(uint64 &outPrimitive) override;
33 virtual bool ReadPrimitiveData(float &outPrimitive) override;
34 virtual bool ReadPrimitiveData(double &outPrimitive) override;
35 virtual bool ReadPrimitiveData(bool &outPrimitive) override;
36 virtual bool ReadPrimitiveData(String &outPrimitive) override;
37 virtual bool ReadPrimitiveData(Float3 &outPrimitive) override;
38 virtual bool ReadPrimitiveData(Double3 &outPrimitive) override;
39 virtual bool ReadPrimitiveData(Vec3 &outPrimitive) override;
40 virtual bool ReadPrimitiveData(DVec3 &outPrimitive) override;
41 virtual bool ReadPrimitiveData(Vec4 &outPrimitive) override;
42 virtual bool ReadPrimitiveData(Quat &outPrimitive) override;
43 virtual bool ReadPrimitiveData(Mat44 &outPrimitive) override;
44 virtual bool ReadPrimitiveData(DMat44 &outPrimitive) override;
45
46private:
47 bool ReadChar(char &outChar);
48 bool ReadWord(String &outWord);
49};
50
52
53#endif // JPH_OBJECT_STREAM
std::uint8_t uint8
Definition: Core.h:453
#define JPH_EXPORT
Definition: Core.h:236
std::uint64_t uint64
Definition: Core.h:456
#define JPH_NAMESPACE_END
Definition: Core.h:378
std::uint32_t uint32
Definition: Core.h:455
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
std::uint16_t uint16
Definition: Core.h:454
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:31
std::basic_string< char, std::char_traits< char >, STLAllocator< char > > String
Definition: STLAllocator.h:107
EOSDataType
Data type.
Definition: SerializableAttribute.h:17
Holds a 4x4 matrix of floats with the last column consisting of doubles.
Definition: DMat44.h:13
Definition: DVec3.h:14
Class that holds 3 doubles. Used as a storage class. Convert to DVec3 for calculations.
Definition: Double3.h:13
Class that holds 3 floats. Used as a storage class. Convert to Vec3 for calculations.
Definition: Float3.h:13
virtual bool ReadDataType(EOSDataType &outType)=0
virtual bool ReadIdentifier(Identifier &outIdentifier)=0
virtual bool ReadName(String &outName)=0
virtual bool ReadCount(uint32 &outCount)=0
virtual bool ReadPrimitiveData(uint8 &outPrimitive)=0
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
uint32 Identifier
Identifier for objects.
Definition: ObjectStream.h:33
Definition: ObjectStreamIn.h:23
Implementation of ObjectStream text input stream.
Definition: ObjectStreamTextIn.h:15
Definition: Quat.h:33
Definition: Vec3.h:17
Definition: Vec4.h:14