forked from LeenkxTeam/LNXSDK
HaxeJolt
This commit is contained in:
38
lib/haxejolt/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp
Normal file
38
lib/haxejolt/JoltPhysics/Jolt/ObjectStream/ObjectStream.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
||||
// SPDX-FileCopyrightText: 2021 Jorrit Rouwe
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#include <Jolt/Jolt.h>
|
||||
|
||||
#include <Jolt/ObjectStream/ObjectStream.h>
|
||||
|
||||
#ifdef JPH_OBJECT_STREAM
|
||||
|
||||
JPH_NAMESPACE_BEGIN
|
||||
|
||||
// Define macro to declare functions for a specific primitive type
|
||||
#define JPH_DECLARE_PRIMITIVE(name) \
|
||||
bool OSIsType(name *, int inArrayDepth, EOSDataType inDataType, const char *inClassName) \
|
||||
{ \
|
||||
return inArrayDepth == 0 && inDataType == EOSDataType::T_##name; \
|
||||
} \
|
||||
bool OSReadData(IObjectStreamIn &ioStream, name &outPrimitive) \
|
||||
{ \
|
||||
return ioStream.ReadPrimitiveData(outPrimitive); \
|
||||
} \
|
||||
void OSWriteDataType(IObjectStreamOut &ioStream, name *) \
|
||||
{ \
|
||||
ioStream.WriteDataType(EOSDataType::T_##name); \
|
||||
} \
|
||||
void OSWriteData(IObjectStreamOut &ioStream, const name &inPrimitive) \
|
||||
{ \
|
||||
ioStream.HintNextItem(); \
|
||||
ioStream.WritePrimitiveData(inPrimitive); \
|
||||
}
|
||||
|
||||
// This file uses the JPH_DECLARE_PRIMITIVE macro to define all types
|
||||
#include <Jolt/ObjectStream/ObjectStreamTypes.h>
|
||||
|
||||
JPH_NAMESPACE_END
|
||||
|
||||
#endif // JPH_OBJECT_STREAM
|
||||
Reference in New Issue
Block a user