KlassenKlassenKlassenKlassen | | | | Operatoren

create_scene_3dcreate_scene_3dCreateScene3dcreate_scene_3dCreateScene3dCreateScene3d (Operator)

Name

create_scene_3dcreate_scene_3dCreateScene3dcreate_scene_3dCreateScene3dCreateScene3d — Erzeugen der Datenstruktur um eine Sammlung von 3D-Objekten zu visualisieren.

Signatur

create_scene_3d( : : : Scene3D)

Herror create_scene_3d(Hlong* Scene3D)

Herror T_create_scene_3d(Htuple* Scene3D)

Herror create_scene_3d(Hlong* Scene3D)

void HScene3D::CreateScene3d()

void CreateScene3d(HTuple* Scene3D)

void HScene3D::HScene3D()

void HScene3D::CreateScene3d()

void HOperatorSetX.CreateScene3d([out] VARIANT* Scene3D)

void HScene3DX.CreateScene3d()

static void HOperatorSet.CreateScene3d(out HTuple scene3D)

public HScene3D()

void HScene3D.CreateScene3d()

Beschreibung

create_scene_3dcreate_scene_3dCreateScene3dcreate_scene_3dCreateScene3dCreateScene3d erzeugt eine neue 3D-Szene und gibt sie in Scene3DScene3DScene3DScene3DScene3Dscene3D zurück.

Eine 3D-Szene ist eine Sammlung von 3D-Objektmodellen, Kameras und Lichtquellen. Diese Objekte können mit den Operatoren add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstance, add_scene_3d_cameraadd_scene_3d_cameraAddScene3dCameraadd_scene_3d_cameraAddScene3dCameraAddScene3dCamera und add_scene_3d_lightadd_scene_3d_lightAddScene3dLightadd_scene_3d_lightAddScene3dLightAddScene3dLight zur 3D-Szene Scene3DScene3DScene3DScene3DScene3Dscene3D hinzugefügt werden. Mit display_scene_3ddisplay_scene_3dDisplayScene3ddisplay_scene_3dDisplayScene3dDisplayScene3d wird eine 3D-Szene in einem Fenster dargestellt.

Jeder Instanz ist eine Pose zugeordnet (mit add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstance oder set_scene_3d_instance_poseset_scene_3d_instance_poseSetScene3dInstancePoseset_scene_3d_instance_poseSetScene3dInstancePoseSetScene3dInstancePose), die die Position der Instanz im Koordinatensystem der Szene (SCS) darstellt. Die Pose der Szene im Weltkoordinatensystem WCS kann mit set_scene_3d_to_world_poseset_scene_3d_to_world_poseSetScene3dToWorldPoseset_scene_3d_to_world_poseSetScene3dToWorldPoseSetScene3dToWorldPose gesetzt werden. Die Pose der Kamera im Weltkoordinatensystem wird mit set_scene_3d_camera_poseset_scene_3d_camera_poseSetScene3dCameraPoseset_scene_3d_camera_poseSetScene3dCameraPoseSetScene3dCameraPose gesetzt und definiert das Kamerakoordinatensystem CCS.

WCS SCS CCS
Die Koordinatensysteme einer 3D-Szene

Parameter, welche die gesamte Szene beeinflussen (z.B. die Qualität des Renderings), werden mit set_scene_3d_paramset_scene_3d_paramSetScene3dParamset_scene_3d_paramSetScene3dParamSetScene3dParam gesetzt.

Parallelisierung

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

Scene3DScene3DScene3DScene3DScene3Dscene3D (output_control)  scene_3d HScene3D, HTupleHTupleHScene3D, HTupleHScene3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle der 3D-Szene.

Beispiel (HDevelop)

  * Create a new scene
  create_scene_3d (Scene)
  * A scene needs at least one camera. The default pose
  * of a camera is located at the origin. The pose can be
  * changed with set_scene_3d_camera_pose.
  add_scene_3d_camera (Scene, CameraParam, CameraIndex)
  * Further a scene needs at least one light.
  add_scene_3d_light (Scene, [42.0, 42.0, 42.0], 'point_light', LightIndex)
  *
  * To add an object, add_scene_3d_instance is called with a 
  * 3d object model and a pose. add_scene_3d returns an InstanceIndex
  * which must be used to reference this instance in subsequent calls.
  add_scene_3d_instance (Scene, ObjectModel3D, Pose, InstanceIndex)
  * Set its color.
  set_scene_3d_instance_param (Scene, InstanceIndex, 'color', 'green')
  * Display the scene.
  display_scene_3d (WindowHandle, Scene, CameraIndex)
  * Cleanup.
  clear_scene_3d (Scene)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert create_scene_3dcreate_scene_3dCreateScene3dcreate_scene_3dCreateScene3dCreateScene3d den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstance, add_scene_3d_lightadd_scene_3d_lightAddScene3dLightadd_scene_3d_lightAddScene3dLightAddScene3dLight, add_scene_3d_cameraadd_scene_3d_cameraAddScene3dCameraadd_scene_3d_cameraAddScene3dCameraAddScene3dCamera, set_scene_3d_paramset_scene_3d_paramSetScene3dParamset_scene_3d_paramSetScene3dParamSetScene3dParam

Siehe auch

clear_scene_3dclear_scene_3dClearScene3dclear_scene_3dClearScene3dClearScene3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren