<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Oscillation_Controller</id>
	<title>Oscillation Controller - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Oscillation_Controller"/>
	<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Oscillation_Controller&amp;action=history"/>
	<updated>2026-05-07T21:01:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://c4engine.com/wiki/index.php?title=Oscillation_Controller&amp;diff=110&amp;oldid=prev</id>
		<title>Eric Lengyel: Created page with &quot;__NOTOC__ The '''Oscillation Controller''' is a type of controller that causes a node to oscillate between two positions on a sine wave. The Oscillation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rig...&quot;</title>
		<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Oscillation_Controller&amp;diff=110&amp;oldid=prev"/>
		<updated>2023-07-15T10:42:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ The &amp;#039;&amp;#039;&amp;#039;Oscillation Controller&amp;#039;&amp;#039;&amp;#039; is a type of controller that causes a node to oscillate between two positions on a sine wave. The Oscillation Controller is built into the core engine, and it is one of four &amp;#039;&amp;#039;kinematic&amp;#039;&amp;#039; controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rig...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
The '''Oscillation Controller''' is a type of controller that causes a node to oscillate between two positions on a sine wave. The Oscillation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid bodies out of its way no matter what.&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
&lt;br /&gt;
The following settings are available for Oscillation Controllers.&lt;br /&gt;
&lt;br /&gt;
{| {{Table}}&lt;br /&gt;
{{Tablehead|Setting|Description}}&lt;br /&gt;
|-&lt;br /&gt;
{{HeadingSetting|'''Kinematic&amp;amp;nbsp;Controller&amp;amp;nbsp;Settings'''}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Wake&amp;amp;nbsp;intersecting&amp;amp;nbsp;rigid&amp;amp;nbsp;bodies'''|Specifies whether sleeping rigid bodies in the path of the kinematic object are detected and awakened. If this is disabled, then the kinematic object will pass straight through any sleeping rigid bodies that it comes in contact with. If this is enabled, then sleeping rigid bodies that intersect the bounding box of the kinematic object are automatically awakened so they can interact with the kinematic object. For best performance, this setting should be disabled if it's known that the kinematic object will not come in contact with sleeping rigid bodies.}}&lt;br /&gt;
|-&lt;br /&gt;
{{HeadingSetting|'''Oscillation&amp;amp;nbsp;Controller&amp;amp;nbsp;Settings'''}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Oscillation speed (cycles/s)'''|The speed at which the target node oscillates between two positions, measured in the number of complete cycles per second. The reciprocal of this number gives the period of one full oscillation in seconds.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Start position connector key'''|The name of the connector attached to the target node that is connected to the start position for the oscillation.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Finish position connector key'''|The name of the connector attached to the target node that is connected to the finish position for the oscillation.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Script Functions ==&lt;br /&gt;
&lt;br /&gt;
The Oscillation Controller defines the following functions that can be called from a [[Script Editor | script]] using the '''Call Controller Function''' method.&lt;br /&gt;
&lt;br /&gt;
{| {{Table}}&lt;br /&gt;
{{Tablehead|Widget|Description}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Get Oscillation Speed'''|Returns the oscillation speed and completes immediately.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Set Oscillation Speed'''|Sets the oscillation speed and completes immediately.&lt;br /&gt;
&lt;br /&gt;
* The '''Oscillation speed (cycles/s)''' setting specifies the new oscillation speed in cycles per second.&lt;br /&gt;
* The '''Acceleration time (s)''' setting specifies the length of time, in seconds, it takes to reach the new oscillation speed.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [http://c4engine.com/docs/PhysicsMgr/OscillationController.html &amp;lt;code&amp;gt;OscillationController&amp;lt;/code&amp;gt;] class&lt;br /&gt;
* [[Oscillation Tutorial]]&lt;br /&gt;
* [[Movement Controller]]&lt;br /&gt;
* [[Rotation Controller]]&lt;br /&gt;
* [[Spin Controller]]&lt;br /&gt;
* [[Physics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Physics]]&lt;br /&gt;
[[Category:Controllers]]&lt;/div&gt;</summary>
		<author><name>Eric Lengyel</name></author>
	</entry>
</feed>