RavEngine
Loading...
Searching...
No Matches
PvdTypeNames.h
1// Redistribution and use in source and binary forms, with or without
2// modification, are permitted provided that the following conditions
3// are met:
4// * Redistributions of source code must retain the above copyright
5// notice, this list of conditions and the following disclaimer.
6// * Redistributions in binary form must reproduce the above copyright
7// notice, this list of conditions and the following disclaimer in the
8// documentation and/or other materials provided with the distribution.
9// * Neither the name of NVIDIA CORPORATION nor the names of its
10// contributors may be used to endorse or promote products derived
11// from this software without specific prior written permission.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24//
25// Copyright (c) 2008-2022 NVIDIA Corporation. All rights reserved.
26// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
27// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
28#ifndef PVD_TYPE_NAMES_H
29#define PVD_TYPE_NAMES_H
30#if PX_SUPPORT_PVD
31#include "geometry/PxHeightFieldSample.h"
32#include "PxPvdObjectModelBaseTypes.h"
33#include "PxMetaDataObjects.h"
34
35namespace physx
36{
37namespace Vd
38{
39struct PvdSqHit;
40struct PvdRaycast;
41struct PvdOverlap;
42struct PvdSweep;
43
44struct PvdHullPolygonData
45{
46 PxU16 mNumVertices;
47 PxU16 mIndexBase;
48 PvdHullPolygonData(PxU16 numVert, PxU16 idxBase) : mNumVertices(numVert), mIndexBase(idxBase)
49 {
50 }
51};
52
53
54struct PxArticulationLinkUpdateBlock
55{
56 PxTransform GlobalPose;
57 PxVec3 LinearVelocity;
58 PxVec3 AngularVelocity;
59};
60
61struct PxArticulationJointUpdateBlock
62{
63 PxReal JointPosition_eX;
64 PxReal JointPosition_eY;
65 PxReal JointPosition_eZ;
66 PxReal JointPosition_eTwist;
67 PxReal JointPosition_eSwing1;
68 PxReal JointPosition_eSwing2;
69 PxReal JointVelocity_eX;
70 PxReal JointVelocity_eY;
71 PxReal JointVelocity_eZ;
72 PxReal JointVelocity_eTwist;
73 PxReal JointVelocity_eSwing1;
74 PxReal JointVelocity_eSwing2;
75};
76
77struct PxRigidDynamicUpdateBlock : public PxArticulationLinkUpdateBlock
78{
79 bool IsSleeping;
80};
81
82struct PvdContact
83{
84 PxVec3 point;
85 PxVec3 axis;
86 const void* shape0;
87 const void* shape1;
88 PxF32 separation;
89 PxF32 normalForce;
90 PxU32 internalFaceIndex0;
91 PxU32 internalFaceIndex1;
92 bool normalForceAvailable;
93};
94
95struct PvdPositionAndRadius
96{
97 PxVec3 position;
98 PxF32 radius;
99};
100
101} //Vd
102} //physx
103
104namespace physx
105{
106namespace pvdsdk
107{
108
109#define DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(type) DEFINE_PVD_TYPE_NAME_MAP(physx::type, "physx3", #type)
110DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxPhysics)
111DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxScene)
112DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTolerancesScale)
113DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTolerancesScaleGeneratedValues)
114DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSceneDescGeneratedValues)
115DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSceneDesc)
116DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSimulationStatistics)
117DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSimulationStatisticsGeneratedValues)
118DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxMaterial)
119DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxMaterialGeneratedValues)
120DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxFEMSoftBodyMaterial)
121DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxFEMSoftBodyMaterialGeneratedValues)
122// DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxFEMClothMaterial) // jcarius: Commented-out until FEMCloth is not under construction anymore
123// DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxFEMClothMaterialGeneratedValues) // jcarius: Commented-out until FEMCloth is not under construction anymore
124DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxPBDMaterial)
125DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxPBDMaterialGeneratedValues)
126DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightField)
127DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightFieldDesc)
128DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightFieldDescGeneratedValues)
129DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTriangleMesh)
130DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTetrahedronMesh)
131DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxConvexMesh)
132DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxActor)
133DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidActor)
134DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidBody)
135DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidDynamic)
136DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidDynamicGeneratedValues)
137DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidStatic)
138DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxRigidStaticGeneratedValues)
139DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxShape)
140DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxShapeGeneratedValues)
141DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxGeometry)
142DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxBoxGeometry)
143DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxPlaneGeometry)
144DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxCapsuleGeometry)
145DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSphereGeometry)
146DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightFieldGeometry)
147DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTriangleMeshGeometry)
148DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTetrahedronMeshGeometry)
149DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxConvexMeshGeometry)
150DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxCustomGeometry)
151DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxBoxGeometryGeneratedValues)
152DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxPlaneGeometryGeneratedValues)
153DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxCapsuleGeometryGeneratedValues)
154DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxSphereGeometryGeneratedValues)
155DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTetrahedronMeshGeometryGeneratedValues)
156DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightFieldGeometryGeneratedValues)
157DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxTriangleMeshGeometryGeneratedValues)
158DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxConvexMeshGeometryGeneratedValues)
159DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxCustomGeometryGeneratedValues)
160DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxHeightFieldSample)
161DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxConstraint)
162DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxConstraintGeneratedValues)
163DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationReducedCoordinate)
164DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationReducedCoordinateGeneratedValues)
165DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationLink)
166DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationLinkGeneratedValues)
167DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationJointReducedCoordinate)
168DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxArticulationJointReducedCoordinateGeneratedValues)
169DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxAggregate)
170DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP(PxAggregateGeneratedValues)
171
172#undef DEFINE_NATIVE_PVD_PHYSX3_TYPE_MAP
173
174#define DEFINE_NATIVE_PVD_TYPE_MAP(type) DEFINE_PVD_TYPE_NAME_MAP(physx::Vd::type, "physx3", #type)
175DEFINE_NATIVE_PVD_TYPE_MAP(PvdHullPolygonData)
176DEFINE_NATIVE_PVD_TYPE_MAP(PxRigidDynamicUpdateBlock)
177DEFINE_NATIVE_PVD_TYPE_MAP(PxArticulationLinkUpdateBlock)
178DEFINE_NATIVE_PVD_TYPE_MAP(PxArticulationJointUpdateBlock)
179DEFINE_NATIVE_PVD_TYPE_MAP(PvdContact)
180DEFINE_NATIVE_PVD_TYPE_MAP(PvdRaycast)
181DEFINE_NATIVE_PVD_TYPE_MAP(PvdSweep)
182DEFINE_NATIVE_PVD_TYPE_MAP(PvdOverlap)
183DEFINE_NATIVE_PVD_TYPE_MAP(PvdSqHit)
184DEFINE_NATIVE_PVD_TYPE_MAP(PvdPositionAndRadius)
185
186#undef DEFINE_NATIVE_PVD_TYPE_MAP
187
188
189DEFINE_PVD_TYPE_ALIAS(physx::PxFilterData, U32Array4)
190
191
192}
193}
194
195#endif
196
197#endif
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxAutoGeneratedMetaDataObjects.h:1384
Definition PxAutoGeneratedMetaDataObjects.h:1157
Definition PxAutoGeneratedMetaDataObjects.h:1039
Definition PxAutoGeneratedMetaDataObjects.h:1278
Definition PxAutoGeneratedMetaDataObjects.h:1828
Definition PxAutoGeneratedMetaDataObjects.h:1880
Definition PxAutoGeneratedMetaDataObjects.h:1468
Definition PxAutoGeneratedMetaDataObjects.h:1994
Definition PxAutoGeneratedMetaDataObjects.h:2854
Definition PxAutoGeneratedMetaDataObjects.h:390
Definition PxAutoGeneratedMetaDataObjects.h:2918
Definition PxAutoGeneratedMetaDataObjects.h:2221
Definition PxAutoGeneratedMetaDataObjects.h:250
Definition PxAutoGeneratedMetaDataObjects.h:518
Definition PxAutoGeneratedMetaDataObjects.h:2106
Definition PxAutoGeneratedMetaDataObjects.h:899
Definition PxAutoGeneratedMetaDataObjects.h:987
Definition PxAutoGeneratedMetaDataObjects.h:3201
Definition PxAutoGeneratedMetaDataObjects.h:1560
Definition PxAutoGeneratedMetaDataObjects.h:3656
Definition PxAutoGeneratedMetaDataObjects.h:2054
Definition PxAutoGeneratedMetaDataObjects.h:2802
Definition PxAutoGeneratedMetaDataObjects.h:1728
Definition PxAutoGeneratedMetaDataObjects.h:2161
PxFilterData is user-definable data which gets passed into the collision filtering shader and/or call...
Definition PxFiltering.h:365