Open 3D Engine AzFramework 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.
AzFramework::PaintBrushSystemComponent Class Reference

PaintBrushSystemComponent generically manages runtime paint brush sessions for any components that support runtime painting. More...

#include <PaintBrushSystemComponent.h>

Inherits AZ::Component, and AzFramework::PaintBrushSessionBus::Handler.

Public Member Functions

 AZ_COMPONENT (PaintBrushSystemComponent, "{EB1CDA1E-A2FD-4AEF-AFBF-B39ED18463AE}")
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

void Activate () override
 
void Deactivate () override
 
AZ::Uuid StartPaintSession (const AZ::EntityId &paintableEntityId) override
 
void EndPaintSession (const AZ::Uuid &sessionId) override
 
void BeginBrushStroke (const AZ::Uuid &sessionId, const AzFramework::PaintBrushSettings &brushSettings) override
 
void EndBrushStroke (const AZ::Uuid &sessionId) override
 
bool IsInBrushStroke (const AZ::Uuid &sessionId) const override
 
void ResetBrushStrokeTracking (const AZ::Uuid &sessionId) override
 
void PaintToLocation (const AZ::Uuid &sessionId, const AZ::Vector3 &brushCenter, const AzFramework::PaintBrushSettings &brushSettings) override
 
void SmoothToLocation (const AZ::Uuid &sessionId, const AZ::Vector3 &brushCenter, const AzFramework::PaintBrushSettings &brushSettings) override
 

Protected Attributes

AZStd::unordered_map< AZ::Uuid, AZStd::shared_ptr< AzFramework::PaintBrush > > m_brushSessions
 

Detailed Description

PaintBrushSystemComponent generically manages runtime paint brush sessions for any components that support runtime painting.

Member Data Documentation

◆ m_brushSessions

AZStd::unordered_map<AZ::Uuid, AZStd::shared_ptr<AzFramework::PaintBrush> > AzFramework::PaintBrushSystemComponent::m_brushSessions
protected

Tracks one PaintBrush instance per paint session. These are only used to support the PaintBrushSessionBus. When painting in the Editor, the Editor tracks its own PaintBrush instance that gets used in conjunction with mouse tracking, manipulator drawing, etc. These PaintBrush instances only exist between StartPaintSession and EndPaintSession.


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