% mbmain.m
% 
% マルチボディ解析のメインプログラム
% 
% 呼び出されるプログラム 
%  kin.m : キネマティクス解析を実行するプログラム
%  dyn.m : ダイナミクス解析を実行するプログラム
%  draw_anime.m : アニメーション描画
% 
% Copyright (C) 2007 清水 信行, 曽我部 潔, 椎葉 太一 All Rights Reserved.

for i=1:SimInfo.TotalStep
	
	% Increment Simulation Time
	time = time + SimInfo.dt
	
	switch AnalysisType
	
	case 'KINEMATICS',
		[q, dq, ddq] = kin(Body, Joint, q, dq, time);
	
	case 'DYNAMICS',
		[q, dq, ddq] = dyn(Body, Joint, Force, SimInfo, q, dq, time);
		
	end
	
	% Animation
	draw_anime(Anime, q)
	
	% Store simulation results into 3D-array
	result_q(:,:,i+1) = q;
	
end

% =================================================================================
% プログラムの使用条件
% 1. 本プログラムおよびデータを商用で，頒布してはならない．
% 2. 本プログラムおよびデータを著作者の許可なく営利目的で利用してはならない．
% 3. 本プログラムおよびデータの改変は，営利目的でない限り自由である．
% 4. 本プログラムおよびデータを使用することにより生じた損害などについては，著者，
%    プロクラム著作者，(社)日本機械学会，および(株)コロナ社は一切の責任を負わない．
% 5. 本プログラムの著作権は，本書編著者ならびにプログラム著作者に帰す．
% =================================================================================