<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/551" />

	<title>Real-Time Physics Simulation Forum</title>
	
	<link href="https://pybullet.org/Bullet/phpBB3/index.php" />
	<updated>2006-11-07T19:53:53+00:00</updated>

	<author><name><![CDATA[Real-Time Physics Simulation Forum]]></name></author>
	<id>https://pybullet.org/Bullet/phpBB3/app.php/feed/topic/551</id>

		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-11-07T19:53:53+00:00</updated>

		<published>2006-11-07T19:53:53+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2352#p2352</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2352#p2352"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2352#p2352"><![CDATA[
<blockquote class="uncited"><div>while generating the bt stuff a minor error happened. Just do a <div class="codebox"><p>Code: </p><pre><code>grep bteral `find &lt;yourbulletdir&gt; *`</code></pre></div>(while doing some substitution every "Gen" got replaced by a "bt" what produced a "GNU bteral Public License")<br><br>Noehrgel</div></blockquote>That's a funny license <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_smile.gif" width="15" height="15" alt=":-)" title="Smile"><br>Note that there is no GNU GPL in the Bullet core sources (in Bullet/src). This only affects some unimportant front rendering in the Demo code.<br><br>Thanks for pointing this out,<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Tue Nov 07, 2006 7:53 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Noehrgel]]></name></author>
		<updated>2006-11-06T08:16:33+00:00</updated>

		<published>2006-11-06T08:16:33+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2345#p2345</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2345#p2345"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2345#p2345"><![CDATA[
while generating the bt stuff a minor error happened. Just do a <div class="codebox"><p>Code: </p><pre><code>grep bteral `find &lt;yourbulletdir&gt; *`</code></pre></div>(while doing some substitution every "Gen" got replaced by a "bt" what produced a "GNU bteral Public License")<br><br>Noehrgel<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=753">Noehrgel</a> — Mon Nov 06, 2006 8:16 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SteveBaker]]></name></author>
		<updated>2006-11-03T02:39:42+00:00</updated>

		<published>2006-11-03T02:39:42+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2324#p2324</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2324#p2324"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2324#p2324"><![CDATA[
Many thanks!<br><br>I'll have a bit of time over the weekend - I'm getting my game back up and working with all of this refactored goodness.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=726">SteveBaker</a> — Fri Nov 03, 2006 2:39 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-11-02T03:45:57+00:00</updated>

		<published>2006-11-02T03:45:57+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2310#p2310</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2310#p2310"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2310#p2310"><![CDATA[
Hi Steve,<br><br>This has been fixed in SVN: btCollisionObject is a class now. Its members like m_worldTransform are not public anymore, and required set/getWorldTransform(). Also, btMotionState is required now, to synchronize world transform properly.<br><br>Thanks for the feedback. Hopefully no big refactoring changes anymore, so we can focus on improving quality and performance <img class="smilies" src="https://pybullet.org/Bullet/phpBB3/images/smilies/icon_wink.gif" width="15" height="15" alt=";-)" title="Wink"><br>Erwin<br><br><blockquote class="uncited"><div><blockquote class="uncited"><div>Bullet software makes distinguishment between classes and structs. The btCollisionObject is a struct at the moment, and for structs I allow direct data access.</div></blockquote>Yeah - for simple structs with no member functions, I would also leave the member variables exposed - but btRigidBody is a CLASS (admittedly derived from a STRUCT).  To all intents and purposes, it's a class with exposed internals.<br><blockquote class="uncited"><div>More important, the world transform should be read/written by btMotionState. I'll probably remove the btRigidBody constructor that passes in a worldtransform, and you just pass the btMotionState (that contains the graphics worldtransform, including potential center-of-mass shifts etc).</div></blockquote>OK - but the problem for application writers is that the only documentation of any use is the demo programs - and they don't seem to be using btMotionState.   If the demo's don't use "best practices" then we can't expect application authors to guess what we expect them to do.</div></blockquote><p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Thu Nov 02, 2006 3:45 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-28T19:00:21+00:00</updated>

		<published>2006-10-28T19:00:21+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2246#p2246</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2246#p2246"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2246#p2246"><![CDATA[
<blockquote class="uncited"><div><blockquote class="uncited"><div>Bullet software makes distinguishment between classes and structs. The btCollisionObject is a struct at the moment, and for structs I allow direct data access.</div></blockquote>Yeah - for simple structs with no member functions, I would also leave the member variables exposed - but btRigidBody is a CLASS (admittedly derived from a STRUCT).  To all intents and purposes, it's a class with exposed internals.<br><blockquote class="uncited"><div>More important, the world transform should be read/written by btMotionState. I'll probably remove the btRigidBody constructor that passes in a worldtransform, and you just pass the btMotionState (that contains the graphics worldtransform, including potential center-of-mass shifts etc).</div></blockquote>OK - but the problem for application writers is that the only documentation of any use is the demo programs - and they don't seem to be using btMotionState.   If the demo's don't use "best practices" then we can't expect application authors to guess what we expect them to do.</div></blockquote>OK. Let's put it on the todo, to modify all demos so they consistently use getCenterOfMassTransform and btMotionState. The demos are using btMotionState to synchronize the graphics for rendering, see DemoApplication::localCreateRigidBody.<br><br>Also, I will add this to the Bullet_User_Manual.pdf. Other feedback requests for reorganizing the Wiki so it becomes more useful and adding a User Gallery so users can share their work using Bullet better.<br><br>Thanks,<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Sat Oct 28, 2006 7:00 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SteveBaker]]></name></author>
		<updated>2006-10-28T17:21:36+00:00</updated>

		<published>2006-10-28T17:21:36+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2245#p2245</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2245#p2245"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2245#p2245"><![CDATA[
<blockquote class="uncited"><div>Bullet software makes distinguishment between classes and structs. The btCollisionObject is a struct at the moment, and for structs I allow direct data access.</div></blockquote>Yeah - for simple structs with no member functions, I would also leave the member variables exposed - but btRigidBody is a CLASS (admittedly derived from a STRUCT).  To all intents and purposes, it's a class with exposed internals.<br><blockquote class="uncited"><div>More important, the world transform should be read/written by btMotionState. I'll probably remove the btRigidBody constructor that passes in a worldtransform, and you just pass the btMotionState (that contains the graphics worldtransform, including potential center-of-mass shifts etc).</div></blockquote>OK - but the problem for application writers is that the only documentation of any use is the demo programs - and they don't seem to be using btMotionState.   If the demo's don't use "best practices" then we can't expect application authors to guess what we expect them to do.<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=726">SteveBaker</a> — Sat Oct 28, 2006 5:21 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-28T04:53:37+00:00</updated>

		<published>2006-10-28T04:53:37+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2244#p2244</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2244#p2244"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2244#p2244"><![CDATA[
<blockquote class="uncited"><div>From reading the demo programs, it seems that the only way to perform some operations on btRigidBody objects is to access the raw member variables of the base class (eg, the Demos/OpenGL/DemoApplication.cpp reads and writes 'm_worldTransform').  This is kinda nasty because it means you can't tell when one of these fields has been touched if you ever need to in the future.<br><br>There should be inlined access functions for these things with all of the member variables of public classes made 'private'.<br><br>(Also, there is a typo: m_ccdSweptMotionTreshold ...should be 'Threshold')</div></blockquote>Thanks for pointing out the typo, I'll rename it.<br><br>Bullet software makes distinguishment between classes and structs. The btCollisionObject is a struct at the moment, and for structs I allow direct data access. However, I agree it is not a good habbit. We can clean this up, but in general some structs are really mostly public data, which is not intended to be private.<br><br>More important, the world transform should be read/written by btMotionState. I'll probably remove the btRigidBody constructor that passes in a worldtransform, and you just pass the btMotionState (that contains the graphics worldtransform, including potential center-of-mass shifts etc).<br><br>Thanks for the useful feedback,<br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Sat Oct 28, 2006 4:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SteveBaker]]></name></author>
		<updated>2006-10-28T03:42:44+00:00</updated>

		<published>2006-10-28T03:42:44+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2242#p2242</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2242#p2242"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2242#p2242"><![CDATA[
From reading the demo programs, it seems that the only way to perform some operations on btRigidBody objects is to access the raw member variables of the base class (eg, the Demos/OpenGL/DemoApplication.cpp reads and writes 'm_worldTransform').  This is kinda nasty because it means you can't tell when one of these fields has been touched if you ever need to in the future.<br><br>There should be inlined access functions for these things with all of the member variables of public classes made 'private'.<br><br>(Also, there is a typo: m_ccdSweptMotionTreshold ...should be 'Threshold')<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=726">SteveBaker</a> — Sat Oct 28, 2006 3:42 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[SteveBaker]]></name></author>
		<updated>2006-10-27T03:09:52+00:00</updated>

		<published>2006-10-27T03:09:52+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2224#p2224</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2224#p2224"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2224#p2224"><![CDATA[
In the sample programs, you have a lot of application program functions that start with the string 'glut' - that's not a wise move.  The entire point of having all actual GLUT functions beginning with 'glut' is precisely to avoid the risk of some GLUT function coincidentally havintg the same name as some application function.   If you go around calling application functions 'glutXXXXX' then you are asking for problems in the future.<br><br>(eg 'glutMotionFuncCallback')<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=726">SteveBaker</a> — Fri Oct 27, 2006 3:09 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Erwin Coumans]]></name></author>
		<updated>2006-10-18T04:46:32+00:00</updated>

		<published>2006-10-18T04:46:32+00:00</published>
		<id>https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2160#p2160</id>
		<link href="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2160#p2160"/>
		<title type="html"><![CDATA[API refactoring (was ugliness)]]></title>

		
		<content type="html" xml:base="https://pybullet.org/Bullet/phpBB3/viewtopic.php?p=2160#p2160"><![CDATA[
<blockquote class="uncited"><div>In src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp and in the CcdPhysicsDemo, there are references to:<br><br>    m_ccdSweptShereRadius<br><br>Is that a typo?  I presume it should be 'm_ccdSweptSphereRadius'.</div></blockquote>Thanks for pointing it out Steve, it has been fixed in version 2.17<br><br>Erwin<p>Statistics: Posted by <a href="https://pybullet.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&amp;u=2">Erwin Coumans</a> — Wed Oct 18, 2006 4:46 am</p><hr />
]]></content>
	</entry>
	</feed>
