Does exist a lib to simulate magnet ?

Blitz3D Forums/Blitz3D Userlibs/Does exist a lib to simulate magnet ?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

@patmaba

Try something like...

Type TNeoDym_Magnet
	Field Px, Body
	Field mesh%
End Type 

Function CreateNeoDym( pX, pY, pZ, pPivot=0 )
	Local l.TNeoDym_Magnet = New TNeoDym_Magnet
	If pPivot > 0 Then 
		l\mesh = CreateSphere(8,pPivot)
	Else
		l\mesh = CreateSphere(8)
	EndIf
 
	l\Body=pxBodyCreateCube(.1,.1,.1,10)
 	pxBodySetPosition(l\Body,pX, pY, pZ)       
 
 
    l\Px=pxCreateMagnet(1, 50, 100)
    pxMagnetSetMaxRadius( l\Px, 200)
    pxMagnetSetMinRadius( l\Px, 205)
	pxMagnetSetPosition(l\Px,pX, pY, pZ)       
 
	
	PositionEntity l\mesh, pX, pY, pZ	
	Return Handle( l )
End Function 


Function UpdateNeoDym( )
	For l.TNeoDym_Magnet = Each TNeoDym_Magnet
		pxBodySetEntity l\mesh,l\Body
		pxMagnetSetPosition l\pX, pxBodyGetPositionX( l\Body),pxBodyGetPositionY( l\Body),pxBodyGetPositionZ( l\Body)
		pxMagnetActivate(l\Px, 1, 1)
	Next
End Function