<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[GMan's Mods & Stuff — Docs, Tutorials, Samples, and FAQs]]></title>
		<link>https://gprogs.com/index.php</link>
		<atom:link href="https://gprogs.com/extern.php?action=feed&amp;fid=4&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent topics at GMan's Mods & Stuff.]]></description>
		<lastBuildDate>Thu, 12 Mar 2009 19:13:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[collision tutorial?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=367&amp;action=new</link>
			<description><![CDATA[<p>Hi, I saw the 7th tutorial on how to create collisions between a mesh and a level.<br />I used the code succesfully, but what is the best way to see if 2 meshes collide?<br />Or lets say you have 50 planes flying around what would be the best way to detect collisions?</p><p>Tutorial 7 uses triangle versus sphere which might be too slow for 50 planes</p><p>is there a way of doing sphere-sphere?</p><p>and how do you detect colliisons in code?(e.g. bullet vs plane)</p><p>thanks</p>]]></description>
			<author><![CDATA[null@example.com (Slenkar)]]></author>
			<pubDate>Thu, 12 Mar 2009 19:13:48 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=367&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Irrlicht 1.5 examples?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=360&amp;action=new</link>
			<description><![CDATA[<p>Hi Gman,</p><p>First of all thanks for your wonderful wrapper. I&#039;m thinking of purchasing blitzmax (I already own blitz3d) to take the next step in its development but the lack of a 3d engine is making me hesitate, but all the info I found about your integration with Irrlicht is quite motivating and encouraging since I&#039;m already an Irrlicht user, So I&#039;m downloading blitzmax&#039;s demo and will try v1.30 of your wrapper for Irrlicht 1.5. Installation seems painless, however I&#039;d love to see the samples ported to bmx language in action but the only ones available are for irrlicht 1.3.<br />Is there an updated package with sample files for Irrlicht 1.5?</p><p>Kind regards,</p><p>Alvaro F. Celis</p>]]></description>
			<author><![CDATA[null@example.com (afecelis)]]></author>
			<pubDate>Tue, 24 Feb 2009 01:35:12 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=360&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[iB3D and MaxGui Improved Sample !]]></title>
			<link>https://gprogs.com/viewtopic.php?id=338&amp;action=new</link>
			<description><![CDATA[<p>Hey guys!</p><p>I finally found a way to resize the GUI instantly inside the canvas !<br />It&#039;s incredible, but it really works !</p><p>Here&#039;s how to do, gman didn&#039;t included the IDriver.OnResize(size) function, that one was needed to resize the 3d view without having to restart...</p><p>Open C:\Program Files\blitzmax\mod\irrlicht.mod\core.mod\video\ivideodriver_wrap.h</p><p>After :<br /></p><div class="codebox"><pre><code>    IImage* IrrVideo_IVideoDriver_createImageFromStream(IVideoDriver* driver,IReadFile* file)
    {
        if (driver)
            return driver-&gt;createImageFromFile(file);
        else
            return 0;
    }</code></pre></div><p>Add the following :<br /></p><div class="codebox"><pre><code>    void IrrVideo_IVideoDriver_OnResize(IVideoDriver* driver, s32 width, s32 height)
    {
        if (driver) {
            dimension2d&lt;s32&gt; size(width, height);
            driver-&gt;OnResize(size);
        }
    }</code></pre></div><p>Save And Close.</p><p>Open C:\Program Files\blitzmax\mod\irrlicht.mod\core.mod\video\ivideodriver_wrap.bmx</p><p>After :<br /></p><div class="codebox"><pre><code>Function IrrVideo_IVideoDriver_createImageFromFile:Int(pIVideoDriver:Int, filename$z) &#039; returns IImage*</code></pre></div><p>Add the following :<br /></p><div class="codebox"><pre><code>Function IrrVideo_IVideoDriver_OnResize(pIVideoDriver:Int, width:Int, height:Int)</code></pre></div><p>Save And Close</p><p>Open C:\Program Files\blitzmax\mod\irrlicht.mod\core.mod\video\ivideodriver.bmx</p><p>After :<br /></p><div class="codebox"><pre><code>    Method createImageFromFile:IImage(filename:String)
        Return IImage.createFromHandle(IrrVideo_IVideoDriver_createImageFromFile(handle,filename))
    EndMethod</code></pre></div><p>Add the following :<br /></p><div class="codebox"><pre><code>    Method OnResize(width:Int, height:Int)
        IrrVideo_IVideoDriver_OnResize(handle, width, height) &#039; returns IImage*
    End Method</code></pre></div><p>Compile the modules.<br />Here&#039;s the full code to test :</p><div class="codebox"><pre><code>&#039; this is an example showing how to display Irrlicht in a panel on a MaxGUI form.  i have modified it a bit
&#039; by adding an eventreceiver to the Irrlicht instance to show how MaxGUI and Irrlicht events can coexist.
&#039; it is important to note that there still is probably some issues to work out, but for now this works.
&#039;
&#039; NOTE: press the &#039;w&#039; key to toggle wireframe

SuperStrict 
Framework Irrlicht.B3D

Import BRL.Basic
Import BRL.Win32MaxGUI
Import BRL.EventQueue

Local window:TGadget&#039; Author: robobimbo

Local windowWidth:Int = 800
Local windowHeight:Int = 600

window = CreateWindow(&quot;MyApp&quot;, 100, 100,  ..
    windowWidth, windowHeight, Null)&#039;,WINDOW_TITLEBAR | WINDOW_CLIENTCOORDS | WINDOW_HIDDEN)

&#039; create window To put irrlicht in
Global hIrrlichtWindow:TGadget = CreatePanel(0, 0, 800, 600, window, PANEL_ACTIVE | PANEL_BORDER)

Global param:SIrrlichtCreationParameters = SIrrlichtCreationParameters.Create()
param.setWindowId(QueryGadget(hIrrlichtWindow,QUERY_HWND))
param.setDriverType(EDT_OPENGL)

&#039; create the device from the params object and initialize iB3D
ib3d_Graphics3DParams(param)

&#039; setup a simple 3d scene

Local cam:CAMERA = ib3d_CreateCamera()
Local LIGHT1:LIGHT = ib3d_CreateLight()
ib3d_LightColor(LIGHT1, 255, 255, 255)
ib3d_LightRange(LIGHT1, 60)
ib3d_LightCastShadows(LIGHT1,True)
ib3d_PositionEntity(LIGHT1, 30, 0, 0)
ib3d_LightAmbientColor(LIGHT1,0,0,0)
Local plane:MESH = ib3d_CreatePlane(100, 100, 1, 1)
ib3d_PositionEntity(plane, 30, - 10, 30)
ib3d_PointEntity cam, plane
Local cube:PRIMITIVE = ib3d_CreateCube()
ib3d_PositionEntity(cube, 30, - 5, 30)
ib3d_NameEntity(cube, &quot;CUBE&quot;)
ib3d_MoveEntity(cam, 0, 5, 0)

&#039; show And execute dialog
ShowGadget(window)

&#039; do message queue

Local bWireFrame:Int = False

While (True)

    ib3d_TurnEntity cube, 0, 2, 0
    ib3d_UpdateWorld()
    ib3d_RenderWorld()

    If PeekEvent() Then 
        PollEvent()
        Select EventID()
            Case EVENT_WINDOWSIZE
                Local devce:ib3d_engine = _g_ib3d_engine
                Local driver:IVideoDriver = devce.Driver
                SetGadgetShape(hIrrlichtWindow, 0, 0, ClientWidth(window), ClientHeight(window))
                ib3d_CameraViewport(cam, 0, 0, ClientWidth(window), ClientHeight(window))
                driver.OnResize(ClientWidth(window),ClientHeight(window))
                If ClientWidth(hIrrlichtWindow) &gt; ClientHeight(hIrrlichtWindow)
                    ib3d_CameraAspectRatio(cam, 1.0 * (ClientWidth(hIrrlichtWindow) / ClientHeight(hIrrlichtWindow)))
                Else
                    ib3d_CameraAspectRatio(cam, 1.0 * (ClientHeight(hIrrlichtWindow) / ClientWidth(hIrrlichtWindow)))
                EndIf
                SetGadgetText(window,ClientWidth(window) + &quot; x &quot; + ClientHeight(window))
            Case EVENT_WINDOWCLOSE
                Exit
            Case EVENT_GADGETACTION
            Default
                ActivateGadget(hIrrlichtWindow)
                If EventID()=EVENT_KEYDOWN And EventData()=KEY_W
                    bWireFrame = Not bWireFrame
                    &#039;ib3d_EntityFX(cube,EMF_WIREFRAME,bWireFrame)                    
                EndIf
        End Select
    End If
    
Wend</code></pre></div><p>Now, launch the program and resize... WOOT WOOT ! IT WORKS !</p><p>That&#039;s it guys, ENJOY ! <img src="https://gprogs.com/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /></p>]]></description>
			<author><![CDATA[null@example.com (Eltran)]]></author>
			<pubDate>Tue, 26 Aug 2008 12:31:54 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=338&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Where to start?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=315&amp;action=new</link>
			<description><![CDATA[<p>Hi!<br />(referring blitz max irrlicht wrapper)<br />I have various questions... seeing as there are quite a few files around here I was wondering, which file do I download?</p><p>Where do I get the documentation for this engine? Where can I ask questions by the bucketload? <img src="https://gprogs.com/img/smilies/tongue.png" width="15" height="15" alt="tongue" /></p><p>I just am confused about where to start, and how. Thank you.</p>]]></description>
			<author><![CDATA[null@example.com (SanJesse)]]></author>
			<pubDate>Fri, 15 Feb 2008 02:23:39 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=315&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[2d stuff]]></title>
			<link>https://gprogs.com/viewtopic.php?id=309&amp;action=new</link>
			<description><![CDATA[<p>Thanks for this mod, it was very easy to install.</p><p>Just a quick question: in the irrlicht docs do you know where to find all the 2d commands? I cant seem to find them anywhere.e.g. draw2dimagesegment</p>]]></description>
			<author><![CDATA[null@example.com (Slenkar)]]></author>
			<pubDate>Wed, 16 Jan 2008 18:43:01 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=309&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Whats to download?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=306&amp;action=new</link>
			<description><![CDATA[<p>Hi gman, thanks for your hard work on this wrapper.</p><p>Im seeing a post referencing version 0.14 but I cant find the download anywhere.<br />Im currently running blitzmax 1.28 and the irr 0.13 wrapper version.</p><p>Am i upto date with this install?</p><p>If not, where can i find the 0.14 distribution and the updated exmaples.</p><p>Thanks for any help here. I love irr and want to get started with it right away.</p>]]></description>
			<author><![CDATA[null@example.com (Vandago)]]></author>
			<pubDate>Wed, 26 Dec 2007 19:58:35 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=306&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Irrlicht examples not working?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=294&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (GSMKer)]]></author>
			<pubDate>Fri, 30 Nov 2007 17:12:38 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=294&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Samples and version differences (confusion)]]></title>
			<link>https://gprogs.com/viewtopic.php?id=286&amp;action=new</link>
			<description><![CDATA[<p>Hi Gman,</p><p>Whats the difference between irrlicht.b3d irrlicht.core gg.irrbmax and gg.irrlicht Im a bit confused here. </p><p>Also, where can i find the ib3d_ command examples? I found them somewhere before (basically the irrlicht examples converted) but cant seem to find them again anywhere. I notice you posted that the latest ib3d mod is released but i cant find it :?</p><p>Dan</p>]]></description>
			<author><![CDATA[null@example.com (danman)]]></author>
			<pubDate>Tue, 13 Nov 2007 21:56:41 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=286&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Irrlicht v1.3 Examples]]></title>
			<link>https://gprogs.com/viewtopic.php?id=246&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Sun, 17 Jun 2007 16:47:33 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=246&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[iB3d Examples?]]></title>
			<link>https://gprogs.com/viewtopic.php?id=223&amp;action=new</link>
			<description><![CDATA[<p>Hi, gman! You are have any examples for iB3d? Simple, created with ib3d without examles is hard <img src="https://gprogs.com/img/smilies/sad.png" width="15" height="15" alt="sad" /> And, how complete ib3d? This is 100% Blitz-simmilar functions or not? I&#039;m see source ib3d and think that not all blitz-functions created. I&#039;m rights?</p>]]></description>
			<author><![CDATA[null@example.com (Serge Petrowski)]]></author>
			<pubDate>Sat, 12 May 2007 18:39:36 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=223&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Irrlicht v0.14 Distribution Samples]]></title>
			<link>https://gprogs.com/viewtopic.php?id=18&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Mon, 09 Jan 2006 02:53:26 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=18&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[gg.IrrAddons samples (updated 2006/1/27)]]></title>
			<link>https://gprogs.com/viewtopic.php?id=16&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Sat, 07 Jan 2006 06:40:59 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=16&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Irrlicht Mods and Newton (originally posted by Haramanai)]]></title>
			<link>https://gprogs.com/viewtopic.php?id=9&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>Strict
Framework PUB.Newton
Import GG.IrrBMax
Import BRL.PNGLoader

Local device:T_irrIrrlichtDevice = T_irrIrrlichtDevice.create(EDT_OPENGL , T_irrDimension2d_s32.create(640 , 480) , 16 , False , False , False , 0)
Global driver:T_irrIVideoDriver = device.getVideoDriver()
Global smgr:T_IrrISceneManager = device.getSceneManager() 
&#039;Local Tex:T_irrITexture = driver.getTexture(&quot;brlLogo.png&quot;)
Local camera:T_irrICameraSceneNode = smgr.addCameraSceneNodeFPS()
camera.setPosition(T_irrVector3df.createFromVals(-19,-49,-30))
camera.setRotation(T_irrVector3df.createFromVals(0 , 0 , 0))
Local light:T_irrILightSceneNode = smgr.addLightSceneNode( 0 , T_irrVector3df.createfromVals(-20 , -40 , -30) , 100)


Global nWorld:Byte Ptr = newtonCreate(PhysicsAlloc , PhysicsFree)

initScene()
Local Timer:Int = MilliSecs()
While (device.run())
    Timer:+MilliSecs()
    newtonUpdate(nWorld , 0.001)
    Timer = MilliSecs()
    &#039;NewtonBodyGetMatrix(box , Varptr Mat[0])
    &#039;T_irrSetMatrix(node , Mat)
    driver.beginScene(True , True , T_irrSColor.createFromVals(0,200 , 200 , 200))
    smgr.drawAll()
    
    driver.endScene()
    FlushMem
Wend

Rem &#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;&#039;/////////////////////////////////////   The Convertion Matrix Functions
        T_irrGetMatrix is the function to get the matrix from the Irrlecht SceneNode And pass it
    to an array to be used by Newton.
        T_irrSetMatrix is the function to pass the Matrix from Newton to the Irrlicht SceneNode
EndRem
Function T_irrGetMatrix(NSceneNode:T_irrISceneNode , NewtonMat:Float Ptr)
    Local Euler:Float[3]
    Euler[0] = NSceneNode.getRotation().getX() * (Pi / 180.0)
    Euler[1] = NSceneNode.getRotation().getY() * (Pi / 180.0)
    Euler[2] = NSceneNode.getRotation().getZ() * (Pi / 180.0)
    NewtonSetEulerAngle(Varptr Euler[0] , Varptr newtonMat[0])
    Newtonmat[12] = NSceneNode.getPosition().getX()
    newtonMat[13] = NSceneNode.getPosition().getY()
    NewtonMat[14] = NSceneNode.getPosition().getZ()    
End Function
Function T_irrSetMatrix(NSceneNode:T_irrISceneNode , NewtonMat:Float Ptr)
    Local Euler:Float[3]
    NewtonGetEulerAngle(Varptr NewtonMat[0] , Varptr Euler[0])
    NSceneNode.setPosition(T_irrVector3df.createFromVals(NewtonMat[12] , NewtonMat[13] , NewtonMat[14]))
    NSceneNode.setRotation(T_irrVector3df.createfromVals(Euler[0] * (180 / Pi) , Euler[1] * (180 / Pi) , Euler[2] * (180 / Pi)))
End Function
Rem 
                    THE FUNCTIONS FROM TUTORIAL 2
End Rem
Function    PhysicsAlloc:Byte Ptr(sizeInBytes:Int)
    Return MemAlloc(sizeInBytes)
End Function
Function    PhysicsFree( memptr:Byte Ptr, sizeInBytes:Int)
    MemFree (memptr, sizeInBytes)
End Function
&#039; set the tranformation of a rigid body
Function  PhysicsApplyForceAndTorque (Body:Byte Ptr)
    Local mass:Float
    Local Ixx:Float
    Local Iyy:Float
    Local Izz:Float
    NewtonBodyGetMassMatrix (body,Varptr mass, Varptr Ixx, Varptr Iyy, Varptr Izz);
    &#039;Local force:Float[] =  [0.0, -mass * 9.8 , 0.0]
    &#039; GG: messed with the mass multiplier to make it look like the tutorial.  have no idea why this is different.
    Local force:Float[] =  [0.0, -mass * 410 , 0.0]
    NewtonBodySetForce (body, Varptr force[0])
End Function
Function  PhysicsSetTransform (body:Byte Ptr, NewtonMat:Float Ptr)
    Local primitive:T_irrISceneNode
    &#039;// get the graphic Object form the rigid body
    &#039; GG: changed to recreate the scenenode based on the C++ object handle
    primitive = T_irrISceneNode.CreateFromHandle(Int(newtonBodyGetUserData(body)),False)
    
    &#039;// set the transformation matrix For this rigid body
    newtonBodyGetMatrix(body , Varptr NewtonMat[0])
    T_irrSetMatrix(Primitive , Varptr NewtonMat[0])
    
End Function
Function PhysicsBodyDestructor(body:Byte Ptr)
    Local primitive:T_irrISceneNode
    &#039;// get the graphic Object form the rigid body
    &#039; GG: changed to recreate the scenenode based on the C++ object handle
    primitive = T_irrISceneNode.CreateFromHandle(Int(newtonBodyGetUserData(body)),False)
    &#039;// destroy the graphic Object
    primitive.remove()
    
End Function
Function CleanUp ()
    &#039;// destroy the Newton world
    NewtonDestroy (nWorld);
    
End Function
Function InitScene()
    Global Texture:T_irrITexture = Driver.getTexture(&quot;doc/brllogo.png&quot;) 
    Global box:T_irrISceneNode
    Global IFloor:T_irrISceneNode
    Global boxBody:Byte Ptr
    Global floorBody:Byte Ptr
    Global collision:Byte Ptr
    Global Mat:Float[16]
    &#039;// create the newton world
    
    &#039;// set the linear solver model For faster speed 
    NewtonSetSolverModel(nWorld, 8)
    &#039;// set the adpative friction model For faster speed 
    NewtonSetFrictionModel(nWorld, 1)
    
    &#039;// Set the termination Function
    &#039;atexit(CleanUp);   &#039;//// I Haven&#039;t Found The Apropriaty Function for Irrlicht
    
    &#039;// create the the Floor graphic objects
    IFloor = smgr.addTestSceneNode(100 )
    &#039;IFloor.setMaterialFlag(EMF_LIGHTING,True)
    IFloor.setMaterialTexture(0 , texture)
    IFloor.setPosition(T_irrVector3df.createFromVals(0,-100 , 0))
    collision = newtonCreateBox(nWorld , 100.0 , 100.0 , 100.0 , Null)
    FloorBody = newtonCreateBody(nWorld , collision)
    
    &#039;// set the transformation For this rigid body
    T_irrGetMatrix(IFloor ,Varptr Mat[0])
    NewtonBodySetMatrix(floorBody,Varptr Mat[0])
    
    &#039;// save the pointer To the graphic Object with the body.
    &#039; GG: changed to store the scenenode C++ object handle instead of a reference to the BMAX object with falls out of scope
    NewtonBodySetUserData(floorBody,Byte Ptr(IFloor.handle))
    
    &#039;// set a destrutor For this rigid body
    NewtonBodySetDestructorCallback(floorBody, PhysicsBodyDestructor);
    
    &#039;// set the initial size
    &#039;size = dVector(0.5f, 0.5f, 0.5f);    Not really nesesery(I think so)
    &#039;// create the collision 
    newtonReleaseCollision(nWorld , collision)
    collision = NewtonCreateBox(nWorld, 0.5 , 0.5, 0.5 , Null) 
    Local location:Float[] = [0.0 , 0.0 , 0.0]
    location[0] = -10.0   &#039;FOR  X
    For Local k:Int = 0 To 9
        location[2] = 0.0    &#039;For Z
        For Local J:Int = 0 To 9
            location[1] = 2.0    &#039;For Y
            For Local i:Int = 0  To 9
                box = smgr.addTestSceneNode(0.5)
                box.setMaterialFlag(EMF_LIGHTING,True)
                box.SetMaterialTexture(0 , Texture)
                box.setPosition(T_irrVector3df.createFromVals(location[0] ,location[1] , location[2]))
                boxBody = newtonCreateBody(nWorld , collision)                
                &#039; GG: changed to store the scenenode C++ object handle instead of a reference to the BMAX object with falls out of scope
                newtonBodySetUserData(boxBody ,Byte Ptr(box.handle))        
                &#039;// set a destrutor For this rigid body
                NewtonBodySetDestructorCallback(boxBody, PhysicsBodyDestructor)
                &#039;// set the tranform call back Function
                NewtonBodySetTransformCallback(boxBody, PhysicsSetTransform)
                &#039;// set the force And torque call back funtion
                NewtonBodySetForceAndTorqueCallback(boxBody, PhysicsApplyForceAndTorque)
                &#039;// set the mass matrix
                &#039;//NewtonBodySetMassMatrix (boxBody, 1.0f, 1.0f / 6.0f, 1.0f / 6.0f, 1.0f  / 6.0f);
                NewtonBodySetMassMatrix(boxBody, 1.0, 1.0, 1.0, 1.0)                
                &#039;// set the matrix For tboth the rigid nody And the graphic body
                T_irrGetMatrix(box , Varptr Mat[0])
                NewtonBodySetMatrix(boxBody,Varptr Mat[0])
                PhysicsSetTransform(boxBody, Varptr Mat[0])
                Location[1] :+ 0.5 * 2.0
            Next
            Location[2] :- 0.5 * 4.0     
        Next
        location[0] :- 0.5 * 4.0 
    Next
    &#039;// Release the collsion geometry when Not need it
    NewtonReleaseCollision(nWorld, collision)

EndFunction</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Thu, 05 Jan 2006 12:35:22 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=9&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[API Documentation]]></title>
			<link>https://gprogs.com/viewtopic.php?id=6&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (gman)]]></author>
			<pubDate>Thu, 05 Jan 2006 02:47:24 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=6&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Updated Examples]]></title>
			<link>https://gprogs.com/viewtopic.php?id=5&amp;action=new</link>
			<description><![CDATA[]]></description>
			<author><![CDATA[null@example.com (ckob)]]></author>
			<pubDate>Thu, 05 Jan 2006 02:33:46 +0000</pubDate>
			<guid>https://gprogs.com/viewtopic.php?id=5&amp;action=new</guid>
		</item>
	</channel>
</rss>
