xof 0302txt 0064

FWScene fwScene2{
	{grScene2}
	{phScene2}

	FWObject fwBlock1{
		{grFrameBlock1}
		{soBlock1}
	}
	FWObject fwBlock2{
		{grFrameBlock2}
		{soBlock2}
	}
}

GRScene grScene2{
	GRFrame{	#SprGRFrame.h GRFrameDesc
	#Affinef transform
		1,0,0,0,
		0,1,0,0,
		0,0,1,0,
		0,0,1,1;;
		GRFrame grFrameWorld2{	
			1,0,0,0,
			0,1,0,0,
			0,0,1,0,
			0,0,0,1;;
		}
	}

	GRLight light2{
		0.9; 0.9; 0.9; 1.0;;						#Vec4f ambient
		0.5; 0.5; 0.5; 1.9;;						#Vec4f diffuse
		0.1; 0.1; 0.1; 1.0;;						#Vec4f specular
		1.0; 1.0; 1.0; 0.0;;						#Vec4f position
		10000.0;									#float range
		1.0;										#float attenuation0
		0.0;										#float attenuation1
		0.0;										#float attenuation2
		0.0; 0.0; 0.0;;								#Vec3f spotDirection
		0;											#float spotFalloff
		0;											#float spotInner
		0;											#flaot spotCutoff
	}
	
	GRFrame grFrameBlock1{
		#Affinef transform
		1.0, 0.0, 0.0, 0.0,
		0.0, 1.0, 0.0, 0.0,
		0.0, 0.0, 1.0, 0.0,
		0.0, 0.0, 0.0, 1.0;;
		#{cdBox}
	}
	GRFrame grFrameBlock2{
		#Affinef transform
		1.0, 0.0, 0.0, 0.0,
		0.0, 1.0, 0.0, 0.0,
		0.0, 0.0, 1.0, 0.0,
		0.0, 0.0, 0.0, 1.0;;
		#{cdBox}
	}
}

PHScene phScene2{
	#SprPHScene.h PHSceneState (inherited)
		0.01;			#double timeStep
		0				#unsigned count
	;
	0.0; -9.8; 0.0;;	#Vec3f 	gravity
	20;					#int 	numIteratin
	
	PHSolid soBlock1{
		#SprPHSolid.h PHSolidState (inherited)
					0.0; 0.0; 0.0;;		#Vec3d		velocity
			0.0; 0.0; 0.0;;				#Vec3d		angVelocity
			1.0; 0.0; 0.0; 0.0; 0.0; -0.5; 0.0;;	#Posed		pose
			0.0; 0.0; 0.0;;				#Vec3d		force
			0.0; 0.0; 0.0;;				#Vec3d		torque
			0.0; 0.0; 0.0;;				#Vec3d		nextForce
			0.0; 0.0; 0.0;;				#Vec3d		nextTorque
		;
		20.0;						#double		mass
		1.0, 0.0, 0.0,					#Matrix3d	inertia	
		0.0, 1.0, 0.0,
		0.0, 0.0, 1.0;
		0.0; 0.0; 0.0;;					#Vec3d		center
		false;						#bool		dynamical
		CDBox cdBox1{
			#PHMaterialDesc
				0.4		#float mu;				///< “®–€ŽC–€ŽCŚW”
				0.4		#float mu0;				///< ĂŽ~–€ŽCŚW”
				0.7		#float e;				///< ’µ‚˕ԂčŚW”
				1.0		#float density;			///< –§“x
			;
			1.0; 1.0; 1.0;;
		}
	}

	PHSolid soBlock2{
		#SprPHSolid.h PHSolidState (inherited)
			0.0; 0.0; 0.0;;				#Vec3d		velocity
			0.0; 0.0; 0.0;;				#Vec3d		angVelocity
			1.0; 0.0; 0.0; 0.0; 0.0; -0.5; 0.0;;	#Posed		pose
			0.0; 0.0; 0.0;;				#Vec3d		force
			0.0; 0.0; 0.0;;				#Vec3d		torque
			0.0; 0.0; 0.0;;				#Vec3d		nextForce
			0.0; 0.0; 0.0;;				#Vec3d		nextTorque
		;
		20.0;						#double		mass
		1.0, 0.0, 0.0,					#Matrix3d	inertia	
		0.0, 1.0, 0.0,
		0.0, 0.0, 1.0;
		0.0; 0.0; 0.0;;					#Vec3d		center
		true;						#bool		dynamical
		CDBox cdBox1{
			#PHMaterialDesc
				0.4		#float mu;		///< “®–€ŽC–€ŽCŚW”
				0.4		#float mu0;		///< ĂŽ~–€ŽCŚW”
				0.7		#float e;		///< ’µ‚˕ԂčŚW”
				1.0		#float density;		///< –§“x
			;
			1.2; 3.0; 1.2;;
		}
	}
	
	PHBallJoint joint1{
		
		#SprPHJoint.h PHJointDesc ( == PHConstraintDesc)
			true;	#bool bEnabled
			1.0; 0.0; 0.0; 0.0; 0.0;  0.5; 0.0;;	#Posed poseSocket
			1.0; 0.0; 0.0; 0.0; 0.0; -1.5; 0.0;;	#Posed posePlug
		;
		100			#double		spring;		///< ƒoƒlŚW”
		10			#double		damper;		///< ƒ_ƒ“ƒpŚW”
		-180; 180;;		#Vec2d		limitSwing;	///< swingŠp‚̉“®ˆć
		-180; 180;;		#Vec2d		limitTwist;	///< twistŠp‚̉“®ˆć
		0.0; 0.0; 1.0;;		#Vec3d		limitDir;	///< ‰Â“®ˆć‚Ě’†SƒxƒNƒgƒ‹
		1.0; 0.0; 0.0; 0.0;;	#Quaterniond	goal;		///< ƒoƒlƒ_ƒ“ƒp‚̐§Śä–Ú•W
		0.0; 0.0; 0.0;;		#Vec3d		torque;		///< ƒ‚[ƒ^ƒgƒ‹ƒN
		600000;			#double		fMax;		///< ŠÖß‚É‚©‚Ż‚ç‚ę‚éŤĹ‘ĺ‚Ě—Í
		0.0;			#double		fMin;		///< ŠÖß‚É‚©‚Ż‚ç‚ę‚éŤĹʬ‚Ě—Í
		{soBlock1}
		{soBlock2}

	}
}