SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::ArticulatedSkinParams Struct Reference

Optional skinned mesh attached to an articulated actor for collision and rendering. More...

#include <mochi_structs.h>

Inheritance diagram for superdex::ArticulatedSkinParams:
superdex::prefab::ArticulatedSkinPrefab

Public Member Functions

bool operator== (ArticulatedSkinParams const &) const =default

Public Attributes

ActorBoundaryElementType boundaryElementType = ActorBoundaryElementType::Default
 Finite element type for boundary discretization.
std::optional< BoundarySubsamplingParams > boundarySubsampling
 Optional subsampling for boundary integrals such as contact.
ContactParams contact
 Contact mechanics parameters.
DynamicString layer
 Contact layer name for filtering contacts between actors.
std::optional< DynamicArray< DynamicString > > nonCollidingLinks
 Local names of links that do not act as colliding actors.
ShapeHandle shape
 Shape handle defining the skinned triangular or tetrahedral mesh.

Detailed Description

Optional skinned mesh attached to an articulated actor for collision and rendering.

The skin is a triangular or tetrahedral mesh deformed by the articulated links and, for a blended skin, the nested soft actors. The articulated actor acts as a colliding actor through the skin's surface: contact sample points on that surface are tested against other actors' collider geometry. The skin does not provide collider geometry, so other actors' contact sample points are not tested against it.

See also
ArticulatedActorParams::skin

Definition at line 238 of file mochi_structs.h.

Member Function Documentation

◆ operator==()

bool superdex::ArticulatedSkinParams::operator== ( ArticulatedSkinParams const & ) const
default

Member Data Documentation

◆ boundaryElementType

ActorBoundaryElementType superdex::ArticulatedSkinParams::boundaryElementType = ActorBoundaryElementType::Default

Finite element type for boundary discretization.

Note
Affects accuracy and performance of contact and boundary integrals.

Definition at line 242 of file mochi_structs.h.

◆ boundarySubsampling

std::optional<BoundarySubsamplingParams> superdex::ArticulatedSkinParams::boundarySubsampling

Optional subsampling for boundary integrals such as contact.

Note
Reduces computational cost by using fewer sample points.
For best performance, combine subsampling with boundaryElementType = ActorBoundaryElementType::P1Q1.

Definition at line 243 of file mochi_structs.h.

◆ contact

ContactParams superdex::ArticulatedSkinParams::contact

Contact mechanics parameters.

Definition at line 241 of file mochi_structs.h.

◆ layer

DynamicString superdex::ArticulatedSkinParams::layer

Contact layer name for filtering contacts between actors.

See also
Scene::EnableLayerContactAsymmetric, Scene::EnableLayerContactSymmetric, Scene::EnableActorContactAsymmetric, Scene::EnableActorContactSymmetric

Definition at line 240 of file mochi_structs.h.

◆ nonCollidingLinks

std::optional<DynamicArray<DynamicString> > superdex::ArticulatedSkinParams::nonCollidingLinks

Local names of links that do not act as colliding actors.

Note
A listed link contributes no rigid contact; the skin collides in its place. A link that is not listed keeps its own rigid contact, and the skin still collides over it, so both can generate contact in the same region.
On an articulated actor, unset means no link collides and the skin is the sole colliding actor, while an empty list means every link collides.
Each entry must be non-empty and must match a skeleton link local name.
On a soft-skinned actor, SoftSkinnedActorParams::enableCollidingLinks governs every link this list does not name: a link collides only when that flag is true and the link is not listed here. Unset therefore leaves that flag in sole control.
This setting does not affect whether the links act as colliders; see ArticulatedLinkParams::colliderType.

Definition at line 244 of file mochi_structs.h.

◆ shape

ShapeHandle superdex::ArticulatedSkinParams::shape

Shape handle defining the skinned triangular or tetrahedral mesh.

Note
A shape can be shared by multiple actors, even actors in different scenes.
See also
ShapeHandle, Context::LoadShapeFromFile

Definition at line 239 of file mochi_structs.h.


The documentation for this struct was generated from the following files: