1/*
2 * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3 *
4 * NVIDIA CORPORATION and its licensors retain all intellectual property
5 * and proprietary rights in and to this software, related documentation
6 * and any modifications thereto. Any use, reproduction, disclosure or
7 * distribution of this software and related documentation without an express
8 * license agreement from NVIDIA CORPORATION is strictly prohibited.
9 */
10// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
11// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
12#ifndef PX_JOINT_REPX_SERIALIZER_H
13#define PX_JOINT_REPX_SERIALIZER_H
14/** \addtogroup RepXSerializers
15 @{
16*/
17
18#include "extensions/PxRepXSimpleType.h"
19
20#ifndef PX_DOXYGEN
21namespace physx
22{
23#endif
24
25 template<typename TLiveType>
26 struct RepXSerializerImpl;
27
28 class XmlReader;
29 class XmlMemoryAllocator;
30 class XmlWriter;
31 class MemoryBuffer;
32
33 template<typename TJointType>
34 struct PxJointRepXSerializer : RepXSerializerImpl<TJointType>
35 {
36 PxJointRepXSerializer( PxAllocatorCallback& inAllocator ) : RepXSerializerImpl<TJointType>( inAllocator ) {}
37 virtual PxRepXObject fileToObject( XmlReader& inReader, XmlMemoryAllocator& inAllocator, PxRepXInstantiationArgs& inArgs, PxCollection* inCollection);
38 virtual void objectToFileImpl( const TJointType* inObj, PxCollection* inCollection, XmlWriter& inWriter, MemoryBuffer& inTempBuffer, PxRepXInstantiationArgs&);
39 virtual TJointType* allocateObject( PxRepXInstantiationArgs& ) { return NULL; }
40 };
41
42#ifndef PX_DOXYGEN
43} // namespace physx
44#endif
45
46/** @} */
47#endif
48