PxPrismaticJoint.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_PRISMATICJOINT_H
15 #define PX_PRISMATICJOINT_H
16 
20 #include "extensions/PxJoint.h"
22 
23 #ifndef PX_DOXYGEN
24 namespace physx
25 {
26 #endif
27 
28 class PxPrismaticJoint;
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 };
60 
63 
64 
65 
77 class PxPrismaticJoint : public PxJoint
78 {
79 public:
80 
81 
86  virtual PxReal getPosition() const = 0;
87 
91  virtual PxReal getVelocity() const = 0;
92 
101  virtual void setLimit(const PxJointLinearLimitPair&) = 0;
102 
108  virtual PxJointLinearLimitPair getLimit() const = 0;
109 
110 
121  virtual void setPrismaticJointFlags(PxPrismaticJointFlags flags) = 0;
122 
132  virtual void setPrismaticJointFlag(PxPrismaticJointFlag::Enum flag, bool value) = 0;
133 
142  virtual PxPrismaticJointFlags getPrismaticJointFlags(void) const = 0;
143 
163  virtual void setProjectionLinearTolerance(PxReal tolerance) = 0;
164 
173  virtual PxReal getProjectionLinearTolerance() const = 0;
174 
194  virtual void setProjectionAngularTolerance(PxReal tolerance) = 0;
195 
201  virtual PxReal getProjectionAngularTolerance() const = 0;
202 
206  virtual const char* getConcreteTypeName() const { return "PxPrismaticJoint"; }
207 
208 protected:
209  //serialization
210 
214  PX_INLINE PxPrismaticJoint(PxType concreteType, PxBaseFlags baseFlags) : PxJoint(concreteType, baseFlags) {}
215 
219  PX_INLINE PxPrismaticJoint(PxBaseFlags baseFlags) : PxJoint(baseFlags) {}
220 
224  virtual bool isKindOf(const char* name) const { return !strcmp("PxPrismaticJoint", name) || PxJoint::isKindOf(name); }
225 
226  //~serialization
227 };
228 
229 #ifndef PX_DOXYGEN
230 } // namespace physx
231 #endif
232 
234 #endif


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