create_scene_3dT_create_scene_3dCreateScene3dCreateScene3dcreate_scene_3d创建场景三维(算子)

名称

create_scene_3dT_create_scene_3dCreateScene3dCreateScene3dcreate_scene_3d — 创建可视化三维对象集合所需的数据结构。

签名

create_scene_3d( : : : Scene3D)

Herror T_create_scene_3d(Htuple* Scene3D)

void CreateScene3d(HTuple* Scene3D)

void HScene3D::HScene3D()

void HScene3D::CreateScene3d()

static void HOperatorSet.CreateScene3d(out HTuple scene3D)

public HScene3D()

void HScene3D.CreateScene3d()

def create_scene_3d() -> HHandle

描述

create_scene_3dcreate_scene_3dCreateScene3dCreateScene3dCreateScene3dcreate_scene_3d 用于创建一个新的 3D 场景,并将结果返回给 Scene3DScene3DScene3DScene3Dscene3Dscene_3d

三维场景是由三维对象模型、相机和光源实例组成的集合。使用 add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstanceAddScene3dInstanceadd_scene_3d_instanceadd_scene_3d_cameraadd_scene_3d_cameraAddScene3dCameraAddScene3dCameraAddScene3dCameraadd_scene_3d_cameraadd_scene_3d_lightadd_scene_3d_lightAddScene3dLightAddScene3dLightAddScene3dLightadd_scene_3d_light 算子将这些对象添加到 Scene3DScene3DScene3DScene3Dscene3Dscene_3d 中。使用 display_scene_3ddisplay_scene_3dDisplayScene3dDisplayScene3dDisplayScene3ddisplay_scene_3d 可在窗口中显示三维场景。

场景中的每个实例都关联有一个姿态(通过 add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstanceAddScene3dInstanceadd_scene_3d_instanceset_scene_3d_instance_poseset_scene_3d_instance_poseSetScene3dInstancePoseSetScene3dInstancePoseSetScene3dInstancePoseset_scene_3d_instance_pose 设置),该姿态表示该实例在场景坐标系 SCS 中的位置。可通过 set_scene_3d_to_world_poseset_scene_3d_to_world_poseSetScene3dToWorldPoseSetScene3dToWorldPoseSetScene3dToWorldPoseset_scene_3d_to_world_pose 设置场景在世界坐标系 WCS 中的姿态。可通过 set_scene_3d_camera_poseset_scene_3d_camera_poseSetScene3dCameraPoseSetScene3dCameraPoseSetScene3dCameraPoseset_scene_3d_camera_pose 设置相机在世界坐标系中的姿态,并定义相机坐标系 CCS。

WCS SCS CCS
三维场景中的坐标系

可以通过 set_scene_3d_paramset_scene_3d_paramSetScene3dParamSetScene3dParamSetScene3dParamset_scene_3d_param 设置影响整个场景的参数,例如渲染质量。

执行信息

此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。

参数

Scene3DScene3DScene3DScene3Dscene3Dscene_3d (输出控制)  scene_3d HScene3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

3D 场景的句柄。

示例(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)
  clear_scene_3d (Scene)

结果

create_scene_3dcreate_scene_3dCreateScene3dCreateScene3dCreateScene3dcreate_scene_3d 返回 2 (H_MSG_TRUE),当场景创建成功。如有必要,则抛出异常。

可能的后继

add_scene_3d_instanceadd_scene_3d_instanceAddScene3dInstanceAddScene3dInstanceAddScene3dInstanceadd_scene_3d_instance, add_scene_3d_lightadd_scene_3d_lightAddScene3dLightAddScene3dLightAddScene3dLightadd_scene_3d_light, add_scene_3d_cameraadd_scene_3d_cameraAddScene3dCameraAddScene3dCameraAddScene3dCameraadd_scene_3d_camera, set_scene_3d_paramset_scene_3d_paramSetScene3dParamSetScene3dParamSetScene3dParamset_scene_3d_param

另见

clear_scene_3dclear_scene_3dClearScene3dClearScene3dClearScene3dclear_scene_3d

模块

三维计量