KlassenKlassenKlassenKlassen | | | | Operatoren

update_window_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose (Operator)

Name

update_window_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose — Verändern der Pose eines 3D-Plots.

Signatur

update_window_pose( : : WindowHandle, LastRow, LastCol, CurrentRow, CurrentCol, Mode : )

Herror update_window_pose(const Hlong WindowHandle, double LastRow, double LastCol, double CurrentRow, double CurrentCol, const char* Mode)

Herror T_update_window_pose(const Htuple WindowHandle, const Htuple LastRow, const Htuple LastCol, const Htuple CurrentRow, const Htuple CurrentCol, const Htuple Mode)

Herror update_window_pose(const HTuple& WindowHandle, const HTuple& LastRow, const HTuple& LastCol, const HTuple& CurrentRow, const HTuple& CurrentCol, const HTuple& Mode)

void HWindow::UpdateWindowPose(const HTuple& LastRow, const HTuple& LastCol, const HTuple& CurrentRow, const HTuple& CurrentCol, const HTuple& Mode) const

void UpdateWindowPose(const HTuple& WindowHandle, const HTuple& LastRow, const HTuple& LastCol, const HTuple& CurrentRow, const HTuple& CurrentCol, const HTuple& Mode)

void HWindow::UpdateWindowPose(const HTuple& LastRow, const HTuple& LastCol, const HTuple& CurrentRow, const HTuple& CurrentCol, const HString& Mode) const

void HWindow::UpdateWindowPose(double LastRow, double LastCol, double CurrentRow, double CurrentCol, const HString& Mode) const

void HWindow::UpdateWindowPose(double LastRow, double LastCol, double CurrentRow, double CurrentCol, const char* Mode) const

void HOperatorSetX.UpdateWindowPose(
[in] VARIANT WindowHandle, [in] VARIANT LastRow, [in] VARIANT LastCol, [in] VARIANT CurrentRow, [in] VARIANT CurrentCol, [in] VARIANT Mode)

void HWindowX.UpdateWindowPose(
[in] VARIANT LastRow, [in] VARIANT LastCol, [in] VARIANT CurrentRow, [in] VARIANT CurrentCol, [in] BSTR Mode)

static void HOperatorSet.UpdateWindowPose(HTuple windowHandle, HTuple lastRow, HTuple lastCol, HTuple currentRow, HTuple currentCol, HTuple mode)

void HWindow.UpdateWindowPose(HTuple lastRow, HTuple lastCol, HTuple currentRow, HTuple currentCol, string mode)

void HWindow.UpdateWindowPose(double lastRow, double lastCol, double currentRow, double currentCol, string mode)

Beschreibung

Der Operator update_window_poseupdate_window_poseUpdateWindowPoseupdate_window_poseUpdateWindowPoseUpdateWindowPose vereinfacht das Setzen der Orientierung und der Lage des Höhenmodells, das vom Operator disp_objdisp_objDispObjdisp_objDispObjDispObj angezeigt wird, sofern der Darstellungsmodus mittels set_paintset_paintSetPaintset_paintSetPaintSetPaint auf '3d_plot'"3d_plot""3d_plot""3d_plot""3d_plot""3d_plot" gesetzt wurde.

Zwei Fensterposition (LastRowLastRowLastRowLastRowLastRowlastRow,LastColLastColLastColLastColLastCollastCol) und (CurrentRowCurrentRowCurrentRowCurrentRowCurrentRowcurrentRow, CurrentColCurrentColCurrentColCurrentColCurrentColcurrentCol) werden in Rotation, Skalierung oder Bewegung umgewandelt, abhängig von ModeModeModeModeModemode. Diese Fensterkoordinaten müssen so angegeben werden, dass sie dem gesetzten Bildausschnitt entsprechen und damit auch subpixelgenau sind. Ist der Bildausschnitt durch (Zeile1,Spalte1,Zeile2,Spalte2) gegeben, entspricht die linke obere Ecke der Koordinate (Zeile1 - 0.5, Spalte1 - 0.5), die rechte untere Ecke der Koordinate (Zeile2 - 0.5, Spalte2 - 0.5). Die Operatoren get_mposition_sub_pixget_mposition_sub_pixGetMpositionSubPixget_mposition_sub_pixGetMpositionSubPixGetMpositionSubPix oder get_mbutton_sub_pixget_mbutton_sub_pixGetMbuttonSubPixget_mbutton_sub_pixGetMbuttonSubPixGetMbuttonSubPix können verwendet werden, um diese Koordinaten direkt zu erhalten.

Wird 'rotate'"rotate""rotate""rotate""rotate""rotate" als ModeModeModeModeModemode gewählt, wird das Höhenmodell rotiert. Dabei werden beide Punkte auf eine virtuelle Kugel, die im Zentrum des Fensters ihren Mittelpunkt hat, projiziert. Der Bogen zwischen beiden Projektionen entspricht der Rotation, die auf das Höhenmodell angewandt wird.

Wird 'scale'"scale""scale""scale""scale""scale" als ModeModeModeModeModemode gewählt, wird die Distanz zwischen dem Betrachter und dem Höhenmodell verringert, wenn CurrentRowCurrentRowCurrentRowCurrentRowCurrentRowcurrentRow größer ist als LastRowLastRowLastRowLastRowLastRowlastRow. Falls CurrentRowCurrentRowCurrentRowCurrentRowCurrentRowcurrentRow kleiner ist als LastRowLastRowLastRowLastRowLastRowlastRow, wird die Distanz vergrößert.

Wird 'move'"move""move""move""move""move" als ModeModeModeModeModemode gewählt, werden die Eingabepunkte auf eine Ebene, die parallel zur Betrachterebene durch die Mitte des Höhenmodells geht, projiziert. Das Zentrum des Höhenmodells wird um die Distanz zwischen beiden Projektionen bewegt.

Wird 'move_plane'"move_plane""move_plane""move_plane""move_plane""move_plane" als ModeModeModeModeModemode gewählt, werden die Eingabepunkte auf die Ebene projiziert, die der Höhe Null entspricht. Das Höhenmodell wird um die Distanz zwischen beiden Projektionen bewegt.

Parallelisierung

Parameter

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Fenster-Handle.

LastRowLastRowLastRowLastRowLastRowlastRow (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Zeilenkoordinate des ersten Punktes

LastColLastColLastColLastColLastCollastCol (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Spaltenkoordinate des ersten Punktes.

CurrentRowCurrentRowCurrentRowCurrentRowCurrentRowcurrentRow (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Zeilenkoordinate des zweiten Punktes.

CurrentColCurrentColCurrentColCurrentColCurrentColcurrentCol (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Spaltenkoordinate des zweiten Punktes.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Navigationsmodus.

Defaultwert: 'rotate' "rotate" "rotate" "rotate" "rotate" "rotate"

Werteliste: 'move'"move""move""move""move""move", 'move_plane'"move_plane""move_plane""move_plane""move_plane""move_plane", 'rotate'"rotate""rotate""rotate""rotate""rotate", 'scale'"scale""scale""scale""scale""scale"

Beispiel (HDevelop)

* Interactive display of a height field
dev_set_paint ('3d_plot')
while (1)
  dev_set_check ('~give_error')
  get_mposition_sub_pix (WindowHandle, Row, Column, Button)
  dev_set_check ('give_error')
  if (ButtonDown and (Button == 0))
    ButtonDown := false
  endif
  if (not(Button == 0))
    if (ButtonDown)
      if (Button == 1)
        mode := 'rotate'
      endif
      if (Button == 4)
        mode := 'scale'
      endif
      if (Button == 5)
        mode := 'move'
      endif
      update_window_pose (WindowHandle, lastRow, lastCol, Row, Column, mode)
    else
      if (Button == 2)
        break
      endif
      ButtonDown := true
    endif
    lastCol := Column
    lastRow := Row
  endif
  dev_display (Image)
endwhile

Vorgänger

set_paintset_paintSetPaintset_paintSetPaintSetPaint, open_windowopen_windowOpenWindowopen_windowOpenWindowOpenWindow, get_mposition_sub_pixget_mposition_sub_pixGetMpositionSubPixget_mposition_sub_pixGetMpositionSubPixGetMpositionSubPix, get_mbutton_sub_pixget_mbutton_sub_pixGetMbuttonSubPixget_mbutton_sub_pixGetMbuttonSubPixGetMbuttonSubPix

Nachfolger

disp_imagedisp_imageDispImagedisp_imageDispImageDispImage

Siehe auch

unproject_coordinatesunproject_coordinatesUnprojectCoordinatesunproject_coordinatesUnprojectCoordinatesUnprojectCoordinates

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren