PhysX SDK 3.2 API Reference: PxArticulationJoint.h Source File

PhysX SDK 3.2 API

PxArticulationJoint.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-2012 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_NX_ARTICULATION_JOINT
00032 #define PX_PHYSICS_NX_ARTICULATION_JOINT
00033 
00036 #include "PxPhysX.h"
00037 #include "common/PxSerialFramework.h"
00038 
00039 #ifndef PX_DOXYGEN
00040 namespace physx
00041 {
00042 #endif
00043 
00053 class PxArticulationJoint : public PxSerializable
00054 {
00055 public:
00056     
00066     virtual     void            setParentPose(const PxTransform& pose) = 0;
00067 
00076     virtual     PxTransform     getParentPose() const = 0;
00077 
00078 
00088     virtual     void            setChildPose(const PxTransform& pose) = 0;
00089 
00097     virtual     PxTransform     getChildPose() const = 0;
00098 
00099 
00112     virtual     void            setTargetOrientation(const PxQuat& orientation) = 0;
00113 
00121     virtual     PxQuat          getTargetOrientation() const = 0;
00122 
00133     virtual     void            setTargetVelocity(const PxVec3& velocity) = 0;
00134 
00142     virtual     PxVec3          getTargetVelocity() const = 0;
00143 
00144 
00158     virtual     void            setSpring(PxReal spring) = 0;
00159 
00167     virtual     PxReal          getSpring() const = 0;
00168 
00169 
00183     virtual     void            setDamping(PxReal damping) = 0;
00184 
00191     virtual     PxReal          getDamping() const = 0;
00192 
00212     virtual     void            setInternalCompliance(PxReal compliance) = 0;
00213 
00214 
00222     virtual     PxReal          getInternalCompliance() const = 0;
00223 
00243     virtual     void            setExternalCompliance(PxReal compliance) = 0;
00244 
00252     virtual     PxReal          getExternalCompliance() const = 0;
00253 
00254 
00255 
00268     virtual     void            setSwingLimit(PxReal yLimit, PxReal zLimit) = 0;
00269 
00270 
00279     virtual     void            getSwingLimit(PxReal &yLimit, PxReal &zLimit) const = 0;
00280 
00281 
00282 
00289     virtual     void            setTangentialSpring(PxReal spring) = 0;
00290 
00291 
00299     virtual     PxReal          getTangentialSpring() const = 0;
00300 
00301 
00308     virtual     void            setTangentialDamping(PxReal damping) = 0;
00309 
00310 
00318     virtual     PxReal          getTangentialDamping() const = 0;
00319 
00320 
00332     virtual     void            setSwingLimitContactDistance(PxReal contactDistance) = 0;
00333 
00334 
00342     virtual     PxReal          getSwingLimitContactDistance() const = 0;
00343 
00344 
00345 
00354     virtual     void            setSwingLimitEnabled(bool enabled) = 0;
00355 
00364     virtual     bool            getSwingLimitEnabled() const = 0;
00365 
00366 
00379     virtual     void            setTwistLimit(PxReal lower, PxReal upper) = 0;
00380 
00390     virtual     void            getTwistLimit(PxReal &lower, PxReal &upper) const = 0;
00391 
00392 
00401     virtual     void            setTwistLimitEnabled(bool enabled) = 0;
00402 
00411     virtual     bool            getTwistLimitEnabled() const = 0;
00412 
00413 
00425     virtual     void            setTwistLimitContactDistance(PxReal contactDistance) = 0;
00426 
00427 
00435     virtual     PxReal          getTwistLimitContactDistance() const = 0;
00436 
00437     virtual     const char*     getConcreteTypeName() const                 {   return "PxArticulationJoint"; }
00438 
00439 protected:
00440     PxArticulationJoint(PxRefResolver& v) : PxSerializable(v)   {}
00441     PX_INLINE                   PxArticulationJoint() {}
00442     virtual                     ~PxArticulationJoint() {}
00443     virtual     bool            isKindOf(const char* name)  const       {   return !strcmp("PxArticulationJoint", name) || PxSerializable::isKindOf(name); }
00444 };
00445 
00446 #ifndef PX_DOXYGEN
00447 } // namespace physx
00448 #endif
00449 
00451 #endif


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