PxSphericalJoint.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_SPHERICALJOINT_H
15 #define PX_SPHERICALJOINT_H
16 
20 #include "extensions/PxJoint.h"
22 
23 #ifndef PX_DOXYGEN
24 namespace physx
25 {
26 #endif
27 
28 class PxSphericalJoint;
29 
43  PxRigidActor* actor0, const PxTransform& localFrame0,
44  PxRigidActor* actor1, const PxTransform& localFrame1);
45 
46 
54 {
55  enum Enum
56  {
57  eLIMIT_ENABLED = 1<<1
58  };
59 };
62 
63 
78 class PxSphericalJoint : public PxJoint
79 {
80 public:
81 
82 
94  virtual PxJointLimitCone getLimitCone() const = 0;
95 
104  virtual void setLimitCone(const PxJointLimitCone &limit) = 0;
105 
116  virtual void setSphericalJointFlags(PxSphericalJointFlags flags) = 0;
117 
127  virtual void setSphericalJointFlag(PxSphericalJointFlag::Enum flag, bool value) = 0;
128 
137  virtual PxSphericalJointFlags getSphericalJointFlags(void) const = 0;
138 
158  virtual void setProjectionLinearTolerance(PxReal tolerance) = 0;
159 
160 
169  virtual PxReal getProjectionLinearTolerance() const = 0;
170 
174  virtual const char* getConcreteTypeName() const { return "PxSphericalJoint"; }
175 
176 protected:
177 
178  //serialization
179 
183  PX_INLINE PxSphericalJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
184 
188  PX_INLINE PxSphericalJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
189 
193  virtual bool isKindOf(const char* name) const { return !strcmp("PxSphericalJoint", name) || PxJoint::isKindOf(name); }
194 
195  //~serialization
196 
197 };
198 
199 #ifndef PX_DOXYGEN
200 } // namespace physx
201 #endif
202 
204 #endif


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