Objektachse in Xpresso verschieben

mancer

Mitglied
Hallo.

Mit dem "Polygon"-Node in Xpresso kann man zwar von einem Objekt den Mittelpunkt auslesen, aber wie kann man diesen verschieben? Geht das überhaupt?
Danke für eure Antworten.
Gruß,
mancer
 
Hi!

Das Polygon-Node liefert den Mittelpunkt eines Polygons des Objekts, nicht des gesamten Objekts. Willst Du diesen Mittelpunkt dennoch ändern, mußt Du halt demensprechend das Polygon bzw. desssen Punkte verschieben... "Mittelpunkt" ergibt sich ja daraus... ;)

Wenn Du die Achse eines Polygon-Objekts verschieben möchtest, mußt Du die Position des Objekts an die gewünschte Stelle verschieben und die Positionen aller Punkte entsprechend auf die ursprünglichen Stellen zurück schieben...

Grüße,
Mark.
 
Hi Mark,

sorry, mit "Mittelpunkt" meinte ich die Objektachse.
Also müsste ich die ursprünglichen Punkte in z.B. einem Array speichern, das Objekt verschieben und dann die Positionen der Punkte über den Polygon-Node "zurücksetzen"?
Hört sich nach einer etwas komplexeren Schaltung an, oder?

Gruß
 
Hi!

Per Coffee-Node geht es recht fix:
Code:
//    obj = Link / Polygon-Objekt
//    pos = Vektor / Neue Position der Achse

main()
{
    var pos_old = obj->GetPosition();
    var pts = obj->GetPoints();
    obj->SetPosition(pos);
    
    var i;
    for(i=0; i<sizeof(pts); i++)
    {
        pts[i] = pts[i] - (pos - pos_old);
    }
    obj->SetPoints(pts);

    obj->Message(MSG_UPDATE);
}
Viel einfach wird es natürlich, wenn Du ein zweites Null-Objekt nutzt, so brauchst Du nur dieses Verschieben und das darin befindliche Objekt zurücksetzen...

Grüße,
Mark.
 
Haha, auf die Sache mit dem Null-Objekt hätte ich auch echt mal selber kommen können :D
Danke für die Tips, werde sie beide morgen mal ausprobieren.
 
Zurück