public override void Finalize(WalkEnding end, ulong time) { switch (end) { case WalkEnding.Identity: break; case WalkEnding.TargetParentOfSource: result_vec = source_to_top_vec; result_quat = source_to_top_quat; break; case WalkEnding.SourceParentOfTarget: { Quaternion inv_target_quat = target_to_top_quat.Inverse(); Vector3 inv_target_vec = QuatRotate(inv_target_quat, -1 * target_to_top_vec); result_quat = inv_target_quat; result_vec = inv_target_vec; } break; case WalkEnding.FullPath: { Quaternion inv_target_quat = target_to_top_quat.Inverse(); Vector3 inv_target_vec = QuatRotate(inv_target_quat, -1 * target_to_top_vec); result_vec = QuatRotate(inv_target_quat, source_to_top_vec) + inv_target_vec; result_quat = inv_target_quat * source_to_top_quat; } break; } this.time = time; }
public override void finalize(WalkEnding end, ulong _time) { switch (end) { case WalkEnding.Identity: break; case WalkEnding.TargetParentOfSource: result_vec = source_to_top_vec; result_quat = source_to_top_quat; break; case WalkEnding.SourceParentOfTarget: { emQuaternion inv_target_quat = target_to_top_quat.inverse(); emVector3 inv_target_vec = quatRotate(inv_target_quat, -1 * target_to_top_vec); result_quat = inv_target_quat; result_vec = inv_target_vec; } break; case WalkEnding.FullPath: { emQuaternion inv_target_quat = target_to_top_quat.inverse(); emVector3 inv_target_vec = quatRotate(inv_target_quat, -1 * target_to_top_vec); result_vec = quatRotate(inv_target_quat, source_to_top_vec) + inv_target_vec; result_quat = inv_target_quat * source_to_top_quat; } break; } time = _time; }
public override void finalize(WalkEnding end, ulong _time) { switch (end) { case WalkEnding.Identity: break; case WalkEnding.TargetParentOfSource: result_vec = source_to_top_vec; result_quat = source_to_top_quat; break; case WalkEnding.SourceParentOfTarget: { emQuaternion inv_target_quat = target_to_top_quat.inverse(); emVector3 inv_target_vec = quatRotate(inv_target_quat, -1 * target_to_top_vec); result_quat = inv_target_quat; result_vec = inv_target_vec; } break; case WalkEnding.FullPath: { emQuaternion inv_target_quat = target_to_top_quat.inverse(); emVector3 inv_target_vec = quatRotate(inv_target_quat, new emVector3(-target_to_top_vec.x, -target_to_top_vec.y, -target_to_top_vec.z)); result_vec = quatRotate(inv_target_quat, source_to_top_vec) + inv_target_vec; result_quat = inv_target_quat * source_to_top_quat; } break; } time = _time; }
public override void finalize(WalkEnding end, ulong time) { }
public abstract void finalize(WalkEnding end, ulong time);
public override void Finalize(WalkEnding end, ulong time) { }
public abstract void Finalize(WalkEnding end, ulong time);