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/PxJoint_8h-source.html | 221 +++++++++++++++++++++
1 file changed, 221 insertions(+)
create mode 100644 PhysX_3.4/Documentation/PhysXAPI/files/PxJoint_8h-source.html
(limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxJoint_8h-source.html')
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxJoint_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxJoint_8h-source.html
new file mode 100644
index 00000000..6183a051
--- /dev/null
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxJoint_8h-source.html
@@ -0,0 +1,221 @@
+
+
+ PxJoint.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_JOINTCONSTRAINT_H +00032 #define PX_JOINTCONSTRAINT_H +00033 +00037 #include "foundation/PxTransform.h" +00038 #include "PxRigidActor.h" +00039 #include "PxConstraint.h" +00040 #include "common/PxBase.h" +00041 +00042 #if !PX_DOXYGEN +00043 namespace physx +00044 { +00045 #endif +00046 +00047 class PxRigidActor; +00048 class PxScene; +00049 class PxPhysics; +00050 class PxConstraint; +00051 +00057 struct PxJointConcreteType +00058 { +00059 enum Enum +00060 { +00061 eSPHERICAL = PxConcreteType::eFIRST_PHYSX_EXTENSION, +00062 eREVOLUTE, +00063 ePRISMATIC, +00064 eFIXED, +00065 eDISTANCE, +00066 eD6, +00067 eLast +00068 }; +00069 }; +00070 +00071 PX_DEFINE_TYPEINFO(PxJoint, PxConcreteType::eUNDEFINED) +00072 PX_DEFINE_TYPEINFO(PxD6Joint, PxJointConcreteType::eD6) +00073 PX_DEFINE_TYPEINFO(PxDistanceJoint, PxJointConcreteType::eDISTANCE) +00074 PX_DEFINE_TYPEINFO(PxFixedJoint, PxJointConcreteType::eFIXED) +00075 PX_DEFINE_TYPEINFO(PxPrismaticJoint, PxJointConcreteType::ePRISMATIC) +00076 PX_DEFINE_TYPEINFO(PxRevoluteJoint, PxJointConcreteType::eREVOLUTE) +00077 PX_DEFINE_TYPEINFO(PxSphericalJoint, PxJointConcreteType::eSPHERICAL) +00078 +00085 struct PxJointActorIndex +00086 { +00087 enum Enum +00088 { +00089 eACTOR0, +00090 eACTOR1, +00091 COUNT +00092 }; +00093 }; +00094 +00099 class PxJoint : public PxBase +00100 { +00101 //= ATTENTION! ===================================================================================== +00102 // Changing the data layout of this class breaks the binary serialization format. See comments for +00103 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData +00104 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION +00105 // accordingly. +00106 //================================================================================================== +00107 public: +00108 +00120 virtual void setActors(PxRigidActor* actor0, PxRigidActor* actor1) = 0; +00121 +00131 virtual void getActors(PxRigidActor*& actor0, PxRigidActor*& actor1) const = 0; +00132 +00144 virtual void setLocalPose(PxJointActorIndex::Enum actor, const PxTransform& localPose) = 0; +00145 +00156 virtual PxTransform getLocalPose(PxJointActorIndex::Enum actor) const = 0; +00157 +00158 +00166 virtual PxTransform getRelativeTransform() const = 0; +00167 +00175 virtual PxVec3 getRelativeLinearVelocity() const = 0; +00176 +00183 virtual PxVec3 getRelativeAngularVelocity() const = 0; +00184 +00185 +00198 virtual void setBreakForce(PxReal force, PxReal torque) = 0; +00199 +00208 virtual void getBreakForce(PxReal& force, PxReal& torque) const = 0; +00209 +00217 virtual void setConstraintFlags(PxConstraintFlags flags) = 0; +00218 +00227 virtual void setConstraintFlag(PxConstraintFlag::Enum flag, bool value) = 0; +00228 +00229 +00237 virtual PxConstraintFlags getConstraintFlags() const = 0; +00238 +00239 +00240 +00248 virtual void setInvMassScale0(PxReal invMassScale) = 0; +00249 +00258 virtual PxReal getInvMassScale0() const = 0; +00259 +00268 virtual void setInvInertiaScale0(PxReal invInertiaScale) = 0; +00269 +00277 virtual PxReal getInvInertiaScale0() const = 0; +00278 +00279 +00287 virtual void setInvMassScale1(PxReal invMassScale) = 0; +00288 +00297 virtual PxReal getInvMassScale1() const = 0; +00298 +00307 virtual void setInvInertiaScale1(PxReal invInertiaScale) = 0; +00308 +00316 virtual PxReal getInvInertiaScale1() const = 0; +00317 +00318 +00327 virtual PxConstraint* getConstraint() const = 0; +00328 +00340 virtual void setName(const char* name) = 0; +00341 +00350 virtual const char* getName() const = 0; +00351 +00358 virtual void release() = 0; +00359 +00360 +00361 +00369 virtual PxScene* getScene() const = 0; +00370 +00371 void* userData; +00372 +00373 //serialization +00374 +00378 static void getBinaryMetaData(PxOutputStream& stream); +00379 +00380 //~serialization +00381 +00382 protected: +00383 virtual ~PxJoint() {} +00384 +00385 //serialization +00386 +00390 PX_INLINE PxJoint(PxType concreteType, PxBaseFlags baseFlags) : PxBase(concreteType, baseFlags), userData(NULL) {} +00391 +00395 PX_INLINE PxJoint(PxBaseFlags baseFlags) : PxBase(baseFlags) {} +00396 +00400 virtual bool isKindOf(const char* name) const { return !::strcmp("PxJoint", name) || PxBase::isKindOf(name); } +00401 +00402 //~serialization +00403 }; +00404 +00405 class PxSpring +00406 { +00407 //= ATTENTION! ===================================================================================== +00408 // Changing the data layout of this class breaks the binary serialization format. See comments for +00409 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData +00410 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION +00411 // accordingly. +00412 //================================================================================================== +00413 public: +00414 +00415 PxReal stiffness; +00416 PxReal damping; +00417 +00418 PxSpring(PxReal stiffness_, PxReal damping_): stiffness(stiffness_), damping(damping_) {} +00419 }; +00420 +00421 +00422 #if !PX_DOXYGEN +00423 } // namespace physx +00424 #endif +00425 +00440 PX_C_EXPORT void PX_CALL_CONV PxSetJointGlobalFrame(physx::PxJoint& joint, const physx::PxVec3* wsAnchor, const physx::PxVec3* wsAxis); +00441 +00443 #endif +