Open 3D Engine LmbrCentral Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
LmbrCentral Namespace Reference

Namespaces

 PolygonPrismUtil
 Small set of util functions for PolygonPrism.
 

Classes

class  AttachmentComponentRequests
 
class  AttachmentComponentNotifications
 
class  SkeletalHierarchyRequests
 
class  AudioEnvironmentComponentRequests
 
class  AudioListenerComponentRequests
 
class  AudioMultiPositionComponentRequests
 
class  AudioPreloadComponentRequests
 
class  AudioProxyComponentRequests
 
class  AudioRtpcComponentRequests
 
class  AudioSwitchComponentRequests
 
class  AudioSystemComponentRequests
 
class  AudioSystemComponentNotifications
 
class  AudioTriggerComponentRequests
 
class  BundlingSystemRequests
 
class  EditorWrappedComponentBase
 A base class for editor components that need to wrap runtime components, use a configuration object, and respond to visibility toggling. More...
 
class  DependencyMonitor
 
class  DependencyNotifications
 
class  CapsuleGeometrySystemRequests
 
class  TextureAsset
 
class  EditorTagComponentRequests
 
class  RandomTimedSpawnerComponentRequests
 
class  SimpleStateComponentRequests
 
class  SimpleStateComponentNotifications
 
class  SpawnerComponentRequests
 
class  SpawnerComponentNotifications
 
class  SpawnerConfig
 
class  TagGlobalRequests
 
class  TagGlobalNotifications
 
class  TagComponentRequests
 
class  TagComponentNotifications
 
class  BoxShapeConfig
 Configuration data for BoxShapeComponent. More...
 
class  BoxShapeComponentRequests
 Services provided by the Box Shape Component. More...
 
class  CapsuleShapeConfig
 Configuration data for CapsuleShapeComponent. More...
 
struct  CapsuleInternalEndPoints
 
class  CapsuleShapeComponentRequests
 Services provided by the Capsule Shape Component. More...
 
class  CompoundShapeConfiguration
 Configuration data for CompoundShapeConfiguration. More...
 
class  CompoundShapeComponentRequests
 Services provided by the Compound Shape Component. More...
 
class  CompoundShapeComponentHierarchyRequests
 Services provided by the Compound Shape Component hierarchy tests. More...
 
class  CylinderShapeConfig
 Configuration data for CylinderShapeComponent. More...
 
class  CylinderShapeComponentRequests
 Services provided by the Cylinder Shape Component. More...
 
class  DiskShapeConfig
 Configuration data for DiskShapeComponent. More...
 
class  DiskShapeComponentRequests
 Services provided by the Disk Shape Component. More...
 
class  EditorPolygonPrismShapeComponentRequests
 Services provided by the Editor Component of Polygon Prism Shape. More...
 
class  EditorShapeComponentRequests
 Services provided by the Editor Shape Component. More...
 
class  EditorSplineComponentNotifications
 Editor only listener for Spline changes. More...
 
class  EditorTubeShapeComponentRequests
 Editor specific TubeShapeComponent requests. More...
 
class  EditorTubeShapeComponentModeRequests
 Editor specific TubeShapeComponentMode requests. More...
 
class  PolygonPrismShapeComponentRequests
 Services provided by the Polygon Prism Shape Component. More...
 
class  PolygonPrismShapeComponentNotification
 Listener for polygon prism changes. More...
 
class  PolygonPrismShapeConfig
 
class  QuadShapeConfig
 Configuration data for QuadShapeComponent. More...
 
class  QuadShapeComponentRequests
 Services provided by the Quad Shape Component. More...
 
class  ReferenceShapeRequests
 
class  IntersectionTestDataCache
 Wrapper for cache of data used for intersection tests. More...
 
struct  ShapeComponentGeneric
 
class  ShapeComponentRequests
 Services provided by the Shape Component. More...
 
class  ShapeComponentNotifications
 Notifications sent by the shape component. More...
 
struct  ShapeDrawParams
 
class  ShapeComponentConfig
 
class  SphereShapeConfig
 Configuration data for SphereShapeComponent. More...
 
class  SphereShapeComponentRequests
 Services provided by the Sphere Shape Component. More...
 
class  SplineAttributeNotifications
 Messages broadcast when spline attributes are changed. More...
 
class  SplineAttribute
 Attributes are used to attach auxilary data to each vertex in a spline. @description The elements of the attribute are of homogenous type. New elements can not be added or removed manually as the number of elements always matches the number of vertices in the spline. More...
 
class  SplineComponentRequests
 Services provided by the Spline Component. More...
 
class  SplineComponentNotification
 Listener for spline changes. More...
 
class  TubeShapeComponentRequests
 Services provided by the TubeShapeComponent. More...
 
class  AssetSystemDebugComponent
 
class  AudioAreaEnvironmentComponent
 
class  AudioEnvironmentComponent
 
class  AudioListenerComponent
 
class  AudioMultiPositionComponent
 
class  AudioPreloadComponent
 
class  AudioProxyComponent
 
class  AudioRtpcComponent
 
class  AudioSwitchComponent
 
class  AudioSystemComponent
 
class  AudioTriggerComponent
 
class  EditorAudioAreaEnvironmentComponent
 
class  EditorAudioEnvironmentComponent
 
class  EditorAudioListenerComponent
 
class  EditorAudioMultiPositionComponent
 
class  EditorAudioPreloadComponent
 
class  EditorAudioRtpcComponent
 
class  EditorAudioSwitchComponent
 
class  EditorAudioTriggerComponent
 
struct  OpenBundleInfo
 
class  BundlingSystemComponent
 
class  EditorCommentComponent
 
struct  ReflectScriptableEvents
 
class  GeometrySystemComponent
 
class  LmbrCentralModule
 
class  LmbrCentralSystemComponent
 
class  LmbrCentralEditorModule
 
class  EntityDebugDisplayComponent
 
class  EditorLookAtComponent
 
class  EditorRandomTimedSpawnerConfiguration
 
class  EditorRandomTimedSpawnerComponent
 
class  EditorSpawnerComponent
 
class  EditorTagComponent
 
class  LookAtComponentRequests
 
class  LookAtComponentNotifications
 
class  LookAtComponent
 
class  RandomTimedSpawnerConfiguration
 
class  RandomTimedSpawnerComponent
 
class  State
 
class  SimpleStateComponent
 
class  SpawnerComponent
 
class  TagComponent
 
class  AxisAlignedBoxShape
 
class  AxisAlignedBoxShapeComponent
 Provide a Component interface for AxisAlignedBoxShape functionality. More...
 
class  AxisAlignedBoxShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for BoxShape. More...
 
class  BoxShape
 
class  BoxShapeComponent
 Provide a Component interface for BoxShape functionality. More...
 
class  BoxShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for BoxShape. More...
 
class  CapsuleShape
 
class  CapsuleShapeComponent
 Provide a Component interface for CapsuleShape functionality. More...
 
class  CapsuleShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for CapsuleShape. More...
 
class  CompoundShapeComponent
 
class  CylinderShape
 
class  CylinderShapeComponent
 Provide a Component interface for CylinderShape functionality. More...
 
class  CylinderShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for CylinderShape. More...
 
class  DiskShape
 Provide DiskShape functionality. More...
 
class  DiskShapeComponent
 Provide a Component interface for DiskShape functionality. More...
 
class  DiskShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for DiskShape. More...
 
class  EditorAxisAlignedBoxShapeComponent
 Editor representation of Box Shape Component. More...
 
class  EditorAxisAlignedBoxShapeComponentMode
 
class  EditorBaseShapeComponent
 Common functionality for Editor Component Shapes. More...
 
class  EditorBoxShapeComponent
 Editor representation of Box Shape Component. More...
 
class  EditorCapsuleShapeComponent
 
class  EditorCompoundShapeComponent
 
class  EditorCylinderShapeComponent
 
class  EditorDiskShapeComponent
 
class  EditorPolygonPrismShapeComponent
 
class  EditorPolygonPrismShapeComponentMode
 The specific ComponentMode responsible for handling polygon prism editing. More...
 
class  EditorQuadShapeComponent
 Editor representation of a rectangle in 3d space. More...
 
class  EditorReferenceShapeComponent
 
class  EditorSphereShapeComponent
 
class  EditorSplineComponent
 Editor representation of SplineComponent. More...
 
class  EditorSplineComponentMode
 The specific ComponentMode responsible for handling Spline Component editing. More...
 
class  EditorTubeShapeComponent
 Editor representation of a tube shape. More...
 
class  EditorTubeShapeComponentMode
 ComponentMode designed for providing Viewport Editing of TubeShape. More...
 
struct  PolygonPrismMesh
 Buffer to store triangles of top and bottom of Polygon Prism. More...
 
class  PolygonPrismShape
 
class  PolygonPrismShapeComponent
 
class  PolygonPrismShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for PolygonPrismShape. More...
 
class  QuadShape
 Provide QuadShape functionality. More...
 
class  QuadShapeComponent
 Provide a Component interface for QuadShape functionality. More...
 
class  QuadShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for QuadShape. More...
 
class  ReferenceShapeConfig
 
class  ReferenceShapeComponent
 
struct  ShapeMesh
 
class  SphereShape
 Provide SphereShape functionality. More...
 
class  SphereShapeComponent
 Provide a Component interface for SphereShape functionality. More...
 
class  SphereShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for SphereShape. More...
 
class  SplineCommon
 Common functionality and data for the SplineComponent. More...
 
class  SplineComponent
 Component interface to core spline implementation. More...
 
class  TubeShape
 
struct  TubeShapeMeshConfig
 Configuration for how TubeShape debug drawing should appear (tesselation parameters etc). More...
 
class  TubeShapeComponent
 Provide a Component interface for TubeShape functionality. More...
 
class  TubeShapeDebugDisplayComponent
 Concrete EntityDebugDisplay implementation for TubeShape. More...
 
class  TextureMipmapAssetTypeInfo
 
class  AudioAssetTypeInfo
 
class  CharacterPhysicsAssetTypeInfo
 
class  EntityPrototypeLibraryAssetTypeInfo
 
class  GameTokenAssetTypeInfo
 
class  GroupAssetTypeInfo
 
class  PrefabsLibraryAssetTypeInfo
 
class  SubstanceAssetTypeInfo
 
class  TextureAssetTypeInfo
 
class  EntityIconAssetTypeInfo
 
class  FontAssetTypeInfo
 
class  UICanvasAssetTypeInfo
 

Typedefs

using AttachmentComponentRequestBus = AZ::EBus< AttachmentComponentRequests >
 
using AttachmentComponentNotificationBus = AZ::EBus< AttachmentComponentNotifications >
 
using SkeletalHierarchyRequestBus = AZ::EBus< SkeletalHierarchyRequests >
 
using AudioEnvironmentComponentRequestBus = AZ::EBus< AudioEnvironmentComponentRequests >
 
using AudioListenerComponentRequestBus = AZ::EBus< AudioListenerComponentRequests >
 
using AudioMultiPositionComponentRequestBus = AZ::EBus< AudioMultiPositionComponentRequests >
 
using AudioPreloadComponentRequestBus = AZ::EBus< AudioPreloadComponentRequests >
 
using AudioProxyComponentRequestBus = AZ::EBus< AudioProxyComponentRequests >
 
using AudioRtpcComponentRequestBus = AZ::EBus< AudioRtpcComponentRequests >
 
using AudioSwitchComponentRequestBus = AZ::EBus< AudioSwitchComponentRequests >
 
using AudioSystemComponentRequestBus = AZ::EBus< AudioSystemComponentRequests >
 
using AudioSystemComponentNotificationBus = AZ::EBus< AudioSystemComponentNotifications >
 
using AudioTriggerComponentRequestBus = AZ::EBus< AudioTriggerComponentRequests >
 
using BundlingSystemRequestBus = AZ::EBus< BundlingSystemRequests >
 
typedef AZ::EBus< DependencyNotificationsDependencyNotificationBus
 
using CapsuleGeometrySystemRequestBus = AZ::EBus< CapsuleGeometrySystemRequests >
 
using EditorTags = AZStd::vector< AZStd::string >
 
using EditorTagComponentRequestBus = AZ::EBus< EditorTagComponentRequests >
 
using RandomTimedSpawnerComponentRequestBus = AZ::EBus< RandomTimedSpawnerComponentRequests >
 
using SimpleStateComponentRequestBus = AZ::EBus< SimpleStateComponentRequests >
 
using SimpleStateComponentNotificationBus = AZ::EBus< SimpleStateComponentNotifications >
 
using SpawnerComponentRequestBus = AZ::EBus< SpawnerComponentRequests >
 
using SpawnerComponentNotificationBus = AZ::EBus< SpawnerComponentNotifications >
 
using Tag = AZ::Crc32
 
using Tags = AZStd::unordered_set< Tag >
 
using TagGlobalRequestBus = AZ::EBus< TagGlobalRequests >
 
using TagGlobalNotificationBus = AZ::EBus< TagGlobalNotifications >
 
using TagComponentRequestBus = AZ::EBus< TagComponentRequests >
 
using TagComponentNotificationsBus = AZ::EBus< TagComponentNotifications >
 
using BoxShapeComponentRequestsBus = AZ::EBus< BoxShapeComponentRequests >
 
using CapsuleShapeComponentRequestsBus = AZ::EBus< CapsuleShapeComponentRequests >
 
using CompoundShapeComponentRequestsBus = AZ::EBus< CompoundShapeComponentRequests >
 
using CompoundShapeComponentHierarchyRequestsBus = AZ::EBus< CompoundShapeComponentHierarchyRequests >
 
using CylinderShapeComponentRequestsBus = AZ::EBus< CylinderShapeComponentRequests >
 
using DiskShapeComponentRequestBus = AZ::EBus< DiskShapeComponentRequests >
 
using EditorPolygonPrismShapeComponentRequestsBus = AZ::EBus< EditorPolygonPrismShapeComponentRequests >
 Type to inherit to provide EditorPolygonPrismShapeComponentRequests.
 
using EditorShapeComponentRequestsBus = AZ::EBus< EditorShapeComponentRequests >
 
using EditorSplineComponentNotificationBus = AZ::EBus< EditorSplineComponentNotifications >
 Type to inherit to provide EditorPolygonPrismShapeComponentRequests.
 
using EditorTubeShapeComponentRequestBus = AZ::EBus< EditorTubeShapeComponentRequests >
 Type to inherit to provide EditorTubeShapeComponentRequests.
 
using EditorTubeShapeComponentModeRequestBus = AZ::EBus< EditorTubeShapeComponentModeRequests >
 Type to inherit to provide EditorTubeShapeComponentRequests.
 
using PolygonPrismShapeComponentRequestBus = AZ::EBus< PolygonPrismShapeComponentRequests, AZ::ComponentBus >
 Bus to service the Polygon Prism Shape component event group.
 
using PolygonPrismShapeComponentNotificationBus = AZ::EBus< PolygonPrismShapeComponentNotification >
 Bus to service the polygon prism shape component notification group.
 
using QuadShapeComponentRequestBus = AZ::EBus< QuadShapeComponentRequests >
 
using ReferenceShapeRequestBus = AZ::EBus< ReferenceShapeRequests >
 
using ShapeComponentRequestsBus = AZ::EBus< ShapeComponentRequests >
 
using ShapeComponentNotificationsBus = AZ::EBus< ShapeComponentNotifications >
 
using SphereShapeConfiguration = SphereShapeConfig
 
using SphereShapeComponentRequestsBus = AZ::EBus< SphereShapeComponentRequests >
 
using SplineAttributeNotificationBus = AZ::EBus< SplineAttributeNotifications >
 
using SplineComponentRequestBus = AZ::EBus< SplineComponentRequests, AZ::ComponentBus >
 Bus to service the Spline component event group.
 
using SplineComponentNotificationBus = AZ::EBus< SplineComponentNotification >
 Bus to service the spline component notification group.
 
using TubeShapeComponentRequestsBus = AZ::EBus< TubeShapeComponentRequests >
 Bus to service the TubeShapeComponent event group.
 
using LookAtComponentRequestBus = AZ::EBus< LookAtComponentRequests >
 
using LookAtComponentNotificationBus = AZ::EBus< LookAtComponentNotifications >
 

Enumerations

enum class  InvalidateShapeCacheReason { TransformChange , ShapeChange }
 Reason shape cache should be recalculated. More...
 
enum class  SplineType { LINEAR = 0 , BEZIER , CATMULL_ROM }
 

Functions

template<typename TComponent , typename TConfiguration , int TVersion>
bool EditorWrappedComponentBaseVersionConverter (AZ::SerializeContext &context, AZ::SerializeContext::DataElementNode &classElement)
 
template<typename T >
void GetProvidedServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &, const AZStd::false_type &)
 
template<typename T >
void GetProvidedServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &services, const AZStd::true_type &)
 
template<typename T >
void GetRequiredServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &, const AZStd::false_type &)
 
template<typename T >
void GetRequiredServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &services, const AZStd::true_type &)
 
template<typename T >
void GetIncompatibleServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &, const AZStd::false_type &)
 
template<typename T >
void GetIncompatibleServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &services, const AZStd::true_type &)
 
template<typename T >
void GetDependentServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &, const AZStd::false_type &)
 
template<typename T >
void GetDependentServicesHelper (AZ::ComponentDescriptor::DependencyArrayType &services, const AZStd::true_type &)
 
void DrawBoxShape (const ShapeDrawParams &shapeDrawParams, const BoxShapeConfig &boxShapeConfig, AzFramework::DebugDisplayRequests &debugDisplay, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne())
 
void DrawCylinderShape (const ShapeDrawParams &shapeDrawParams, const CylinderShapeConfig &cylinderShapeConfig, AzFramework::DebugDisplayRequests &debugDisplay)
 
void DrawDiskShape (const ShapeDrawParams &shapeDrawParams, const DiskShapeConfig &diskShapeConfig, AzFramework::DebugDisplayRequests &debugDisplay)
 
AZStd::vector< EditorTubeShapeComponentMode::TubeManipulatorStateGenerateTubeManipulatorStates (const AZ::Spline &spline)
 
void GeneratePolygonPrismMesh (const AZStd::vector< AZ::Vector2 > &vertices, float height, const AZ::Vector3 &nonUniformScale, PolygonPrismMesh &polygonPrismMeshOut)
 Generate mesh used for rendering top and bottom of PolygonPrism shape.
 
void DrawPolygonPrismShape (const ShapeDrawParams &shapeDrawParams, const PolygonPrismMesh &polygonPrismMesh, AzFramework::DebugDisplayRequests &debugDisplay)
 
void DrawQuadShape (const ShapeDrawParams &shapeDrawParams, const QuadShapeConfig &quadShapeConfig, AzFramework::DebugDisplayRequests &debugDisplay, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne())
 
template<typename CanDraw , typename DrawShape >
void DisplayShape (AzFramework::DebugDisplayRequests &debugDisplay, CanDraw &&canDraw, DrawShape &&drawShape, const AZ::Transform &worldFromLocal)
 Helper function to be used when drawing debug shapes - called from DisplayEntity on the EntityDebugDisplayEventBus. More...
 
AZ::u32 * WriteTriangle (AZ::u32 a, AZ::u32 b, AZ::u32 c, AZ::u32 *indices)
 Writes 3 indices (1 tri) to the buffer and returns a pointer to the next index.
 
AZ::Vector3 * WriteVertex (const AZ::Vector3 &vertex, AZ::Vector3 *vertices)
 Writes a vertex to the buffer and returns a pointer to the next vertex.
 
void DrawShape (AzFramework::DebugDisplayRequests &debugDisplay, const ShapeDrawParams &shapeDrawParams, const ShapeMesh &shapeMesh, const AZ::Vector3 &shapeOffset=AZ::Vector3::CreateZero())
 Draw a ShapeMesh (previously generated vertices, indices and lines).
 
AZStd::vector< AZ::Vector3 > GenerateTriangles (AZStd::vector< AZ::Vector2 > vertices)
 
bool ClockwiseOrder (const AZStd::vector< AZ::Vector2 > &vertices)
 
void DrawSphereShape (const ShapeDrawParams &shapeDrawParams, const SphereShapeConfig &sphereShapeConfig, AzFramework::DebugDisplayRequests &debugDisplay)
 
void GenerateTubeMesh (const AZ::SplinePtr &spline, const SplineAttribute< float > &variableRadius, float radius, AZ::u32 capSegments, AZ::u32 sides, AZStd::vector< AZ::Vector3 > &vertexBufferOut, AZStd::vector< AZ::u32 > &indexBufferOut, AZStd::vector< AZ::Vector3 > &lineBufferOut)
 Generates a Tube mesh with filled surface and outlines.
 

Variables

constexpr AZ::TypeId EditorRandomTimedSpawnerComponentTypeId { "{6D3E32F0-1971-416B-86DE-4B5EB6E2139E}" }
 
constexpr AZ::TypeId RandomTimedSpawnerComponentTypeId { "{8EE9EC2C-1CC9-4F88-968F-CFD20C380694}" }
 
constexpr AZ::TypeId SpawnerComponentTypeId { "{8022A627-DD76-5432-C75A-7234AC2798C1}" }
 
constexpr AZ::TypeId DeprecatedSpawnerComponentTypeId { "{8022A627-FA7D-4516-A155-657A0927A3CA}" }
 
constexpr AZ::TypeId BoxShapeComponentTypeId { "{5EDF4B9E-0D3D-40B8-8C91-5142BCFC30A6}" }
 Type ID for the BoxShapeComponent.
 
constexpr AZ::TypeId EditorBoxShapeComponentTypeId { "{2ADD9043-48E8-4263-859A-72E0024372BF}" }
 Type ID for the EditorBoxShapeComponent.
 
constexpr AZ::TypeId BoxShapeConfigTypeId { "{F034FBA2-AC2F-4E66-8152-14DFB90D6283}" }
 Type ID for the BoxShapeConfig.
 
constexpr AZ::TypeId AxisAlignedBoxShapeComponentTypeId { "{641D817E-1BC6-406A-BBB2-218541808E45}" }
 Type ID for the AxisAlignedBoxShapeComponent.
 
constexpr AZ::TypeId EditorAxisAlignedBoxShapeComponentTypeId { "{8C027DF6-E157-4159-9BF8-F1B925466F1F}" }
 Type ID for the EditorAxisAlignedBoxShapeComponent.
 
constexpr AZ::TypeId CapsuleShapeComponentTypeId { "{967EC13D-364D-4696-AB5C-C00CC05A2305}" }
 Type ID for CapsuleShapeComponent.
 
constexpr AZ::TypeId EditorCapsuleShapeComponentTypeId { "{06B6C9BE-3648-4DA2-9892-755636EF6E19}" }
 Type ID for EditorCapsuleShapeComponent.
 
constexpr AZ::TypeId EditorCompoundShapeComponentTypeId { "{837AA0DF-9C14-4311-8410-E7983E1F4B8D}" }
 
constexpr AZ::TypeId CylinderShapeComponentTypeId { "{B0C6AA97-E754-4E33-8D32-33E267DB622F}" }
 Type ID of CylinderShapeComponent.
 
constexpr AZ::TypeId EditorCylinderShapeComponentTypeId { "{D5FC4745-3C75-47D9-8C10-9F89502487DE}" }
 Type ID of EditorCylinderShapeComponent.
 
constexpr AZ::TypeId DiskShapeComponentTypeId { "{A3E6BE21-29B7-46AA-8B0E-1D8372DADA3F}" }
 Type ID for DiskShapeComponent.
 
constexpr AZ::TypeId EditorDiskShapeComponentTypeId { "{5CD2459F-9D51-4FA3-9D35-D1A2C65ED272}" }
 Type ID for EditorDiskShapeComponent.
 
constexpr AZ::TypeId EditorPolygonPrismShapeComponentTypeId { "{5368F204-FE6D-45C0-9A4F-0F933D90A785}" }
 
constexpr AZ::TypeId QuadShapeComponentTypeId { "{A2205305-1087-4D34-A23F-2A68D6CA333A}" }
 Type ID for QuadShapeComponent.
 
constexpr AZ::TypeId EditorQuadShapeComponentTypeId { "{E8E60770-40E9-426F-B134-3964BF8BDD84}" }
 Type ID for EditorQuadShapeComponent.
 
constexpr AZ::TypeId EditorReferenceShapeComponentTypeId { "{21BC79CA-C2F4-428F-AF2E-B76E233D4254}" }
 
constexpr AZ::TypeId SphereShapeComponentTypeId { "{E24CBFF0-2531-4F8D-A8AB-47AF4D54BCD2}" }
 Type ID for SphereShapeComponent.
 
constexpr AZ::TypeId EditorSphereShapeComponentTypeId { "{2EA56CBF-63C8-41D9-84D5-0EC2BECE748E}" }
 Type ID for EditorSphereShapeComponent.
 
constexpr AZ::TypeId TubeShapeComponentTypeId { "{9C39E3A4-EEE8-4047-ADE2-376A1BFCB3D1}" }
 Type ID for TubeShapeComponent.
 
constexpr AZ::TypeId EditorTubeShapeComponentTypeId { "{F969BE9D-08E3-4E6B-B16D-E73E1F3C740A}" }
 Type ID for EditorTubeShapeComponent.
 
const AZ::u32 g_capsuleDebugShapeSides
 
const AZ::u32 g_capsuleDebugShapeCapSegments
 
constexpr AZ::TypeId ReferenceShapeComponentTypeId { "{EB9C6DC1-900F-4CE8-AA00-81361127063A}" }
 
const ShapeDrawParams g_defaultShapeDrawParams
 

Detailed Description

LmbrCentral ties together systems from CryEngine and systems from the AZ framework.

Typedef Documentation

◆ EditorTags

using LmbrCentral::EditorTags = typedef AZStd::vector<AZStd::string>

In the editor, the Tag Component consists of strings, and thus if you want to manipulate tags at editor time instead of runtime, you need to use this bus instead (which sets/gets/adds/removes strings) note that the Editor Tag Component will still send the appropriate Tag Added / Tag Removed / other similar messages using the underlying CRC engine system, so you can use that to query tags still.

◆ SphereShapeConfiguration

Enumeration Type Documentation

◆ InvalidateShapeCacheReason

Reason shape cache should be recalculated.

Enumerator
TransformChange 

The cache is invalid because the transform of the entity changed.

ShapeChange 

The cache is invalid because the shape configuration/properties changed.

Function Documentation

◆ ClockwiseOrder()

bool LmbrCentral::ClockwiseOrder ( const AZStd::vector< AZ::Vector2 > &  vertices)

Determine if a list of ordered vertices have clockwise winding order. http://blog.element84.com/polygon-winding.html

◆ DisplayShape()

template<typename CanDraw , typename DrawShape >
void LmbrCentral::DisplayShape ( AzFramework::DebugDisplayRequests &  debugDisplay,
CanDraw &&  canDraw,
DrawShape &&  drawShape,
const AZ::Transform &  worldFromLocal 
)

Helper function to be used when drawing debug shapes - called from DisplayEntity on the EntityDebugDisplayEventBus.

Parameters
handledDid we display anything.
canDrawFunctor to decide should the shape be drawn or not.
drawShapeFunctor to draw a specific shape (box/capsule/sphere etc).
worldFromLocalTransform of object in world space, push to matrix stack and render shape in local space.

◆ GenerateTriangles()

AZStd::vector<AZ::Vector3> LmbrCentral::GenerateTriangles ( AZStd::vector< AZ::Vector2 >  vertices)

Return a vector of vertices representing a list of triangles to render (CCW). This is implemented using the Ear Clipping method: (https://www.gamedev.net/articles/programming/graphics/polygon-triangulation-r3334/)

Parameters
verticesList of vertices to process (pass by value as vertices is modified inside the function so must be copied).

◆ GenerateTubeManipulatorStates()

AZStd::vector<EditorTubeShapeComponentMode::TubeManipulatorState> LmbrCentral::GenerateTubeManipulatorStates ( const AZ::Spline &  spline)

For a given Tube + Spline combo, generate data required for each manipulator at each vertex required for modifying the tube.

Variable Documentation

◆ EditorCompoundShapeComponentTypeId

constexpr AZ::TypeId LmbrCentral::EditorCompoundShapeComponentTypeId { "{837AA0DF-9C14-4311-8410-E7983E1F4B8D}" }
inlineconstexpr

◆ EditorPolygonPrismShapeComponentTypeId

constexpr AZ::TypeId LmbrCentral::EditorPolygonPrismShapeComponentTypeId { "{5368F204-FE6D-45C0-9A4F-0F933D90A785}" }
inlineconstexpr

◆ g_defaultShapeDrawParams

const ShapeDrawParams LmbrCentral::g_defaultShapeDrawParams
Initial value:
= {
AzFramework::ViewportColors::DeselectedColor,
AzFramework::ViewportColors::WireColor,
true
}