<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jsxgraph.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Extension</id>
	<title>Extension - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://jsxgraph.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Extension"/>
	<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Extension&amp;action=history"/>
	<updated>2026-04-06T08:12:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=6884&amp;oldid=prev</id>
		<title>A WASSERMANN at 11:07, 17 March 2020</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=6884&amp;oldid=prev"/>
		<updated>2020-03-17T11:07:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:07, 17 March 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html JSX.JSXGraph] singleton has a method called [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html#.registerElement registerElement] which takes two parameters &amp;#039;&amp;#039;element&amp;#039;&amp;#039; and &amp;#039;&amp;#039;creator&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html JSX.JSXGraph] singleton has a method called [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html#.registerElement registerElement] which takes two parameters &amp;#039;&amp;#039;element&amp;#039;&amp;#039; and &amp;#039;&amp;#039;creator&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&amp;lt;static&amp;gt; JXG.JSXGraph.registerElement(element, creator)&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&amp;lt;static&amp;gt; JXG.JSXGraph.registerElement(element, creator)&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;Element&#039;&#039; is a identification string like the strings passed in the first parameter of the [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.Board.html#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;createElement createElement&lt;/del&gt;] method, e.g. &#039;point&#039;, &#039;circle&#039; or &#039;polygon&#039;. For our triangle we&#039;ll choose &#039;triangle&#039;,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;Element&#039;&#039; is a identification string like the strings passed in the first parameter of the [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.Board.html#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;create create&lt;/ins&gt;] method, e.g. &#039;point&#039;, &#039;circle&#039; or &#039;polygon&#039;. For our triangle we&#039;ll choose &#039;triangle&#039;,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;creator&amp;#039;&amp;#039; is a reference to the create-function for the geometry element. In case of our example it is JXG.createTriangle.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;creator&amp;#039;&amp;#039; is a reference to the create-function for the geometry element. In case of our example it is JXG.createTriangle.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l40&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         attributes.straightLast = false;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         attributes.straightLast = false;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l1 = board.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;createElement&lt;/del&gt;(&#039;line&#039;, [p1, p2], attributes);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l1 = board.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;create&lt;/ins&gt;(&#039;line&#039;, [p1, p2], attributes);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l2 = board.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;createElement&lt;/del&gt;(&#039;line&#039;, [p2, p3], attributes);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l2 = board.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;create&lt;/ins&gt;(&#039;line&#039;, [p2, p3], attributes);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l3 = board.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;createElement&lt;/del&gt;(&#039;line&#039;, [p3, p1], attributes);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         l3 = board.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;create&lt;/ins&gt;(&#039;line&#039;, [p3, p1], attributes);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var g = new JXG.Group(board);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var g = new JXG.Group(board);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>A WASSERMANN</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=5189&amp;oldid=prev</id>
		<title>Michael at 14:10, 7 June 2011</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=5189&amp;oldid=prev"/>
		<updated>2011-06-07T14:10:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:10, 7 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var l1, l2, l3;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var l1, l2, l3;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if((attributes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== null) || (typeof attribues == undefined&lt;/del&gt;))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!JXG.exists&lt;/ins&gt;(attributes))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             attributes = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;new Object()&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             attributes = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{}&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         attributes.straightFirst = false;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         attributes.straightFirst = false;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Michael</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=5188&amp;oldid=prev</id>
		<title>Michael at 14:10, 7 June 2011</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=5188&amp;oldid=prev"/>
		<updated>2011-06-07T14:10:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:10, 7 June 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l47&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         g.addPoints([p1, p2, p3]);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         g.addPoints([p1, p2, p3]);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return {A: p1, B: p2, C: p3, a: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;p4&lt;/del&gt;, b: l1, c: l2, G: g};&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         return &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;new JXG.Composition(&lt;/ins&gt;{A: p1, B: p2, C: p3, a: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;l3&lt;/ins&gt;, b: l1, c: l2, G: g}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     } else {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     } else {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         throw (&amp;quot;Can&amp;#039;t create triangle with parent types &amp;#039;&amp;quot; + (typeof parents[0]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[1]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[2]) + &amp;quot;&amp;#039;.&amp;quot;);     &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         throw (&amp;quot;Can&amp;#039;t create triangle with parent types &amp;#039;&amp;quot; + (typeof parents[0]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[1]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[2]) + &amp;quot;&amp;#039;.&amp;quot;);     &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Michael</name></author>
	</entry>
	<entry>
		<id>https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=276&amp;oldid=prev</id>
		<title>132.180.233.197: New page: Because of the dynamic of JavaScript JSXGraph can easily be extended without touching the project&#039;s source files.  == Triangle ==  For a very simple example we will implement a simple tria...</title>
		<link rel="alternate" type="text/html" href="https://jsxgraph.org/wiki/index.php?title=Extension&amp;diff=276&amp;oldid=prev"/>
		<updated>2008-10-23T14:06:03Z</updated>

		<summary type="html">&lt;p&gt;New page: Because of the dynamic of JavaScript JSXGraph can easily be extended without touching the project&amp;#039;s source files.  == Triangle ==  For a very simple example we will implement a simple tria...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Because of the dynamic of JavaScript JSXGraph can easily be extended without touching the project&amp;#039;s source files.&lt;br /&gt;
&lt;br /&gt;
== Triangle ==&lt;br /&gt;
&lt;br /&gt;
For a very simple example we will implement a simple triangle. This example is extremely minimal and uses only two methods which are required by every geometry element in JSXGraph: One function is written to create the element and one is invoked to register the element in JSXGraph.&lt;br /&gt;
&lt;br /&gt;
== Create-function ==&lt;br /&gt;
&lt;br /&gt;
This create function is used to construct a geometry element based on given parent elements. The function&amp;#039;s definition is the same for every geometry element. It takes three parameters &amp;#039;&amp;#039;board&amp;#039;&amp;#039;, &amp;#039;&amp;#039;parents&amp;#039;&amp;#039;, &amp;#039;&amp;#039;attributes&amp;#039;&amp;#039; and returns the created object or an object which members are the created objects.&lt;br /&gt;
* &amp;#039;&amp;#039;board&amp;#039;&amp;#039; is a reference to the [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.Board.html JXG.Board] the parents are on and the geometry element shall be put on,&lt;br /&gt;
* &amp;#039;&amp;#039;parents&amp;#039;&amp;#039; is an array of parent elements which define the element to construct,&lt;br /&gt;
* &amp;#039;&amp;#039;attributes&amp;#039;&amp;#039; define the look and feel of the element e.g. colors or if a point shall be fixed or free.&lt;br /&gt;
&lt;br /&gt;
E.g. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;JXG.createTriangle = function(board, parents, attributes) [...]&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; The function doesn&amp;#039;t have to be placed in the JXG namespace.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;...to be continued...&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Register-method ==&lt;br /&gt;
&lt;br /&gt;
The [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html JSX.JSXGraph] singleton has a method called [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.JSXGraph.html#.registerElement registerElement] which takes two parameters &amp;#039;&amp;#039;element&amp;#039;&amp;#039; and &amp;#039;&amp;#039;creator&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&amp;lt;static&amp;gt; JXG.JSXGraph.registerElement(element, creator)&amp;lt;/source&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;Element&amp;#039;&amp;#039; is a identification string like the strings passed in the first parameter of the [http://jsxgraph.uni-bayreuth.de/docs/symbols/JXG.Board.html#createElement createElement] method, e.g. &amp;#039;point&amp;#039;, &amp;#039;circle&amp;#039; or &amp;#039;polygon&amp;#039;. For our triangle we&amp;#039;ll choose &amp;#039;triangle&amp;#039;,&lt;br /&gt;
* &amp;#039;&amp;#039;creator&amp;#039;&amp;#039; is a reference to the create-function for the geometry element. In case of our example it is JXG.createTriangle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;JXG.JSXGraph.registerElement(&amp;#039;triangle&amp;#039;, JXG.createTriangle);&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The complete example code ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
JXG.createTriangle = function(board, parents, attributes) {&lt;br /&gt;
    if(JXG.IsPoint(parents[0]) &amp;amp;&amp;amp; JXG.IsPoint(parents[1]) &amp;amp;&amp;amp; JXG.IsPoint(parents[2])) {&lt;br /&gt;
        var p1 = parents[0], p2 = parents[1], p3 = parents[2];&lt;br /&gt;
        var l1, l2, l3;&lt;br /&gt;
&lt;br /&gt;
        if((attributes == null) || (typeof attribues == undefined))&lt;br /&gt;
            attributes = new Object();&lt;br /&gt;
&lt;br /&gt;
        attributes.straightFirst = false;&lt;br /&gt;
        attributes.straightLast = false;&lt;br /&gt;
&lt;br /&gt;
        l1 = board.createElement(&amp;#039;line&amp;#039;, [p1, p2], attributes);&lt;br /&gt;
        l2 = board.createElement(&amp;#039;line&amp;#039;, [p2, p3], attributes);&lt;br /&gt;
        l3 = board.createElement(&amp;#039;line&amp;#039;, [p3, p1], attributes);&lt;br /&gt;
&lt;br /&gt;
        var g = new JXG.Group(board);&lt;br /&gt;
        g.addPoints([p1, p2, p3]);&lt;br /&gt;
&lt;br /&gt;
        return {A: p1, B: p2, C: p3, a: p4, b: l1, c: l2, G: g};&lt;br /&gt;
    } else {&lt;br /&gt;
        throw (&amp;quot;Can&amp;#039;t create triangle with parent types &amp;#039;&amp;quot; + (typeof parents[0]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[1]) + &amp;quot;&amp;#039; and &amp;#039;&amp;quot; + (typeof parents[2]) + &amp;quot;&amp;#039;.&amp;quot;);    &lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
JXG.JSXGraph.registerElement(&amp;#039;triangle&amp;#039;, JXG.createTriangle);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Examples]]&lt;/div&gt;</summary>
		<author><name>132.180.233.197</name></author>
	</entry>
</feed>