PxConvexMeshGeometry.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_NX_CONVEXMESH_GEOMETRY
15 #define PX_PHYSICS_NX_CONVEXMESH_GEOMETRY
16 
19 #include "geometry/PxGeometry.h"
20 #include "geometry/PxMeshScale.h"
21 
22 #ifndef PX_DOXYGEN
23 namespace physx
24 {
25 #endif
26 
27 class PxConvexMesh;
28 
41 {
42 public:
49  PxGeometry(PxGeometryType::eCONVEXMESH),
50  scale(PxMeshScale(1.0f)),
52  {}
53 
61  const PxMeshScale& scaling = PxMeshScale()) :
62  PxGeometry(PxGeometryType::eCONVEXMESH),
63  scale(scaling),
64  convexMesh(mesh)
65  {}
66 
77  PX_INLINE bool isValid() const;
78 
79 public:
80 
89 };
90 
91 
93 {
94  if (mType != PxGeometryType::eCONVEXMESH)
95  return false;
96  if (!scale.scale.isFinite() || !scale.rotation.isUnit())
97  return false;
98  if (scale.scale.x <= 0.0f || scale.scale.y <= 0.0f || scale.scale.z <= 0.0f)
99  return false;
100  if (!convexMesh)
101  return false;
102 
103  return true;
104 }
105 
106 #ifndef PX_DOXYGEN
107 } // namespace physx
108 #endif
109 
111 #endif


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com