载入中...
搜索中...
未找到
eve::scene_editor::ScenePhysicsPlacementBackend类 参考final

Real Box3D-backed, non-destructive simulation backend for scene placement. 更多...

#include <ScenePhysicsPlacement.h>

类 eve::scene_editor::ScenePhysicsPlacementBackend 继承关系图:
eve::editor::IEditorSimulationBackend

类

struct  Impl
 

Public 成员函数

 ~ScenePhysicsPlacementBackend () override
 Scene physics placement backend.
 
 ScenePhysicsPlacementBackend (const ScenePhysicsPlacementBackend &)=delete
 
ScenePhysicsPlacementBackend & operator= (const ScenePhysicsPlacementBackend &)=delete
 
std::unique_ptr< editor::IEditorSimulationBackend > cloneForPreview () const override
 Rebuild an independent preview with the same admitted scene and handle.
 
editing::Result< void > step (std::uint64_t tick, double fixedDelta) override
 Advance exactly one increasing fixed tick.
 
editing::Result< std::vector< editor::SimulationObjectSample > > capture () const override
 Capture stable selected-object transforms for generic preview tooling.
 
editing::Result< void > setHandlePosition (double x, double y, double z)
 Move the shared world-space placement handle without advancing simulation.
 
editing::Result< void > setHandleRotation (double x, double y, double z)
 Rotate the shared placement handle using XYZ Euler radians without advancing simulation.
 
editing::Result< void > setHandleScale (double x, double y, double z)
 Scale the shared placement handle, resizing selected colliders without advancing simulation.
 
editing::Result< void > alignHandleToSurface (double fromX, double fromY, double fromZ, double toX, double toY, double toZ, double offset=0.0)
 Align selection up to the nearest non-selected ray hit and place it outside the surface.
 
editing::Result< PhysicsPlacementFrame > placementFrame () const
 Capture all admitted objects, retaining bounds and selection metadata.
 
editing::Revision sourceRevision () const noexcept
 Revision copied from the scene when this candidate was admitted.
 
- Public 成员函数 继承自 eve::editor::IEditorSimulationBackend
virtual ~IEditorSimulationBackend ()=default
 Releases IEditorSimulationBackend resources.
 

静态 Public 成员函数

static editing::Result< std::unique_ptr< ScenePhysicsPlacementBackend > > create (PhysicsPlacementRequest request)
 Validate and build an isolated placement world.
 

详细描述

Real Box3D-backed, non-destructive simulation backend for scene placement.

The backend owns a private physics world and wrapper objects. Scene state is copied at admission and is never mutated by stepping. Selected objects are driven toward a shared handle while collision resolution remains authoritative inside the preview. The class is owner-thread-only and invokes no callbacks.

在文件 ScenePhysicsPlacement.h 第 138 行定义.

构造及析构函数说明

◆ ~ScenePhysicsPlacementBackend()

eve::scene_editor::ScenePhysicsPlacementBackend::~ScenePhysicsPlacementBackend ( )
overridedefault

Scene physics placement backend.

◆ ScenePhysicsPlacementBackend()

eve::scene_editor::ScenePhysicsPlacementBackend::ScenePhysicsPlacementBackend ( const ScenePhysicsPlacementBackend &  )
delete

成员函数说明

◆ alignHandleToSurface()

editing::Result< void > eve::scene_editor::ScenePhysicsPlacementBackend::alignHandleToSurface ( double  fromX,
double  fromY,
double  fromZ,
double  toX,
double  toY,
double  toZ,
double  offset = 0.0 
)

Align selection up to the nearest non-selected ray hit and place it outside the surface.

在文件 ScenePhysicsPlacement.cpp 第 354 行定义.

引用了 body, error, finite, hit, index, mask, normal, offset , 以及 target.

◆ capture()

editing::Result< std::vector< editor::SimulationObjectSample > > eve::scene_editor::ScenePhysicsPlacementBackend::capture ( ) const
overridevirtual

Capture stable selected-object transforms for generic preview tooling.

实现了 eve::editor::IEditorSimulationBackend.

在文件 ScenePhysicsPlacement.cpp 第 538 行定义.

◆ cloneForPreview()

std::unique_ptr< editor::IEditorSimulationBackend > eve::scene_editor::ScenePhysicsPlacementBackend::cloneForPreview ( ) const
overridevirtual

Rebuild an independent preview with the same admitted scene and handle.

实现了 eve::editor::IEditorSimulationBackend.

在文件 ScenePhysicsPlacement.cpp 第 316 行定义.

引用了 create().

◆ create()

editing::Result< std::unique_ptr< ScenePhysicsPlacementBackend > > eve::scene_editor::ScenePhysicsPlacementBackend::create ( PhysicsPlacementRequest  request)
static

◆ operator=()

ScenePhysicsPlacementBackend & eve::scene_editor::ScenePhysicsPlacementBackend::operator= ( const ScenePhysicsPlacementBackend &  )
delete

◆ placementFrame()

◆ setHandlePosition()

editing::Result< void > eve::scene_editor::ScenePhysicsPlacementBackend::setHandlePosition ( double  x,
double  y,
double  z 
)

Move the shared world-space placement handle without advancing simulation.

在文件 ScenePhysicsPlacement.cpp 第 329 行定义.

引用了 finite, x, y , 以及 z.

◆ setHandleRotation()

editing::Result< void > eve::scene_editor::ScenePhysicsPlacementBackend::setHandleRotation ( double  x,
double  y,
double  z 
)

Rotate the shared placement handle using XYZ Euler radians without advancing simulation.

在文件 ScenePhysicsPlacement.cpp 第 337 行定义.

引用了 finite, x, y , 以及 z.

◆ setHandleScale()

editing::Result< void > eve::scene_editor::ScenePhysicsPlacementBackend::setHandleScale ( double  x,
double  y,
double  z 
)

Scale the shared placement handle, resizing selected colliders without advancing simulation.

在文件 ScenePhysicsPlacement.cpp 第 346 行定义.

引用了 finite, x, y , 以及 z.

◆ sourceRevision()

editing::Revision eve::scene_editor::ScenePhysicsPlacementBackend::sourceRevision ( ) const
noexcept

Revision copied from the scene when this candidate was admitted.

在文件 ScenePhysicsPlacement.cpp 第 593 行定义.

◆ step()


该类的文档由以下文件生成: