Hallo Rainer,
hast du für 2D auch so ein Beispiel für die Nichtkommunikativität?
Gruß
Wilfried
Hallo Rainer,
hast du für 2D auch so ein Beispiel für die Nichtkommunikativität?
Gruß
Wilfried
Ich habe mir 2 identische Rechtecke erzeugt. Und dann die Fenster für manuelles Einstellen von Skalierung, Rotation und Verzerrung geöffnet. Zunächst das eine Rechteck skaliert, rotiert und verzerrt und dann mit denselben Vorgaben mit anderer (!) Reihenfolge das andere. Das Ergebnis war überraschend, aber seht selbst...
Gruß
Wilfried
Ich muss zugeben, dass ich von MarkDown noch nichts gehört habe. Wie und wo kann ich darauf zugreifen?
Bisher benutze ich die pdf- und die html-Versionen der Dokumentation. Die html-Version ist schnell im Zugriff, enthält aber die MSG_GO_...-Messages nicht. Die pdf-Version ist ergiebig in den Inhalten, im suchenden Zugriff aber umständlich.
Wilfried
Vielleicht hast du recht und man kann da etwas machen. Zunächst wollte ich nur darauf hinweisen, dass ein entsprechender Mechanismus noch nicht existiert. Wenn man z.B. in GeoWrite 2 Value-Objekte nimmt (z.B. Zeichengröße und Zeilenabstand), dann wird klar das,s ein Kopieren (prinzipell) nicht möglich ist. In meinem Projekt wäre ein "Copy and Paste" aber nützlich.
Ja, ich meinte, für den Anwender ist es nicht möglich, weder über das Edit-Menü noch mit Hilfe der Maus.
Ich habe in meinem Projekt viele Value-Objekte. Mitunter ergibt sich die Notwendigkeit, den Inhalt des einen Objekts auf ein anderes zu übertragen. Beide haben das gleiche Format, aber es scheint grundsätzlich nicht möglich zu sein.
Wilfried
Wunderbar! Ich konnte das Verfahren in Hotspot nachvollziehen und jetzt funktioniert es auch bei mir.
Danke Falk
Hallo Falk,
wo hast du geguckt? Du hast die Quelle nicht genannt.
Ich habe in grobjTransformUtils.asm dies gefunden:
GOI_normalTransform.OT_degrees - may have changed
und
mov si,ds:[si].GOI_normalTransform
ds:[si] zeigt wohl zum Objekt. Aber wie mach ich das in GOC? Den Optr des Objekts habe ich. Und mit ObjDerefVis(objekt) bekomme ich den Zeiger auf die Daten. Also müsste ich doch mit
GrObjTransMatrix tm;
pself= ObjDerefVis(objekt);
tm = pself->GOI_normalTransform.OT_transform;
ans Ziel gelangen, oder was sagst du dazu?
Zurück zum Thema
Bisher ist es mir nicht gelungen, die Transformationsmatrix eines transformierten Grafikobjekts auszulesen.
Die GrObjClass Instance Data enthalten:
@instance ChunkHandle GOI_normalTransform = NullChunk;
Wie kann ich darauf zugreifen, wenn ich den Optr des Objekts habe?
Eine erzwungene Eindeutschung halte ich auch für nicht angebracht.
Nun sieht das Symbol dieses Grafikwerkzeugs ja tatsächlich wie eine Lupe aus und ist von den Erzeugern ungeschickt gewählt, weil die scheinbare Bedeutung dieses Werkzeugs eingeschränkt wird. Man kann man damit nicht einzelne Objekte vergrößert betrachten wie bei der Bitmap-Lupe. Deshalb würde ich als Beschreibung, wenn nicht "Zoom", dann "Ansichtsgröße verändern" nehmen. Leider ist dann auch nicht offensichtlich, wie man das Werkzeug zur Verkleinerung benutzt.
Wilfried
.. sollte "Neu zeichnen" oder "Ansicht (besser Anzeige) aktualisieren" heißen.
Ich persönlich bin ja dafür, das "scrollen" zu lassen, man könnte aber auch "Seite nach Links schieben" schreiben. Ist m.E. aber nicht "Computer-like".
"Ansicht aktualisieren" ist gut. "Scrollen" ist auch ok. "Blick nach links", wenn man es unbedingt deutsch haben will.
Gut dass jeder aus der von dir angesprochenen Zielgruppedie Bedeutung z.B. des Begriffs Vektorgrafik kennt.
Sind die USAler (auf diesem Gebiet) so viel gebildeter?
<Lupe -> Lupen-Werkzeug>
Lupe sollten wir doch besser bei Zoom belassen, denn tatsächlich zoomt es bei gedrückter Shift-Taste heraus.
<<Rainer:
Btw. Die Übersetzung der Werkzeuge (Optionen->Werkzeugleisten einrichten -> Werkzeuge zeigen/verbergen) bedarf dringend eine Updates. Die meisten der Zeiger sind keine Zeiger! Die englischen Originale sind in Ordnung.>>
Ganz deiner Meinung.
Wie wär's mit:
Zeiger
Rotationszeiger
Lupe
Textobjekt
Gerade Linie
Rechteck
Eckengerundetes Rechteck
Ellipse
Kreisbogen
Polylinie
Polykurve
Spline
Hallo Rainer,
hm, ich hab's mit verschiedenen Ensemble-Versionen getestet. Stets stellt sich der Bogen auf einen Viertelkreis mit dem Radius 50 pt zurück.
Zu welchem Zweck liest du die Matrix aus?
Gruß
Wilfried
Wenn man in GeoDraw mit den Grafiktools ein Objekt erstellt, dann ist der Kreisbogen das einzige Objekt, das bereits transformiert "auf die Welt kommt". Das ist leicht zu bestätigen, indem man gleich nach der Erzeugung auf "Transformation zurücknehmen" klickt.
Ich beschäftige mich zur Zeit damit, bestehende Objekte durch Transformationsmatrizen in Größe und Form zu verändern. Mir ist es bisher aber nicht gelungen, nach einer durchgeführten Transformation die zugehörige Matrix wieder auszulesen. Inbesondere beim Kreisbogen wäre eine Möglichkeit zum Auslesen interessant.
Gibt es jemanden, der sich mit diesem Thema beschäftigt (hat) ?
Ich muss mich leider korrigieren: Das sind natürlich Ankerpunkte. Kontrollpunkte erhält man, wenn man einen Ankerpunkt als "kurvig" festlegt.
Die beiden kleinen schwarz ausgefüllten Punkte sind hier die Kontrollpunkte. Wenn sie auf einer Geraden mit dem Endpunkt liegen, dann haben sie die Eigenschaft "kollinear" (also eine Tangente). "Unabhängig" bedeutet, dass die beiden Teilstücke am Ankerpunkt einen Knick bilden können. "Symmetrisch" heißt, dass die Abstände der Konrollpunkte zum Ankerpunkt gleich sind. "Automatisch" beinhaltet wohl "Kollinear" und "Symmetrisch".
Cool. Gruppieren unter "Ausrichten" ist funktionell das selbe, wie "in Grafik konvertieren". Nur dass es nicht aktiv ist, wenn nur ein Objekt ausgewählt ist. Danach hätte ich aber auch niemals unter "Ausrichten" gesucht.
Rainer
Funktionell hast du recht, tatsächlich stecken zwei verschieden Klassen dahinter: GenToolGroupClass und GrObjConvertControlClass
Wie ich gerade sehe, benutzt die Assembler-Routine zum Konvertieren in eine Grafik: MSG_GB_GROUP_SELECTED_GROBJS