PxBoxGeometry.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_BOX_GEOMETRY
15 #define PX_PHYSICS_NX_BOX_GEOMETRY
16 
19 #include "geometry/PxGeometry.h"
20 #include "foundation/PxVec3.h"
21 
22 #ifndef PX_DOXYGEN
23 namespace physx
24 {
25 #endif
26 
33 class PxBoxGeometry : public PxGeometry
34 {
35 public:
39  PX_INLINE PxBoxGeometry() : PxGeometry(PxGeometryType::eBOX), halfExtents(0,0,0) {}
40 
47  PX_INLINE PxBoxGeometry(PxReal hx, PxReal hy, PxReal hz) : PxGeometry(PxGeometryType::eBOX), halfExtents(hx, hy, hz) {}
48 
53  PX_INLINE PxBoxGeometry(PxVec3 halfExtents_) : PxGeometry(PxGeometryType::eBOX), halfExtents(halfExtents_) {}
54 
65  PX_INLINE bool isValid() const;
66 
67 public:
72 };
73 
74 
76 {
77  if (mType != PxGeometryType::eBOX)
78  return false;
79  if (!halfExtents.isFinite())
80  return false;
81  if (halfExtents.x <= 0.0f || halfExtents.y <= 0.0f || halfExtents.z <= 0.0f)
82  return false;
83 
84  return true;
85 }
86 
87 #ifndef PX_DOXYGEN
88 } // namespace physx
89 #endif
90 
92 #endif


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