Skip to main content

Skeleton

Trait Skeleton 

Source
pub trait Skeleton:
    Send
    + Sync
    + 'static {
    type Attr;
    type Body;
    type ComputedSkeleton;

    const BONE_COUNT: usize;

    // Required method
    fn compute_matrices_inner(
        &self,
        base_mat: Mat4<f32>,
        buf: &mut [FigureBoneData; 16],
        body: Self::Body,
    ) -> Self::ComputedSkeleton;

    // Provided method
    fn compute_matrices(
        &self,
        base_mat: Mat4<f32>,
        buf: &mut [FigureBoneData; 16],
        body: Self::Body,
    ) -> Self::ComputedSkeleton { ... }
}

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn compute_matrices_inner( &self, base_mat: Mat4<f32>, buf: &mut [FigureBoneData; 16], body: Self::Body, ) -> Self::ComputedSkeleton

Provided Methods§

Source

fn compute_matrices( &self, base_mat: Mat4<f32>, buf: &mut [FigureBoneData; 16], body: Self::Body, ) -> Self::ComputedSkeleton

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Skeleton for ArthropodSkeleton

Source§

const BONE_COUNT: usize = ComputedArthropodSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedArthropodSkeleton

Source§

impl Skeleton for BipedLargeSkeleton

Source§

const BONE_COUNT: usize = ComputedBipedLargeSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedBipedLargeSkeleton

Source§

impl Skeleton for BipedSmallSkeleton

Source§

const BONE_COUNT: usize = ComputedBipedSmallSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedBipedSmallSkeleton

Source§

impl Skeleton for BirdLargeSkeleton

Source§

const BONE_COUNT: usize = ComputedBirdLargeSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedBirdLargeSkeleton

Source§

impl Skeleton for BirdMediumSkeleton

Source§

const BONE_COUNT: usize = ComputedBirdMediumSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedBirdMediumSkeleton

Source§

impl Skeleton for CharacterSkeleton

Source§

const BONE_COUNT: usize = ComputedCharacterSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedCharacterSkeleton

Source§

impl Skeleton for CrustaceanSkeleton

Source§

const BONE_COUNT: usize = ComputedCrustaceanSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedCrustaceanSkeleton

Source§

impl Skeleton for DragonSkeleton

Source§

const BONE_COUNT: usize = ComputedDragonSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedDragonSkeleton

Source§

impl Skeleton for FishMediumSkeleton

Source§

const BONE_COUNT: usize = ComputedFishMediumSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedFishMediumSkeleton

Source§

impl Skeleton for FishSmallSkeleton

Source§

const BONE_COUNT: usize = ComputedFishSmallSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedFishSmallSkeleton

Source§

impl Skeleton for FixtureSkeleton

Source§

impl Skeleton for GolemSkeleton

Source§

const BONE_COUNT: usize = ComputedGolemSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedGolemSkeleton

Source§

impl Skeleton for ItemSkeleton

Source§

const BONE_COUNT: usize = ComputedItemSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedItemSkeleton

Source§

impl Skeleton for ObjectSkeleton

Source§

const BONE_COUNT: usize = ComputedObjectSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedObjectSkeleton

Source§

impl Skeleton for PluginSkeleton

Source§

const BONE_COUNT: usize = ComputedPluginSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedPluginSkeleton

Source§

impl Skeleton for QuadrupedLowSkeleton

Source§

const BONE_COUNT: usize = ComputedQuadrupedLowSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedQuadrupedLowSkeleton

Source§

impl Skeleton for QuadrupedMediumSkeleton

Source§

const BONE_COUNT: usize = ComputedQuadrupedMediumSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedQuadrupedMediumSkeleton

Source§

impl Skeleton for QuadrupedSmallSkeleton

Source§

const BONE_COUNT: usize = ComputedQuadrupedSmallSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedQuadrupedSmallSkeleton

Source§

impl Skeleton for ShipSkeleton

Source§

const BONE_COUNT: usize = ComputedShipSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedShipSkeleton

Source§

impl Skeleton for TheropodSkeleton

Source§

const BONE_COUNT: usize = ComputedTheropodSkeleton::BONE_COUNT

Source§

type Attr = SkeletonAttr

Source§

type Body = Body

Source§

type ComputedSkeleton = ComputedTheropodSkeleton