HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Prüfer - Marker im Bereich? (https://hx3.de/editing-139/pruefer-marker-bereich-15959/)

Hercules-HH 16.03.2009 01:57

Prüfer - Marker im Bereich?
 
Ich möchte prüfen, ob sich ein Marker in einem Bereich befindet?

Die frage hab ich schon mal gestellt, doch leider hab ich das doch nicht richtig verstanden.

Code:

#Start
~2
if ("Infs1m" in List ausl) then {hint "Ja"} else {hint "Nein"};
goto "Start"

Code:

#Start
~2
if ("Infs1m in List ausl") then {hint "Ja"} else {hint "Nein"};
goto "Start"

Oder geht das gar nicht?

[GNC]Lord-MDB 16.03.2009 03:37

ich glaube einen Marker direkt kann man nicht abfragen,aber über dem Umweg über ein unsichtbares h könntes es gehen,das man an den Marker bindet

Vienna 16.03.2009 12:36

Kurz ein Ersatzobjekt in den Auslöserbereich reinstellen ist problematisch weil

a) es gibt verschiedene Auslöser: West, Ost, Jeder ...
b) wenn ein Ersatzobjekt erst kurz im Auslöserbereich steht, wird es womöglich noch nicht angezeigt.

Für einen kreisförmigen Auslöser gibt es aber folgende Möglichkeit der Abfrage, ob sich im Kreisbereich der Marker befindet:

z.B. bei Auslöserradius von 50m

if(getMarkerPos "Markername" distance Auslösername < 50)then{hint "JA}else{hint "NEIN"}

Hercules-HH 16.03.2009 19:13

Zitat:

[GNC]Lord-MDB: aber über dem Umweg über ein unsichtbares h könntes es gehen,das man an den Marker bindet
Ja, auf diese Idee kam ich auch und jetzt verstehe ich warum das mal geklappt hat und mal nicht. Danke dir trotzdem

Ich hab das ungefähr so versucht und konnte prüfen, ob er überhaupt existiert, ich hab natürlich vorausgesetzt er hat diese Form:
? markerType "Marker1" == "Dot" : goto "Nichtda";
hint "ist anwesend;

Doch leider knnte ich es nicht im Bezug auf Auslöser realisieren. Das hab ich so nur zum Testen gemacht und nichts hat funktioniert :-(

Code:

{If (markerType "Infs1m" == "Dot") then {"Infs1m" setMarkerType "Arrow"} else {hint "nein"}} foreach ausl;

{If (markerType "Infs1m" == "Dot") then {"Infs1m" setMarkerType "Arrow"} else {hint "nein"}} foreach list ausl;

Das ist eine super Idee. Darauf muss man erst mal kommen.
Zitat:

Vienna :if(getMarkerPos "Markername" distance Auslösername < 50)then{hint "JA}else{hint "NEIN"}
Und nächste Frage:

Wen ich ein Marker (Mark2) genau 40 meter südlich von einem anderen Marker (Mark1) setzten möchte, wie mach ich es?

"Mark2" setMarkerPos [(getMarkerPos "Mark1" select 0),(?????),0]

Hercules-HH 16.03.2009 19:57

"Mark2" setMarkerpos [(getMarkerPos "Mark1" select 0),(getMarkerPos "Mark1" select 1)]

So ist er schon mal an der gleichen Position, aber er soll nun 50 Meter südlich davon sein.

[GNC]Lord-MDB 16.03.2009 21:26

Jetzt kommt das harte Wissen aus der Schule zum tragen "Geometrie und Winkelberechnung" :schlau:

Zitat:

_dir = 180;
_c = 50;
"Mark2" setMarkerpos [(getMarkerPos "Mark1" select 0)-_c*sin(_dir),(getMarkerPos "Mark1" select 1)-_c*cos(_dir)];
0=nord
90=ost
180=süd
270=west

Manchmal ist nicht alles aus der Schule umsonst :lol:

Vienna 16.03.2009 23:38

Zitat:

Zitat von Hercules-HH (Beitrag 221597)
Und nächste Frage:

Wen ich ein Marker (Mark2) genau 40 meter südlich von einem anderen Marker (Mark1) setzten möchte, wie mach ich es?

"Mark2" setMarkerPos [ getMarkerPos "Mark1" select 0 , (getMarkerPos "Mark1" select 1) - 40 ]

Für die einfachen Himmelsrichtungen reicht somit Plus und Minus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:33 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119