29#ifndef NP_ARTICULATION_LINK_H
30#define NP_ARTICULATION_LINK_H
32#include "NpRigidBodyTemplate.h"
33#include "PxArticulationLink.h"
35#if PX_ENABLE_DEBUG_VISUALIZATION
36 #include "common/PxRenderOutput.h"
38 PX_CATCH_UNDEFINED_ENABLE_DEBUG_VISUALIZATION
44class NpArticulationLink;
45class NpArticulationJointReducedCoordinate;
46class PxConstraintVisualizer;
48typedef NpRigidBodyTemplate<PxArticulationLink> NpArticulationLinkT;
77 void preExportDataReset() { NpArticulationLinkT::preExportDataReset(); }
82 virtual bool isSubordinate()
const {
return true; }
97 virtual void setGlobalPose(
const PxTransform& ,
bool ) { }
101 virtual bool attachShape(
PxShape& shape);
102 virtual void detachShape(
PxShape& shape,
bool wakeOnLostTouch =
true);
106 virtual PxU32 getInboundJointDof()
const;
108 virtual PxU32 getNbChildren()
const;
109 virtual PxU32 getChildren(
PxArticulationLink** userBuffer, PxU32 bufferSize, PxU32 startIndex)
const;
110 virtual PxU32 getLinkIndex()
const;
111 virtual void setCMassLocalPose(
const PxTransform& pose);
119 virtual void setCfmScale(
const PxReal cfmScale);
120 virtual PxReal getCfmScale()
const;
126 void releaseInternal();
134 void setGlobalPoseInternal(
const PxTransform& pose,
bool autowake);
135 void setLLIndex(
const PxU32 index) { mLLIndex = index; }
136 void setInboundJointDof(
const PxU32 index) { mInboundJointDof = index; }
144 void setKinematicLink(
const bool value);
146#if PX_ENABLE_DEBUG_VISUALIZATION
150 PX_CATCH_UNDEFINED_ENABLE_DEBUG_VISUALIZATION
159 PxU32 mInboundJointDof;
!!AL TODO: check if default of 4 elements makes sense
Definition NpArticulationLink.h:51
Definition NpArticulationLink.h:67
virtual void release()
Definition NpArticulationLink.cpp:121
Definition NpRigidBodyTemplate.h:80
PX_INLINE Iterator find(const T &a)
Definition PxArray.h:272
PX_FORCE_INLINE ConstIterator end() const
Definition PxArray.h:192
PX_FORCE_INLINE const T & front() const
Definition PxArray.h:207
PX_FORCE_INLINE bool empty() const
Definition PxArray.h:261
PX_FORCE_INLINE T & pushBack(const T &a)
Definition PxArray.h:296
PX_INLINE bool findAndReplaceWithLast(const T &a)
Definition PxArray.h:368
A joint between two links in an articulation.
Definition PxArticulationJointReducedCoordinate.h:49
A component of an articulation that represents a rigid body.
Definition PxArticulationLink.h:54
A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver....
Definition PxArticulationReducedCoordinate.h:448
API used to visualize details about a constraint.
Definition PxConstraintDesc.h:256
Binary deserialization context class.
Definition PxSerialFramework.h:174
Definition PxInlineArray.h:43
Output stream class for I/O.
Definition PxIO.h:114
Callback class used to process PxBase objects.
Definition PxSerialFramework.h:81
Definition PxRenderOutput.h:50
Binary serialization context class.
Definition PxSerialFramework.h:99
Abstract class for collision shapes.
Definition PxShape.h:146
3 Element vector class.
Definition PxVec3.h:50
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_INLINE
Definition PxPreprocessor.h:320
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
PxEMPTY
Definition Px.h:87
Enum
Definition PxActor.h:121
@ eARTICULATION_LINK
An articulation link.
Definition PxActor.h:138
Enum
Definition PxForceMode.h:51
@ eFORCE
parameter has unit of mass * length / time^2, i.e., a force
Definition PxForceMode.h:52