Main Page
Class Hierarchy
Compound List
Compound Members
Include
geometry
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
:
71
PxVec3
halfExtents
;
72
};
73
74
75
PX_INLINE
bool
PxBoxGeometry::isValid
()
const
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