1#line 1 "D:/Jenkins/workspace/EMS/ECG/ufe/full/ufe-full-python3.11-windows/ufe/include/light2.h"
32 typedef std::shared_ptr<LightInterface>
Ptr;
44 typedef std::shared_ptr<AreaLightInterface>
Ptr;
66 if (
auto cmd = normalizeCmd(nl)) {
83 if (
auto cmd = widthCmd(w)) {
90 virtual float width()
const = 0;
100 if (
auto cmd = heightCmd(h)) {
113 typedef std::shared_ptr<Light2>
Ptr;
264 if (
auto cmd = intensityCmd(li)) {
287 virtual void color(
float r,
float g,
float b) {
288 if (
auto cmd = colorCmd(r, g, b)) {
310 if (
auto cmd = shadowEnableCmd(se)) {
334 if (
auto cmd = shadowColorCmd(r, g, b)) {
357 if (
auto cmd = diffuseCmd(ld)) {
380 if (
auto cmd = specularCmd(ls)) {
virtual bool normalize() const =0
virtual NormalizeUndoableCommand::Ptr normalizeCmd(bool nl)=0
virtual void height(float h)
virtual void width(float w)
virtual HeightUndoableCommand::Ptr heightCmd(float h)=0
AreaLightInterface()
Constructor.
AreaLightInterface(const AreaLightInterface &)=default
Default copy constructor.
virtual float width() const =0
std::shared_ptr< AreaLightInterface > Ptr
virtual float height() const =0
virtual WidthUndoableCommand::Ptr widthCmd(float w)=0
virtual ~AreaLightInterface() override
Destructor.
virtual void normalize(bool nl)
virtual float specular() const =0
virtual void shadowColor(float r, float g, float b)
std::shared_ptr< Light2 > Ptr
virtual void diffuse(float ld)
virtual UndoableCommand::Ptr setMetadataCmd(const std::string &key, const Value &value)
virtual ~Light2()
Destructor.
virtual const Path & path() const =0
virtual IntensityUndoableCommand::Ptr intensityCmd(float li)=0
std::vector< LightInterface::Ptr > interfaces
A collection of LightInterface pointers that this light supports.
virtual ShadowColorUndoableCommand::Ptr shadowColorCmd(float r, float g, float b)=0
virtual ColorUndoableCommand::Ptr colorCmd(float r, float g, float b)=0
virtual bool clearMetadata(const std::string &key)=0
virtual DiffuseUndoableCommand::Ptr diffuseCmd(float ld)=0
static Ptr light(const SceneItem::Ptr &item)
virtual Value getMetadata(const std::string &key) const =0
static void notify(const Ufe::LightChanged ¬ification)
virtual SceneItem::Ptr sceneItem() const =0
virtual UndoableCommand::Ptr clearMetadataCmd(const std::string &key)
virtual bool setMetadata(const std::string &key, const Value &value)=0
virtual float intensity() const =0
virtual void shadowEnable(bool se)
static bool hasObserver(const SceneItem::Ptr &item, const Observer::Ptr &obs)
static bool hasObservers(const Path &path)
static bool addObserver(const SceneItem::Ptr &item, const Observer::Ptr &obs)
virtual SpecularUndoableCommand::Ptr specularCmd(float ls)=0
virtual void color(float r, float g, float b)
virtual ShadowEnableUndoableCommand::Ptr shadowEnableCmd(bool se)=0
virtual bool hasMetadata(const std::string &key) const =0
Returns true if metadata key has a non-empty value.
virtual void intensity(float li)
virtual float diffuse() const =0
virtual bool shadowEnable() const =0
static std::size_t nbObservers(const SceneItem::Ptr &item)
virtual void specular(float ls)
static bool removeObserver(const SceneItem::Ptr &item, const Observer::Ptr &obs)
static bool hasObservers(Rtid runTimeId)
virtual Color3f color() const =0
virtual Type type() const =0
Light2(const Light2 &)=default
Default copy constructor.
virtual Color3f shadowColor() const =0
Base class for all Light notifications.
LightInterface(const LightInterface &)=default
Default copy constructor.
LightInterface()
Constructor.
virtual ~LightInterface()
Destructor.
std::shared_ptr< LightInterface > Ptr
std::shared_ptr< Observer > Ptr
Identify an object or 3D path in the scene.
std::shared_ptr< SceneItem > Ptr
Abstract class for set value command.
std::shared_ptr< SetValueUndoableCommand > Ptr
std::shared_ptr< UndoableCommand > Ptr
std::string string(const Path &path)
Path path(const std::string &pathString)
SetValueUndoableCommand< bool > SetBoolUndoableCommand
SetValueUndoableCommand< const Color3f & > SetColor3fUndoableCommand
SetValueUndoableCommand< float > SetFloatUndoableCommand
Definition of macros for symbol visibility.