Main Page
Class List
Class Members
NvBlastExtKJPxInputStream.h
Go to the documentation of this file.
1
// This code contains NVIDIA Confidential Information and is disclosed to you
2
// under a form of NVIDIA software license agreement provided separately to you.
3
//
4
// Notice
5
// NVIDIA Corporation and its licensors retain all intellectual property and
6
// proprietary rights in and to this software and related documentation and
7
// any modifications thereto. Any use, reproduction, disclosure, or
8
// distribution of this software and related documentation without an express
9
// license agreement from NVIDIA Corporation is strictly prohibited.
10
//
11
// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12
// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13
// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14
// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15
//
16
// Information and code furnished is believed to be accurate and reliable.
17
// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18
// information or for any infringement of patents or other rights of third parties that may
19
// result from its use. No license is granted by implication or otherwise under any patent
20
// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21
// This code supersedes and replaces all information previously supplied.
22
// NVIDIA Corporation products are not authorized for use as critical
23
// components in life support devices or systems without express written approval of
24
// NVIDIA Corporation.
25
//
26
// Copyright (c) 2020 NVIDIA Corporation. All rights reserved.
27
28
29
#pragma once
30
#include "PxIO.h"
31
#include "capnp/common.h"
32
#include "kj/io.h"
33
#include <memory>
34
#include "
generated/NvBlastExtPxSerialization.capn.h
"
35
36
37
namespace
Nv
38
{
39
namespace
Blast
40
{
41
42
/*
43
A wrapper around a Capn Proto Data reader.
44
45
Since it needs to behave like a stream, it's internally wrapped in a stream.
46
47
*/
48
class
ExtKJPxInputStream
:
public
physx::PxInputStream
49
{
50
public
:
51
ExtKJPxInputStream
(capnp::Data::Reader inReader);
52
~ExtKJPxInputStream
() =
default
;
53
54
virtual
uint32_t
read
(
void
* dest, uint32_t count)
override
;
55
56
private
:
57
capnp::Data::Reader dataReader;
58
std::shared_ptr<kj::ArrayInputStream> inputStream;
59
};
60
61
}
// namespace Blast
62
}
// namespace Nv
NvBlastExtPxSerialization.capn.h
Nv::Blast::ExtKJPxInputStream::~ExtKJPxInputStream
~ExtKJPxInputStream()=default
Nv::Blast::ExtKJPxInputStream
Definition:
NvBlastExtKJPxInputStream.h:48
Nv::Blast::ExtKJPxInputStream::ExtKJPxInputStream
ExtKJPxInputStream(capnp::Data::Reader inReader)
Nv::Blast::ExtKJPxInputStream::read
virtual uint32_t read(void *dest, uint32_t count) override
Nv
Definition:
NvBlastArray.h:37