import { VRMSpringBone } from './VRMSpringBone' ; import { VRMSpringBoneColliderGroup } from './VRMSpringBoneColliderGroup' ; /**
 * Represents a single spring bone group of a VRM.
 */ export type VRMSpringBoneGroup = VRMSpringBone [ ] ; /**
 * A class manages every spring bones on a VRM.
 */ export class VRMSpringBoneManager { public readonly colliderGroups : VRMSpringBoneColliderGroup [ ] = [ ] ; public readonly springBoneGroupList : VRMSpringBoneGroup [ ] = [ ] ; param springBoneGroupList public constructor ( colliderGroups , springBoneGroupList ) { this . colliderGroups = colliderGroups ; this . springBoneGroupList = springBoneGroupList ; } param root public setCenter ( root ) { this . springBoneGroupList . forEach ( ( springBoneGroup ) => { springBoneGroup . forEach ( ( springBone ) => { springBone . center = root ; } ) ; } ) ; } param delta public lateUpdate ( delta ) { this . springBoneGroupList . forEach ( ( springBoneGroup ) => { springBoneGroup . forEach ( ( springBone ) => { springBone . update ( delta ) ; } ) ; } ) ; } /**
     * Reset every spring bone attached to this manager.
     */ public reset ( ) { this . springBoneGroupList . forEach ( ( springBoneGroup ) => { springBoneGroup . forEach ( ( springBone ) => { springBone . reset ( ) ; } ) ; } ) ; } }