Logo
  • PhysX License
  • Building with PhysX
  • Snippets
  • PhysX API Basics
  • Startup and Shutdown
  • Threading
  • Geometry
  • Custom Geometry
  • Rigid Body Overview
  • Rigid Body Collision
  • Rigid Body Dynamics
  • Simulation
  • Advanced Collision Detection
  • Joints
  • Articulations
  • GPU Rigid Bodies
  • Soft Bodies
  • Particle System
  • Geometry Queries
  • Scene Queries
  • Gjk Queries
  • Vehicles
  • Character Controllers
  • Debug Visualization
  • Omniverse Visual Debugger
  • Simulation Statistics
  • Serialization
  • Extending Serialization
  • Best Practices Guide
  • Migrating From PhysX SDK 2.x to 3.x
  • Migrating From PhysX SDK 3.2 to 3.3
  • Migrating From PhysX SDK 3.3 to 3.4
  • Migrating From PhysX SDK 3.4 to 4.0
  • Migrating From PhysX SDK 4.0 to 5.1
  • Migrating From PhysX SDK 5.1 to 5.2
  • Migrating From PhysX SDK 5.2 to 5.3
  • PhysX SDK API
    • Directory hierarchy
    • Namespace hierarchy
    • API contents
      • Classes
      • Macros
      • Directories
        • include
          • PxActor.h
          • PxActorData.h
          • PxAggregate.h
          • PxAnisotropy.h
          • PxArrayConverter.h
          • PxArticulationFlag.h
          • PxArticulationJointReducedCoordinate.h
          • PxArticulationLink.h
            • Source file
          • PxArticulationReducedCoordinate.h
          • PxArticulationTendon.h
          • PxArticulationTendonData.h
          • PxAttachment.h
          • PxBaseMaterial.h
          • PxBroadPhase.h
          • PxClient.h
          • PxConeLimitedConstraint.h
          • PxConstraint.h
          • PxConstraintDesc.h
          • PxContact.h
          • PxContactModifyCallback.h
          • PxDeletionListener.h
          • PxFEMClothFlags.h
          • PxFEMClothMaterial.h
          • PxFEMMaterial.h
          • PxFEMParameter.h
          • PxFEMSoftBodyMaterial.h
          • PxFLIPMaterial.h
          • PxFiltering.h
          • PxForceMode.h
          • PxHairSystemFlag.h
          • PxImmediateMode.h
          • PxIsosurfaceExtraction.h
          • PxLineStripSkinning.h
          • PxLockedData.h
          • PxMPMMaterial.h
          • PxMaterial.h
          • PxNodeIndex.h
          • PxPBDMaterial.h
          • PxPBDParticleSystem.h
          • PxParticleBuffer.h
          • PxParticleGpu.h
          • PxParticleMaterial.h
          • PxParticleNeighborhoodProvider.h
          • PxParticleSolverType.h
          • PxParticleSystem.h
          • PxParticleSystemFlag.h
          • PxPhysXConfig.h
          • PxPhysics.h
          • PxPhysicsAPI.h
          • PxPhysicsSerialization.h
          • PxPruningStructure.h
          • PxQueryFiltering.h
          • PxQueryReport.h
          • PxRigidActor.h
          • PxRigidBody.h
          • PxRigidDynamic.h
          • PxRigidStatic.h
          • PxSDFBuilder.h
          • PxScene.h
          • PxSceneDesc.h
          • PxSceneLock.h
          • PxSceneQueryDesc.h
          • PxSceneQuerySystem.h
          • PxShape.h
          • PxSimulationEventCallback.h
          • PxSimulationStatistics.h
          • PxSmoothing.h
          • PxSoftBody.h
          • PxSoftBodyFlag.h
          • PxSparseGridParams.h
          • PxVisualizationParameter.h
          • characterkinematic
          • collision
          • common
          • cooking
          • cudamanager
          • extensions
          • filebuf
          • foundation
          • geometry
          • geomutils
          • gpu
          • omnipvd
          • pvd
          • solver
          • task
          • vehicle2
        • pvdruntime
      • Files
      • Functions
      • Groups
      • Namespaces
      • Pages
      • Structs
      • Typedefs
      • Unions
      • Variables
physx
  • »
  • PhysX SDK API »
  • Directories »
  • include »
  • include/PxArticulationLink.h »
  • include/PxArticulationLink.h
  •  

include/PxArticulationLink.h

File members: include/PxArticulationLink.h

// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//  * Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
//  * Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//  * Neither the name of NVIDIA CORPORATION nor the names of its
//    contributors may be used to endorse or promote products derived
//    from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Copyright (c) 2008-2023 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.

#ifndef PX_ARTICULATION_LINK_H
#define PX_ARTICULATION_LINK_H
#include "PxPhysXConfig.h"
#include "PxRigidBody.h"

#if !PX_DOXYGEN
namespace physx
{
#endif

class PxArticulationLink : public PxRigidBody
{
public:
    virtual     void                        release() = 0;

    virtual     PxArticulationReducedCoordinate&            getArticulation() const = 0;

    virtual     PxArticulationJointReducedCoordinate*   getInboundJoint() const = 0;

    virtual     PxU32                       getInboundJointDof() const = 0;

    virtual     PxU32                       getNbChildren() const = 0;

    virtual     PxU32                       getLinkIndex() const = 0;

    virtual     PxU32                       getChildren(PxArticulationLink** userBuffer, PxU32 bufferSize, PxU32 startIndex = 0) const = 0;

    virtual     void                        setCfmScale(const PxReal cfm) = 0;

    virtual     PxReal                      getCfmScale() const = 0;

    virtual     PxVec3                      getLinearVelocity() const = 0;

    virtual     PxVec3                      getAngularVelocity() const = 0;

    virtual     const char*                 getConcreteTypeName()       const       { return "PxArticulationLink";  }

protected:
    PX_INLINE                               PxArticulationLink(PxType concreteType, PxBaseFlags baseFlags) : PxRigidBody(concreteType, baseFlags) {}
    PX_INLINE                               PxArticulationLink(PxBaseFlags baseFlags) : PxRigidBody(baseFlags)  {}
    virtual                                 ~PxArticulationLink()   {}
    virtual     bool                        isKindOf(const char* name)  const       { PX_IS_KIND_OF(name, "PxArticulationLink", PxRigidBody);   }
};

#if !PX_DOXYGEN
} // namespace physx
#endif

#endif

© Copyright 2022-2023, NVIDIA. Last updated on Dec 11, 2023.