DcArticulation#

Fully qualified name: omni::isaac::dynamic_control::DcArticulation

struct DcArticulation#

Represents an articulation in the physics simulation.

Contains all the information needed to represent and manipulate an articulation, including its PhysX representation, name, path, and relationships to other objects. An articulation is a collection of rigid bodies connected by joints.

Public Functions

inline size_t numRigidBodies() const#

Gets the number of rigid bodies in this articulation.

Returns:

The number of rigid bodies

inline size_t numJoints() const#

Gets the number of joints in this articulation.

Returns:

The number of joints

inline size_t numDofs() const#

Gets the number of degrees of freedom in this articulation.

Returns:

The number of degrees of freedom

bool refreshCache(
const ::physx::PxArticulationCacheFlags &flags = ::physx::PxArticulationCacheFlag::eALL,
) const#

Refreshes the PhysX articulation cache.

Parameters:

flags[in] Flags indicating which parts of the cache to refresh

Returns:

True if successful, false otherwise

Public Members

DcHandle handle = kDcInvalidHandle#

Handle to this articulation.

DcContext *ctx = nullptr#

Pointer to the context this articulation belongs to.

::physx::PxArticulationReducedCoordinate *pxArticulation = nullptr#

Pointer to the PhysX articulation.

std::string name#

Name of the articulation.

pxr::SdfPath path#

USD path of the articulation.

std::set<pxr::SdfPath> componentPaths#

USD paths of the components of this articulation.

std::vector<DcRigidBody*> rigidBodies#

Handles to the rigid bodies in this articulation.

std::vector<DcJoint*> joints#

Handles to the joints in this articulation.

std::vector<DcDof*> dofs#

Handles to the degrees of freedom in this articulation.

std::map<std::string, DcRigidBody*> rigidBodyMap#

Map from rigid body names to handles.

std::map<std::string, DcJoint*> jointMap#

Map from joint names to handles.

std::map<std::string, DcDof*> dofMap#

Map from degree of freedom names to handles.

mutable ::physx::PxArticulationCache *pxArticulationCache = nullptr#

Pointer to the PhysX articulation cache.

mutable int64_t cacheAge = -1#

Age of the cache, used to determine when to refresh.

mutable std::vector<DcRigidBodyState> rigidBodyStateCache#

Cache of rigid body states.

mutable std::vector<DcDofState> dofStateCache#

Cache of degree of freedom states.