public BEPUikBoneLocalRot(BEPUikBoneDefinition definition, SimObjectBase instance, BEPUikScene scene) : base(definition, instance, scene) { localRot = definition.LocalRotQuat.Value; localRotInverse = localRot.inverse(); IkBone.Orientation *= localRot.toBepuQuat(); }
public BEPUikBone(BEPUikBoneDefinition definition, SimObjectBase instance, BEPUikScene scene) : base(definition.Name) { this.scene = scene; bone = new Bone(instance.Translation.toBepuVec3(), instance.Rotation.toBepuQuat(), definition.Radius, definition.Height, definition.Mass); bone.Pinned = definition.Pinned; solverName = definition.SolverName; }
public override SimElementDefinition saveToDefinition() { var definition = new BEPUikBoneDefinition(Name) { Pinned = bone.Pinned, Radius = bone.Radius, Height = bone.Height, SolverName = solverName }; customizeDefinition(definition); return(definition); }
internal void addBone(BEPUikBoneDefinition bone, SimObjectBase instance) { independentPhaseEntries.Add(new BEPUikFactoryEntry(instance, bone)); }
protected override void customizeDefinition(BEPUikBoneDefinition definition) { definition.LocalRotQuat = localRot; }
public BoneRenderer(BEPUikBoneDefinition definition) { this.definition = definition; }
protected virtual void customizeDefinition(BEPUikBoneDefinition definition) { }