Open 3D Engine AzToolsFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzToolsFramework::EditorTransformComponentSelectionRequests Class Referenceabstract

Provide interface for EditorTransformComponentSelection requests. More...

#include <EditorTransformComponentSelectionRequestBus.h>

Inherits AZ::EBusTraits.

Public Types

enum class  Mode { Rotation , Translation , Scale }
 What type of transform editing are we in.
 
enum class  RefreshType { Translation , Orientation , All }
 Specify the type of refresh (what type of transform modification caused the refresh).
 
enum class  Pivot { Object , Center }
 How is the pivot aligned (object/authored position or center).
 
using BusIdType = AzFramework::EntityContextId
 

Public Member Functions

virtual void SetTransformMode (Mode mode)=0
 Set what kind of transform the type that implements this bus should use.
 
virtual Mode GetTransformMode ()=0
 Return what transform mode the type that implements this bus is using.
 
virtual AZStd::optional< AZ::Transform > GetManipulatorTransform ()=0
 
virtual void RefreshManipulators (RefreshType refreshType)=0
 
virtual void OverrideManipulatorOrientation (const AZ::Quaternion &orientation)=0
 
virtual void OverrideManipulatorTranslation (const AZ::Vector3 &translation)=0
 
virtual void CopyTranslationToSelectedEntitiesIndividual (const AZ::Vector3 &translation)=0
 Copy translation to each individual entity so they all appear in the exact same position.
 
virtual void CopyTranslationToSelectedEntitiesGroup (const AZ::Vector3 &translation)=0
 Copy translation to manipulator position with each entity keeping the same relative position as before.
 
virtual void ResetTranslationForSelectedEntitiesLocal ()=0
 
virtual void CopyOrientationToSelectedEntitiesIndividual (const AZ::Quaternion &orientation)=0
 Copy orientation to each individual entity so they all appear in the exact same orientation.
 
virtual void CopyOrientationToSelectedEntitiesGroup (const AZ::Quaternion &orientation)=0
 Copy orientation to manipulator with each entity keeping the same relative orientation as before.
 
virtual void ResetOrientationForSelectedEntitiesLocal ()=0
 
virtual void CopyScaleToSelectedEntitiesIndividualLocal (float scale)=0
 Copy scale to each individual entity in local space without moving position.
 
virtual void CopyScaleToSelectedEntitiesIndividualWorld (float scale)=0
 Copy scale to to each individual entity in world (absolute) space.
 
virtual void SnapSelectedEntitiesToWorldGrid (float gridSize)=0
 Snap selected entities to be aligned with the world space grid.
 
virtual void OverrideComponentModeSwitcher (AZStd::shared_ptr< ComponentModeFramework::ComponentModeSwitcher >)=0
 Replace ComponentModeSwitcher with overridden ComponentModeSwitcher.
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 

Detailed Description

Provide interface for EditorTransformComponentSelection requests.

Member Function Documentation

◆ GetManipulatorTransform()

virtual AZStd::optional< AZ::Transform > AzToolsFramework::EditorTransformComponentSelectionRequests::GetManipulatorTransform ( )
pure virtual

Return the current Entity Manipulator transform. An AZStd::optional<AZ::Transform> is returned as if we do not have a selection there will be no Manipulator present. In this case we return an empty optional.

◆ OverrideManipulatorOrientation()

virtual void AzToolsFramework::EditorTransformComponentSelectionRequests::OverrideManipulatorOrientation ( const AZ::Quaternion &  orientation)
pure virtual

Set an orientation override for the Manipulator. Useful if we've picked another Entity transform to use as our reference point.

◆ OverrideManipulatorTranslation()

virtual void AzToolsFramework::EditorTransformComponentSelectionRequests::OverrideManipulatorTranslation ( const AZ::Vector3 &  translation)
pure virtual

Set a translation override for the Manipulator. Useful if we've picked another Entity transform to use as our reference point.

◆ RefreshManipulators()

virtual void AzToolsFramework::EditorTransformComponentSelectionRequests::RefreshManipulators ( RefreshType  refreshType)
pure virtual

Refresh the Manipulator based on the current entity selection. This may be useful if the Entity transform has been set outside of the EditorTransformComponentSelection and we want to make sure the Manipulator stays up to date (in sync) with the current Entity transform.

◆ ResetOrientationForSelectedEntitiesLocal()

virtual void AzToolsFramework::EditorTransformComponentSelectionRequests::ResetOrientationForSelectedEntitiesLocal ( )
pure virtual

Reset the orientation of an entity to the same orientation as its parent. Note: This will be the aligned to the world axes (identity) if the entity does not have a parent.

◆ ResetTranslationForSelectedEntitiesLocal()

virtual void AzToolsFramework::EditorTransformComponentSelectionRequests::ResetTranslationForSelectedEntitiesLocal ( )
pure virtual

Reset the translation of an entity to the same position as its parent. Note: This is a noop if the entity does not have a parent.


The documentation for this class was generated from the following file: