<?xml version="1.0" encoding="UTF-8"?>
<otrunk id="874b8410-3938-012a-b543-0017f2cc694e">
	<imports>
		<import class="org.concord.otrunk.OTSystem" />
		<import class="org.concord.otrunk.view.OTViewEntry" />
		<import class="org.concord.otrunk.view.OTViewMode" />
		<import class="org.concord.otrunk.view.OTViewBundle" />
		<import class="org.concord.otrunk.view.document.OTCompoundDoc" />
		<import class="org.concord.otrunk.view.document.OTTextObject" />
		<import
			class="org.concord.otrunk.graph.OTDataCollectorViewConfig" />
		<import class="org.concord.otrunkmw.OTMwAction" />
		<import class="org.concord.otrunkmw.OTMwObjectData" />
		<import class="org.concord.otrunkmw.OTModelerPage" />
		<import class="org.concord.otrunkmw.OTModelerPageViewConfig" />
		<import class="org.concord.otrunk.ui.OTText" />
		<import
			class="org.concord.otrunk.view.document.OTDocumentViewConfig" />
		<import class="org.concord.datagraph.state.OTDataGraph" />
		<import class="org.concord.datagraph.state.OTDataCollector" />
		<import class="org.concord.datagraph.state.OTDataAxis" />
		<import class="org.concord.datagraph.state.OTDataGraphable" />
		<import class="org.concord.data.state.OTDataInput" />
		<import class="org.concord.data.state.OTDataStore" />
		<import class="org.concord.data.state.OTDataChannelDescription" />
		<import class="org.concord.data.state.OTLinearProducerFilter" />
		<import class="org.concord.otrunk.ui.OTButton" />
		<import class="org.concord.otrunk.ui.OTTextPane" />
		<import class="org.concord.otrunk.ui.OTPlacementContainer" />
		<import class="org.concord.otrunk.ui.OTPlacement" />
		<import class="org.concord.otrunk.util.OTSharingBundle" />
		<import class="org.concord.framework.otrunk.view.OTFrame" />
		<import class="org.concord.sensor.state.OTDeviceConfig" />
		<import class="org.concord.sensor.state.OTExperimentRequest" />
		<import class="org.concord.sensor.state.OTInterfaceManager" />
		<import class="org.concord.sensor.state.OTSensorDataProxy" />
		<import class="org.concord.sensor.state.OTSensorRequest" />
		<import class="org.concord.sensor.state.OTZeroSensor" />
	</imports>
	<objects>
		<OTSystem>
			<bundles>
				<OTSharingBundle />
				<OTViewBundle showLeftPanel="false">
					<views>
						<OTViewEntry local_id="mw-view"
							objectClass="org.concord.otrunkmw.OTModelerPage"
							viewClass="org.concord.otrunkmw.OTModelerPageView" />
						<OTViewEntry
							objectClass="org.concord.otrunk.ui.OTTextPane"
							viewClass="org.concord.otrunk.ui.swing.OTTextPaneView" />
						<OTViewEntry
							objectClass="org.concord.otrunk.ui.OTPlacementContainer"
							viewClass="org.concord.otrunk.ui.swing.OTPlacementContainerView" />
						<OTViewEntry
							objectClass="org.concord.otrunk.script.ui.OTScriptObject"
							viewClass="org.concord.otrunk.script.ui.OTScriptObjectView" />
						<OTDocumentViewConfig
							objectClass="org.concord.otrunk.view.document.OTDocument"
							viewClass="org.concord.otrunk.view.document.OTDocumentView">
							<css>
								body { font-size: medium; font-family:
								verdana; background-color: white; } .sub
								{ font-size: x-small; } .header {
								font-size: large; font-weight: bold; }
							</css>
						</OTDocumentViewConfig>
						<OTViewEntry
							objectClass="org.concord.otrunk.ui.snapshot.OTSnapshotButton"
							viewClass="org.concord.otrunk.ui.snapshot.OTSnapshotButtonView" />
						<OTViewEntry
							objectClass="org.concord.otrunk.ui.snapshot.OTSnapshotAlbum"
							viewClass="org.concord.otrunk.ui.snapshot.OTSnapshotAlbumView" />
						<OTViewEntry local_id="graph-view"
							objectClass="org.concord.datagraph.state.OTDataCollector"
							viewClass="org.concord.datagraph.state.OTDataCollectorView" />
						<OTViewEntry
							objectClass="org.concord.datagraph.state.OTDataGraph"
							viewClass="org.concord.datagraph.state.OTDataGraphView" />
						<OTViewEntry
							objectClass="org.concord.otrunk.ui.OTButton"
							viewClass="org.concord.otrunk.ui.swing.OTButtonView" />
					</views>
					<frame>
						<OTFrame width="800" height="600" />
					</frame>
				</OTViewBundle>
				<OTInterfaceManager>
					<deviceConfigs>
						<OTDeviceConfig configString="none"
							deviceId="10" />
					</deviceConfigs>
				</OTInterfaceManager>
			</bundles>
			<root>
				<OTCompoundDoc>
					<bodyText>
						<p>
							<center>
								<font size="6">
									<b>
										A simulation driven by a force
										sensor
									</b>
								</font>
							</center>
						</p>
						<p>
							<center>
								<object refid="${model}" />
							</center>
						</p>
						<p>
							<center>
								<table>
									<tr>
										<td width="100">
											<object
												refid="${startButton}" />
										</td>
										<td width="100">
											<object
												refid="${stopButton}" />
										</td>
										<td width="100">
											<object
												refid="${resetButton}" />
										</td>
									</tr>
								</table>
							</center>
						</p>
					</bodyText>
					<documentRefs>
						<OTModelerPage local_id="model"
							authoredDataURL="resources/frictionforce.cml"
							width="600" height="300">
							<dataInput>
								<OTDataInput inputVariable="force">
									<target>
										<OTMwObjectData type="particle"
											index="108" property="charge" />
									</target>
									<dataProducer>
										<OTLinearProducerFilter k0="0"
											k1="0.1" sourceChannel="1">
											<source>
												<OTSensorDataProxy
													name="dataproducer" local_id="sensorsource"
													sharable="true">
													<request>
														<OTExperimentRequest
															period="0.01">
															<sensorRequests>
																<OTSensorRequest
																	stepSize="0.01" type="5" unit="N" port="0"
																	requiredMax="4.0" displayPrecision="-2"
																	requiredMin="-4.0" />
															</sensorRequests>
														</OTExperimentRequest>
													</request>
													<zeroSensor>
														<OTZeroSensor
															sensorIndex="0" />
													</zeroSensor>
												</OTSensorDataProxy>
											</source>
										</OTLinearProducerFilter>
									</dataProducer>
								</OTDataInput>
							</dataInput>
						</OTModelerPage>
						<OTButton local_id="startButton" text="Start">
							<action>
								<object refid="${start_action}" />
							</action>
						</OTButton>
						<OTButton local_id="stopButton" text="Stop">
							<action>
								<object refid="${stop_action}" />
							</action>
						</OTButton>
						<OTButton local_id="resetButton" text="Reset">
							<action>
								<object refid="${reset_action}" />
							</action>
						</OTButton>
						<OTMwAction local_id="start_action">
							<name>Start</name>
							<targets>
								<object refid="${model}" />
							</targets>
						</OTMwAction>
						<OTMwAction local_id="stop_action">
							<name>Stop</name>
							<targets>
								<object refid="${model}" />
							</targets>
						</OTMwAction>
						<OTMwAction local_id="reset_action">
							<name>Reset</name>
							<targets>
								<object refid="${model}" />
							</targets>
						</OTMwAction>
					</documentRefs>
				</OTCompoundDoc>
			</root>
		</OTSystem>
	</objects>
</otrunk>