PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HitTesting in WPF3D


Elemental
2011-05-27, 10:35:51
Hallo zusammen,
ich habe ein Programm geschrieben, das Leiterplatten und die Chips darauf in 3D zeichnet. Das ganze wird mittels WPF3D gemacht.

(siehe attachment)

Nun soll Hit Testing eingebaut werden, so dass man auf ein Bauteil klicken kann und dann erfährt, was das für ein Bauteil ist etc.

Allerdings ist die 3D Ansicht momentan so gebaut, dass eine Menge Model3DGroup Objekte (für Bauteile und Leiterplatte) an nur einem ModelVisual3D hängen.

Sehe ich das richtig, dass man für Hit Testing nun jedes Bauteil zu einem eigenen ModelVisual3D machen muss?

mit freundlichen Grüssen
Elemental

Monger
2011-05-27, 11:32:04
Kann jetzt nur aus der Theorie sprechen, weil ich es selber noch nicht ausprobiert habe, aber: ja, ist wohl so.

Ich habs so gelesen, dass ModelGroups eigentlich dafür gedacht sind, verschiedene Segmente innerhalb des selben logischen Objekts zu positionieren. Ein ModelVisual3D ist dazu gedacht, als eigenstehendes Objekt zu interagieren.

Beides hat wohl auch Konsequenzen für die Performance. ModelGroups sind relativ leichtgewichtig, indem sie z.B. eben nicht separat auf Hit Tests reagieren. Visuals sind darauf optimiert, mehrere Instanzen des selben Objektes auf dem Screen haben zu können.

Sprich: wenn du auf deiner Leiterplatine viele gleiche Modelle hast, hast du evtl. sogar eine bessere Performance, wenn du auf Visuals umstellst.

Elemental
2011-05-27, 11:56:47
OK, danke!

Mit der Performance müsstest du recht haben. Bisher musste ich die Model3DGroup eines Bauteils immer kopieren, wenn es mehrmals auf der Leiterplatte ist und dann die Transformationen auf die Kopie anwenden, um das Bauteil an die entsprechende Stelle zu schieben.

Jetzt kann ich eine Model3DGroup für alle Bauteile gleichen Typs verwenden und setzte die Transformation auf das ModelVisual3D :cool:

mfG
Elemental