Main Page
Class Hierarchy
Compound List
Compound Members
Include
geometry
PxConvexMesh.h
Go to the documentation of this file.
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
13
14
#ifndef PX_PHYSICS_GEOMUTILS_NX_CONVEXMESH
15
#define PX_PHYSICS_GEOMUTILS_NX_CONVEXMESH
16
20
#include "
foundation/Px.h
"
21
#include "
common/PxBase.h
"
22
23
#ifndef PX_DOXYGEN
24
namespace
physx
25
{
26
#endif
27
34
struct
PxHullPolygon
35
{
36
PxReal
mPlane[4];
37
PxU16
mNbVerts
;
38
PxU16
mIndexBase
;
39
};
40
67
class
PxConvexMesh
:
public
PxBase
68
{
69
public
:
70
76
PX_PHYSX_COMMON_API
virtual
PxU32
getNbVertices()
const
= 0;
77
83
PX_PHYSX_COMMON_API
virtual
const
PxVec3
* getVertices()
const
= 0;
84
90
PX_PHYSX_COMMON_API
virtual
const
PxU8
* getIndexBuffer()
const
= 0;
91
97
PX_PHYSX_COMMON_API
virtual
PxU32
getNbPolygons()
const
= 0;
98
106
PX_PHYSX_COMMON_API
virtual
bool
getPolygonData(
PxU32
index,
PxHullPolygon
& data)
const
= 0;
107
115
PX_PHYSX_COMMON_API
virtual
void
release() = 0;
116
125
PX_PHYSX_COMMON_API
virtual
PxU32
getReferenceCount()
const
= 0;
126
143
PX_PHYSX_COMMON_API
virtual
void
getMassInformation(
PxReal
& mass,
PxMat33
& localInertia,
PxVec3
& localCenterOfMass)
const
= 0;
144
150
PX_PHYSX_COMMON_API
virtual
PxBounds3
getLocalBounds()
const
= 0;
151
152
PX_PHYSX_COMMON_API
virtual
const
char
*
getConcreteTypeName
()
const
{
return
"PxConvexMesh"
; }
153
154
protected
:
155
PX_INLINE
PxConvexMesh
(
PxType
concreteType,
PxBaseFlags
baseFlags) :
PxBase
(concreteType, baseFlags) {}
156
PX_INLINE
PxConvexMesh
(
PxBaseFlags
baseFlags) :
PxBase
(baseFlags) {}
157
PX_PHYSX_COMMON_API
virtual
~PxConvexMesh
() {}
158
PX_PHYSX_COMMON_API
virtual
bool
isKindOf
(
const
char
* name)
const
{
return
!strcmp(
"PxConvexMesh"
, name) ||
PxBase::isKindOf
(name); }
159
};
160
161
#ifndef PX_DOXYGEN
162
}
// namespace physx
163
#endif
164
166
#endif
Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.
www.nvidia.com