kaminki Opublikowano 14 Listopada 2017 Zgłoś Udostępnij Opublikowano 14 Listopada 2017 Mam okrąg w kilku egzemplarzach na rysunku. Gdy modyfikuję jeden dowolny to pozostałe również zmieniają się. Czy jest inny sposób niż przez bloki? Czy zadziałałoby to poprzez użycie "event handle"? - utworzyć nod do przechowywania informacji o nazwie np. "my_circle" - narysowanie okręgu o promieniu r - dodanie jego ObjectId do my_circle - kopiowanie okręgu oraz dla każdej kopi dodanie Objectid do tego samego my_circle - każdy okrąg w xdate będzie zawierał tekst "my_circle" -> potrzebne do identyfikacji wszystkich okręgów powiązanych z nod o takiej samej nazwie - każdy okrąg będzie posiadał załadowany event handle do metody analizuj() (handle wrażliwe na modyfikację obiektu) - a w metodzie analizuj(): * gdy zostanie wywołane to znak, że obiekt został zmodyfikowany. Zapamiętanie zmienionego obiektu. Pobranie z xdata jego nazwy, przejście do nod -> my_circle i w pętli po wszystkich obiektach odczyt ObjectId -> pobranie każdego rzeczywistego obiektu, usunięcie go i podstawienie w to miejsce zmodyfikowanego okręgu. Jeżeli oczywiście można bezproblemowo użyć zapisu o ObjectId jako string do odszukania na rysunku obiektu okręgu. Czy jest to dobra droga do rozwiązania problemu? Jeszcze nie pisałem tego, a chciałbym dowiedzieć się czy jest możliwe takie rozwiązanie lub może istnieje lepsze podejście. kruszynski 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 15 Listopada 2017 Zgłoś Udostępnij Opublikowano 15 Listopada 2017 Na C# się nie znam , więc się wypowiem, co mi zależy Teoretycznie powinno to zadziałać. - Gdyby to był LISP należałoby utworzyć reaktor :vlr-modified który wykonywałby operacje po modyfikacji okręgu. Podejrzewam, że tą rolę w C# pełni nod 16 godzin temu, kaminki napisał: - kopiowanie okręgu oraz dla każdej kopi dodanie Objectid do tego samego my_circle - Proszę zwrócić uwagę, żeby ObjectId dodawąć do reaktora nie tylko przy poleceniu _copy, ale też _mirror, _offset, _array, _pasteclip , _copym i wszystkie inne podobne A może lepiej użyć reaktora na dodanie elementu do bazy danych w LISP byłoby to coś jak to: (setq appobjvlr (vlr-acdb-reactor nil '((:vlr-objectAppended . objectAppended)))) 16 godzin temu, kaminki napisał: - każdy okrąg w xdate będzie zawierał tekst "my_circle" -> potrzebne do identyfikacji wszystkich okręgów powiązanych z nod o takiej samej nazwie Nie jestem pewien, ale może listę elementów podpiętych pod reaktor można pozyskać bezpośrednio z reaktora ( w LISP jest to funkcja vlr-owners) , w takim przypadku nie byłoby potrzeby tworzyć dodatkowej XDaty. Ciekawy temat. Proszę dać znać czy udało się uzyskać zamierzony efekt . Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.