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 
35 {
36  PxReal mPlane[4];
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) {}
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