Main Page
Class Hierarchy
Compound List
Compound Members
Include
geometry
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
40
class
PxConvexMeshGeometry
:
public
PxGeometry
41
{
42
public
:
48
PX_INLINE
PxConvexMeshGeometry
() :
49
PxGeometry
(
PxGeometryType
::eCONVEXMESH),
50
scale(
PxMeshScale
(1.0f)),
51
convexMesh
(
NULL
)
52
{}
53
60
PX_INLINE
PxConvexMeshGeometry
(
PxConvexMesh
*
mesh
,
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
84
PxMeshScale
scale
;
88
PxConvexMesh
*
convexMesh
;
89
};
90
91
92
PX_INLINE
bool
PxConvexMeshGeometry::isValid
()
const
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