blob: ddc439aadde1ba709bca042d2b85dcc6089ba20e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
@0xaffe4498f275ee58;
using Cxx = import "/capnp/c++.capnp";
using LL = import "NvBlastExtSerializationLL.capn";
$Cxx.namespace("Nv::Blast::Serialization");
struct TkAsset
{
assetLL @0 :LL.Asset;
jointDescs @1 :List(TkAssetJointDesc);
}
struct ExtPxAsset
{
asset @0 :TkAsset;
chunks @1 :List(ExtPxChunk);
subchunks @2 :List(ExtPxSubchunk);
}
struct ExtPxChunk
{
firstSubchunkIndex @0 :UInt32;
subchunkCount @1 :UInt32;
isStatic @2 :Bool;
}
struct ExtPxSubchunk
{
transform @0 :PxTransform;
geometry @1 :PxConvexMeshGeometry;
}
struct PxConvexMeshGeometry
{
scale @0 :PxMeshScale;
convexMesh @1 :Data;
meshFlags @2 :UInt8;
enum Type
{
eSPHERE @0;
ePLANE @1;
eCAPSULE @2;
eBOX @3;
eCONVEXMESH @4;
eTRIANGLEMESH @5;
eHEIGHTFIELD @6;
}
type @3 :Type;
}
struct TkAssetJointDesc
{
nodeIndices @0 :List(UInt32);
attachPositions @1 :List(PxVec3);
}
struct PxVec3
{
x @0 :Float32;
y @1 :Float32;
z @2 :Float32;
}
struct PxQuat
{
x @0 :Float32;
y @1 :Float32;
z @2 :Float32;
w @3 :Float32;
}
struct PxMeshScale
{
scale @0 :PxVec3;
rotation @1 :PxQuat;
}
struct PxTransform
{
q @0 :PxQuat;
p @1 :PxVec3;
}
|