From 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 Mon Sep 17 00:00:00 2001 From: git perforce import user Date: Tue, 25 Oct 2016 12:29:14 -0600 Subject: Initial commit: PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167] --- .../PhysXAPI/files/PxRigidBodyExt_8h-source.html | 142 +++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 PhysX_3.4/Documentation/PhysXAPI/files/PxRigidBodyExt_8h-source.html (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxRigidBodyExt_8h-source.html') diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxRigidBodyExt_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxRigidBodyExt_8h-source.html new file mode 100644 index 00000000..ed8a313a --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxRigidBodyExt_8h-source.html @@ -0,0 +1,142 @@ + + + NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxRigidBodyExt.h Source File + + + + + + + +

PxRigidBodyExt.h

Go to the documentation of this file.
00001 // This code contains NVIDIA Confidential Information and is disclosed to you
+00002 // under a form of NVIDIA software license agreement provided separately to you.
+00003 //
+00004 // Notice
+00005 // NVIDIA Corporation and its licensors retain all intellectual property and
+00006 // proprietary rights in and to this software and related documentation and
+00007 // any modifications thereto. Any use, reproduction, disclosure, or
+00008 // distribution of this software and related documentation without an express
+00009 // license agreement from NVIDIA Corporation is strictly prohibited.
+00010 //
+00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+00015 //
+00016 // Information and code furnished is believed to be accurate and reliable.
+00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+00018 // information or for any infringement of patents or other rights of third parties that may
+00019 // result from its use. No license is granted by implication or otherwise under any patent
+00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+00021 // This code supersedes and replaces all information previously supplied.
+00022 // NVIDIA Corporation products are not authorized for use as critical
+00023 // components in life support devices or systems without express written approval of
+00024 // NVIDIA Corporation.
+00025 //
+00026 // Copyright (c) 2008-2016 NVIDIA Corporation. All rights reserved.
+00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
+00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved.  
+00029 
+00030 
+00031 #ifndef PX_PHYSICS_EXTENSIONS_RIGIDBODY_H
+00032 #define PX_PHYSICS_EXTENSIONS_RIGIDBODY_H
+00033 
+00037 #include "PxPhysXConfig.h"
+00038 #include "PxRigidBody.h"
+00039 #include "PxQueryReport.h"
+00040 #include "PxQueryFiltering.h"
+00041 #include "extensions/PxMassProperties.h"
+00042 
+00043 #if !PX_DOXYGEN
+00044 namespace physx
+00045 {
+00046 #endif
+00047 
+00048 class PxScene;
+00049 struct PxQueryCache;
+00050 class PxShape;
+00051 
+00058 class PxRigidBodyExt
+00059 {
+00060 public:
+00094     static      bool            updateMassAndInertia(PxRigidBody& body, const PxReal* shapeDensities, PxU32 shapeDensityCount, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
+00095 
+00096 
+00110     static      bool            updateMassAndInertia(PxRigidBody& body, PxReal density, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
+00111     
+00112 
+00134     static      bool            setMassAndUpdateInertia(PxRigidBody& body, const PxReal* shapeMasses, PxU32 shapeMassCount, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
+00135 
+00136 
+00155     static      bool            setMassAndUpdateInertia(PxRigidBody& body, PxReal mass, const PxVec3* massLocalPose = NULL, bool includeNonSimShapes = false);
+00156 
+00157 
+00167     static      PxMassProperties    computeMassPropertiesFromShapes(const PxShape* const* shapes, PxU32 shapeCount);
+00168     
+00169 
+00196     static      void            addForceAtPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
+00197 
+00224     static      void            addForceAtLocalPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
+00225 
+00252     static      void            addLocalForceAtPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
+00253 
+00280     static      void            addLocalForceAtLocalPos(PxRigidBody& body, const PxVec3& force, const PxVec3& pos, PxForceMode::Enum mode = PxForceMode::eFORCE, bool wakeup = true);
+00281 
+00292     static      PxVec3          getVelocityAtPos(const PxRigidBody& body, const PxVec3& pos);
+00293 
+00304     static      PxVec3          getLocalVelocityAtLocalPos(const PxRigidBody& body, const PxVec3& pos);
+00305 
+00316     static      PxVec3          getVelocityAtOffset(const PxRigidBody& body, const PxVec3& pos);
+00317 
+00318 
+00347     static      bool            linearSweepSingle(
+00348                                     PxRigidBody& body, PxScene& scene, const PxVec3& unitDir, const PxReal distance,
+00349                                     PxHitFlags outputFlags,
+00350                                     PxSweepHit& closestHit, PxU32& shapeIndex,
+00351                                     const PxQueryFilterData& filterData = PxQueryFilterData(),
+00352                                     PxQueryFilterCallback* filterCall = NULL,
+00353                                     const PxQueryCache* cache = NULL,
+00354                                     const PxReal inflation=0.0f);
+00355 
+00388     static      PxU32           linearSweepMultiple(
+00389                                     PxRigidBody& body, PxScene& scene, const PxVec3& unitDir, const PxReal distance,
+00390                                     PxHitFlags outputFlags,
+00391                                     PxSweepHit* touchHitBuffer, PxU32* touchHitShapeIndices, PxU32 touchHitBufferSize,
+00392                                     PxSweepHit& block, PxI32& blockingShapeIndex, bool& overflow,
+00393                                     const PxQueryFilterData& filterData = PxQueryFilterData(),
+00394                                     PxQueryFilterCallback* filterCall = NULL,
+00395                                     const PxQueryCache* cache = NULL, const PxReal inflation = 0.0f);
+00396 
+00397 
+00413     static      void            computeVelocityDeltaFromImpulse(const PxRigidBody& body, const PxVec3& impulsiveForce, const PxVec3& impulsiveTorque, PxVec3& deltaLinearVelocity, PxVec3& deltaAngularVelocity);
+00414 
+00432     static void                 computeVelocityDeltaFromImpulse(const PxRigidBody& body, const PxTransform& globalPose, const PxVec3& point, const PxVec3& impulse, const PxReal invMassScale, 
+00433                                                         const PxReal invInertiaScale, PxVec3& deltaLinearVelocity, PxVec3& deltaAngularVelocity);
+00434 
+00449     static void                 computeLinearAngularImpulse(const PxRigidBody& body, const PxTransform& globalPose, const PxVec3& point, const PxVec3& impulse, const PxReal invMassScale, 
+00450                                                         const PxReal invInertiaScale, PxVec3& linearImpulse, PxVec3& angularImpulse);
+00451 
+00452 
+00453 };
+00454 
+00455 #if !PX_DOXYGEN
+00456 } // namespace physx
+00457 #endif
+00458 
+00460 #endif
+
+ +

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