Types + Newton

Previous topic - Next topic

Tenorm

Hi,

einfach mal kleines BSP:

Code (glbasic) Select

TYPE thing
     id
     x
     y
     z
ENDTYPE
GLOBAL new_thing AS thing
GLOBAL things[] AS thing

FUNCTION make_thing: id, x, y, z
     new_thing.id=id
     new_thing.x=x
     new_thing.y=z
     new_thing.z=z
     newton....
     DIMPUSH things[], new_thing
ENDFUNCTION

FOREACH new_thing IN things[]
     newton...
     newtonbodygetmatrix(new_thing.id,M[])
     ...
NEXT


So, wenn ich z.B. die Matrix des Objektes auslesen will, um z.B. ein Modell daran auszurichten, bringt mir newton immer nur die matrix des ersten Mitgliedes von things[], was wahrscheinlich daran liegt, dass newton nicht den wert von new_thing.id verwendet, sondern new_thing.id als String oder so einliest...

Jemand ne Ahnung was man da machen kann? (id$ statt id hab ich schon probiert...)

Danke Tenorm

amarliani

Schon mal versucht, den Inhalt von new_thing.id einfach in ne Zwischenvariable zu schreiben und die an Newton zu ?bergeben? Nicht elegant, aber wenns geht...

Ich mein das so:

Code (glbasic) Select

...
FOREACH new_thing IN things[]
     newton...
     id=new_thing.id
     newtonbodygetmatrix(id,M[])
     ...
NEXT
...

Schranz0r

liegt bestimmt nich daran.
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tenorm

ja, liegt nicht daran...

Gernot, wie lautet die Diagnose?

Schranz0r

kann auch nicht daran liegen da ich das so auch schonmal gemacht hatte...
Gib mal einen fetzen Code, der das Problem zeigt.
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Tenorm

Ich seh grad, dass gernot sowas ?hnliches im Pingloo gemacht hat, aber eben nicht mit Types sondern mit einem Variablenfeld...

Kitty Hello

Du ?berschreibst "M[]" ja in der Schleife dauernd!?

Tenorm

muss ich doch?!

Das Ding bewegt sich ja auch und deshalb muss die Model-Position ja angeglichen werden.

Kitty Hello

FOREACH new_thing IN things[]
     newton...
     newtonbodygetmatrix(new_thing.id,M[])
     ...
NEXT

warum nicht

     newtonbodygetmatrix(new_thing.id,  new_thing . M[])

Tenorm

hey  :good:
funktioniert mal wieder 1A, danke!

obwohl ich jez nicht richtig kappiert habe warum das Feld nicht f?r alle verwendet und ?berschrieben werden darf...