2 #ifndef _YI_SCENE_NODE_H_ 3 #define _YI_SCENE_NODE_H_ 16 #include <glm/mat4x4.hpp> 17 #include <glm/vec3.hpp> 18 #include <glm/gtc/quaternion.hpp> 27 class CYIAdjustmentLayerSceneNode;
40 class CYISceneNodeIteratorPriv;
162 std::unique_ptr<CYISceneNodeIteratorPriv> m_pIteratorPriv;
182 void Reconfigure(
float fFrom,
float fTo, uint32_t nDurMs,
CYITimeInterpolator *pTimeInterpolator,
bool bDirtyLayout);
195 virtual void OnAnimate(
CYIAnimation *pAnim,
float fDataPosition)
override;
200 virtual void OnAnimationEnd(
CYIAnimation *pAnim)
override;
472 int32_t
GetID()
const;
479 void SetID(int32_t nID);
496 bool AddChild(std::unique_ptr<CYISceneNode> pSceneNode);
506 bool AddChild(std::unique_ptr<CYISceneNode>, int32_t nIndex);
534 bool ReorderChild(uint32_t uFromIndex, uint32_t uToIndex);
642 template<
class YI_SCENE_NODE_SUBCLASS>
643 YI_SCENE_NODE_SUBCLASS *
GetChild(uint32_t uTargetMatchedNodeCount = 1)
const;
650 template <
class YI_SCENE_NODE_SUBCLASS> std::list<YI_SCENE_NODE_SUBCLASS*>
GetChildren()
const;
780 template <
class YI_SCENE_NODE_SUBCLASS> YI_SCENE_NODE_SUBCLASS *
GetNode(
const CYIString & name);
809 template<
class YI_SCENE_NODE_SUBCLASS>
828 std::list<CYISceneNode *>
GetNodes(int32_t nID);
850 template<
class YI_SCENE_NODE_SUBCLASS>
851 const YI_SCENE_NODE_SUBCLASS *
GetNode(uint32_t uTargetMatchedNodeCount = 1)
const;
852 template<
class YI_SCENE_NODE_SUBCLASS>
853 YI_SCENE_NODE_SUBCLASS *
GetNode(uint32_t uTargetMatchedNodeCount = 1);
858 void SetMesh(
const std::shared_ptr<CYIMesh> &pMesh);
863 void SetMaterial(
const std::shared_ptr<CYIMaterial> &pMaterial, uint32_t nIndex = 0);
868 void AddEffect(
const std::shared_ptr<CYIEffect> &pEffect);
873 void RemoveEffect(
const std::shared_ptr<CYIEffect> &pEffect);
883 std::shared_ptr<CYIEffect>
GetEffect(uint32_t uIndex)
const;
897 void AddMask(std::unique_ptr<CYIMask> pMask);
922 const std::shared_ptr<CYIMesh> &
GetMesh()
const;
932 const std::shared_ptr<CYIMaterial>
GetMaterial(uint32_t nIndex = 0)
const;
977 void SetRenderTarget(
const std::shared_ptr<CYIRenderTarget> &pRenderTarget);
1060 void SetRotation(
float fPitchDegrees,
float fYawDegrees,
float fRollDegrees);
1080 void SetOrientation(
float fPitchDegrees,
float fYawDegrees,
float fRollDegrees);
1090 void SetScale(
const glm::vec3 &fScaleFactors);
1095 void SetScale(
float fFactorX,
float fFactorY,
float fFactorZ);
1154 virtual void SetSize(
const glm::vec3 &vSize,
bool bDirtyLayout =
true);
1159 const glm::vec3 &
GetSize()
const;
1412 virtual const std::map<CYIString, CYIString> &
GetProperties()
const override;
1458 void SetLayoutState(std::unique_ptr<CYILayoutState> pLayoutState);
1539 template<
typename T>
1565 void Update(
bool bForceDirty =
false);
1867 virtual bool ProcessEvent(
const std::shared_ptr<CYIEventDispatcher> &pDispatcher,
CYIEvent *pEvent)
override;
1889 void DumpTree(int32_t nIndentLevel)
const;
1984 TypeAbstractCamera = 0x0002 | TypeNode,
1985 TypeAdjustmentLayer = 0x0004 | TypeNode,
1986 TypeNPatch = 0x0008 | TypeNode,
1987 TypeSprite = 0x0010 | TypeNode,
1988 TypeImage = 0x0020 | TypeNode,
1989 TypeText = 0x0040 | TypeNode,
1990 TypeView = 0x0080 | TypeNode,
1991 TypeStreamableView = 0x0100 | TypeView,
2001 void DirtyChildrenRecursive(
DirtyFlag eDirtyFlag);
2002 void DirtyParentRecursive(
DirtyFlag eDirtyFlag);
2003 void DirtyLiveChildrenRecursive(
DirtyFlag eDirtyFlag);
2004 void DirtyLiveParentRecursive(
DirtyFlag eDirtyFlag);
2006 void GetNodesFromChildren(
const CYIString & name, std::list<CYISceneNode*> & list);
2008 void GetNodesFromChildren(
const int32_t nID, std::list<CYISceneNode *> &list);
2010 void GetNodesFromChildren(
const CYIRuntimeTypeInfo &enforceClassType, std::list<CYISceneNode*> & list);
2013 void AssignDefaultLayoutConfig()
const;
2024 void GenerateLocalTransform()
const;
2031 void ClearLiveDirtyFlag(
DirtyFlag eFlag)
const;
2032 void SetLiveDirtyFlag(
DirtyFlag eDirtyFlag);
2033 void SetFrameDirtyFlag(
DirtyFlag eDirtyFlag);
2034 bool IsRotatedInWorldSpace()
const;
2036 virtual void UpdateCompositeOpacity(
float *pfCompositeOpacity)
const;
2038 void MakeNextLayoutDirtyFlagCurrent();
2041 bool PushEffectRenderActions(std::vector<IYIRenderer::Command> &drawList,
bool bMask,
const std::shared_ptr<CYIEffect> &pEffect);
2042 void PopStandardRenderActions(std::vector<IYIRenderer::Command> &drawList,
bool bMask);
2044 mutable glm::mat4 m_localTransform;
2045 mutable glm::mat4 m_worldTransform;
2049 mutable glm::vec3 m_WorldSurfaceScale;
2050 mutable glm::vec3 m_WorldScale;
2052 mutable float m_fCompositeOpacity;
2053 mutable bool m_bRotatedInWorldSpace;
2054 mutable bool m_bCompositeVisibility;
2059 bool m_bIsFocusRoot;
2060 bool m_bUseLocalTransformAndAlpha;
2061 std::shared_ptr<CYISceneNodeProxy> m_pSceneNodeProxy;
2063 CYIAdjustmentLayerSceneNode *m_pLastAdjustmentLayer;
2072 mutable std::unique_ptr<CYILayoutConfig> m_pLayoutConfig;
2073 std::unique_ptr<CYILayoutState> m_pLayoutState;
2075 NodeType m_nNodeType;
2083 #include "scenetree/YiSceneNode.inl" 2085 #endif // _YI_SCENE_NODE_H_ void StopCapturePointerEvents(uint8_t uPointerID)
void ShowPointerDebugNode(CYIActionEvent *pActionEvent)
uint32_t GetChildCount() const
bool DrawBehind(CYISceneNode *pSceneNode)
ITERATION_MODE
Definition: YiSceneNode.h:132
void StartCaptureTrackpadEvents()
Definition: YiSceneNode.h:302
void SetPositionZ(float fZ)
uint32_t GetMaterialCount() const
const CYILayoutConfig * GetLayoutConfig(LayoutConfigFetchMode eFetchMode=LAYOUT_CONFIG_LAZY_INSTANTIATE) const
glm::vec3 m_Rotate
Definition: YiSceneNode.h:1958
virtual void OnChildAdded(CYISceneNode *pChild)
CYIString GetUniqueName() const
virtual void CalculateLocalTransform(glm::mat4 *pTransform) const
static void RegisterAllSceneNodes()
glm::vec3 m_AnchorPoint
Definition: YiSceneNode.h:1959
virtual void OnFocusChangedInDescendants()
DirtyFlag GetDirtyFlag() const
Definition: YiSceneNode.h:228
FETCH_TYPE
Definition: YiSceneNode.h:341
CYISceneManager * m_pSceneManager
Definition: YiSceneNode.h:1937
Definition: YiSceneNode.h:61
virtual void Measure(const MeasureSpec &widthSpec, const MeasureSpec &heightSpec, const MeasureSpec &depthSpec)
const glm::mat4 & GetEffectTransform() const
virtual void OnChildVisibilityChanged(CYISceneNode *pChild)
Container for basic interpolator functions.
Definition: YiTimeInterpolator.h:21
const glm::vec3 & GetPosition() const
Definition: YiSceneNode.h:235
void SetMeasuredSize(const glm::vec3 &vMeasuredSize)
virtual void TransformUpdated()
Definition: YiSceneNode.h:356
LayoutConfigFetchMode
Definition: YiSceneNode.h:309
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
void SetPosition(const glm::vec3 &ref)
A container class for common data types.
Definition: YiVariant.h:33
Definition: YiSceneNode.h:129
Iterator begin(Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const
std::shared_ptr< IYIUniformBufferObject > m_pShaderUniforms
Definition: YiSceneNode.h:1978
Definition: YiSceneNode.h:298
Definition: YiSceneNode.h:350
CYISceneNode * GetNodeAfterTarget(const CYIRuntimeTypeInfo &enforceClassType, CYISceneNode *pStartAfterTarget)
void StartCaptureKeyboardEvents()
void Update(bool bForceDirty=false)
bool DrawInFront(CYISceneNode *pSceneNode)
A class containing focus search options.
Definition: YiFocusSearchOptions.h:23
Definition: YiSceneNode.h:56
bool m_bClip
Definition: YiSceneNode.h:1968
CYISceneNode * m_pParent
Definition: YiSceneNode.h:1935
const std::shared_ptr< CYIMaterial > GetMaterial(uint32_t nIndex=0) const
Definition: YiSceneNode.h:134
virtual void SizeChanged()
void SetScaleY(float fFactor)
const CYIAABB & GetWorldAABB() const
void SetRotation(const glm::vec3 &fEulerDegrees)
const std::shared_ptr< CYIMesh > & GetMesh() const
Scene trees composed of CYISceneNode objects are registered with the scene manager in order for them ...
Definition: YiSceneManager.h:73
void UpdateLocalSpaceCollision(CYIActionEvent *pActionEvent)
Iterator end(Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const
std::vector< std::shared_ptr< CYIEffect > > m_Effects
Definition: YiSceneNode.h:1944
uint32_t GetMaskCount() const
Base class for events.
Definition: YiEvent.h:489
ReverseIterator rend(Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const
Definition: YiSceneNode.h:327
Class representing an instance of geometry information.
Definition: YiMesh.h:33
CYISignal< CYISceneNode *, YI_NODE_PROPERTY_TYPE > PropertyAnimationComplete
Definition: YiSceneNode.h:1545
virtual const std::map< CYIString, CYIString > & GetProperties() const override
glm::vec3 m_Position
Definition: YiSceneNode.h:1960
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
glm::vec3 m_Scale
Definition: YiSceneNode.h:1961
bool m_bIsOriented
Definition: YiSceneNode.h:1970
void SetMesh(const std::shared_ptr< CYIMesh > &pMesh)
Iterator & operator=(const Iterator &other)
virtual void OnCompositeOpacityUpdated()
std::vector< std::unique_ptr< CYIMask > > m_Masks
Definition: YiSceneNode.h:1943
uint64_t GetUniqueID() const
const std::shared_ptr< CYIRenderTarget > GetRenderTarget() const
void StopCaptureTrackpadEvents()
void SetAnchorPointY(float fY)
virtual void OnVisibilityUpdated()
void SetRotationY(float fYawDegrees)
bool ReorderChild(uint32_t uFromIndex, uint32_t uToIndex)
std::list< YI_SCENE_NODE_SUBCLASS * > GetChildren() const
std::map< CYIString, CYIString > m_Properties
Definition: YiSceneNode.h:1941
bool FindNode(YI_SCENE_NODE_SUBCLASS *&pNode, const CYIString &nodeName, FETCH_TYPE eType, const CYIString &tag)
bool m_bIsRotated
Definition: YiSceneNode.h:1969
Definition: YiSceneNode.h:214
virtual void BuildDrawList(std::vector< IYIRenderer::Command > &drawList, CYIAbstractCameraSceneNode *pCameraToDrawWith=nullptr)
virtual void ApplyMeasurements()
A representation of a single track of a CYITimeline.
Definition: YiTimelineTrack.h:26
Definition: YiSceneNode.h:50
Provides a base for the definition of camera objects.
Definition: YiAbstractCameraSceneNode.h:30
void ConnectEffectsToTimelines(const CYITimelineTrack *pTrack)
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual void OnUpdateBegin()
std::shared_ptr< CYIEffect > GetEffect(uint32_t uIndex) const
virtual void LocalBoundingBoxUpdated()
CYIMaterial is a place holder for all the drawing parameters required by the renderer to draw a mesh/...
Definition: YiMaterial.h:27
Definition: YiSceneNode.h:306
Definition: YiSceneNode.h:319
friend class CYISceneNode
Definition: YiSceneNode.h:138
Definition: YiSceneNode.h:64
virtual void CompositeOpacityUpdated()
virtual void OnSizeChanged()
void StopCaptureKeyboardEvents()
Definition: YiSceneNode.h:314
Definition: YiSceneNode.h:290
Adds a masking effect to a scene node.
Definition: YiMask.h:18
A class used to proxy access to a CYISceneNode.
Definition: YiSceneNodeProxy.h:19
Definition: YiSceneNode.h:285
void StartCapturePointerEvents(uint8_t uPointerID)
std::unique_ptr< CYIMask > RemoveMask(const CYIMask *pMask)
virtual void ChildVisibilityChanged(CYISceneNode *pChild)
virtual bool BroadcastEvent(const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent)
CYIAABB m_WSClipBox
Definition: YiSceneNode.h:1954
void AddMask(std::unique_ptr< CYIMask > pMask)
CYISceneNode * GetDrawChildByID(int32_t nID) const
virtual void FocusLostInDescendants()
const CYIString & GetName() const
void SetPositionY(float fY)
bool IsBoundingBoxHit(const CYIRay &rWorldSpaceRay) const
CYISceneNode * GetNode(const CYIString &name)
DirtyFlag GetPreviousDirtyFlag() const
virtual bool GetProperty(const CYIString &rPropertyName, CYIString *pValue) const override
ReverseIterator rbegin(Iterator::ITERATION_MODE eMode=Iterator::IMMEDIATE_CHILDREN) const
void SetOrientation(float fPitchDegrees, float fYawDegrees, float fRollDegrees)
MeasureSpec(MeasureMode _eMode, float _fSize)
Definition: YiSceneNode.h:360
Definition: YiSceneNode.h:335
CYISceneNode * value_type
Definition: YiSceneNode.h:140
Definition: YiSceneNode.h:346
float GetLocalOpacity() const
value_type operator*() const
void StopPropertyAnimation(YI_NODE_PROPERTY_TYPE ePropType)
glm::quat m_Orientation
Definition: YiSceneNode.h:1957
CYISceneNode * GetDrawChild(uint32_t uIndex) const
void SetIsFocusRoot(bool bIsFocusRoot)
CYISceneNode * GetParent() const
CYISceneNode * GetChild(uint32_t nIndex) const
Encapsulates the origin and direction points of a ray.
Definition: YiRay.h:33
virtual void OnWorldBoundingBoxUpdated()
void SetScaleX(float fFactor)
Definition: YiSceneNode.h:58
std::shared_ptr< CYIMesh > m_pMesh
Definition: YiSceneNode.h:1977
CYIString m_name
Definition: YiSceneNode.h:1934
virtual void UpdateBegin()
virtual void OnWorldScaleUpdated()
int32_t GetIndexOfChild(const CYISceneNode *pSceneNode) const
glm::vec3 m_vSize
Definition: YiSceneNode.h:1963
void RemoveEffect(const std::shared_ptr< CYIEffect > &pEffect)
Represents an event target of type YI_SPECIAL_EVENT_TARGET_TYPE.
Definition: YiEventTarget.h:37
virtual void OnFocusGainedInDescendants()
const CYILayoutState * GetLayoutState() const
bool m_bLocalVisibility
Definition: YiSceneNode.h:1971
Definition: YiSceneNode.h:54
void StartPropertyAnimation(YI_NODE_PROPERTY_TYPE ePropType, float fFrom, float fTo, uint32_t nDurMs, CYITimeInterpolator *pTimeInterpolator=nullptr, bool bDirtyLayout=true)
Definition: YiSceneNode.h:55
YI_NODE_PROPERTY_TYPE
Definition: YiSceneNode.h:46
int32_t m_nID
Definition: YiSceneNode.h:1973
void SetDirtyFlag(DirtyFlag eDirtyFlag)
CommandType
Definition: YiRenderer.h:42
std::shared_ptr< CYIRenderTarget > m_pRenderTarget
Definition: YiSceneNode.h:1976
uint32_t GetEffectCount() const
glm::mat4 m_EffectTransform
Definition: YiSceneNode.h:1956
Definition: YiSceneNode.h:53
LayoutDirtyFlag
Definition: YiSceneNode.h:293
const glm::mat4 & GetLocalTransform() const
CYISceneManager * GetSceneManager() const
virtual void OnDirtyFlagChanged()
bool Intersects(const CYISceneNode *pNode) const
float m_fLocalOpacity
Definition: YiSceneNode.h:1952
CYISignal DescendantsChangedFocus
Emitted when focus has changed within this tree.
Definition: YiSceneNode.h:1549
Defines a target for the rendering results to be sent to.
Definition: YiRenderTarget.h:49
Definition: YiSceneNode.h:279
const glm::vec3 & GetRotation() const
float fSize
Definition: YiSceneNode.h:370
virtual void DirtyFlagChanged()
MeasureMode eMode
Definition: YiSceneNode.h:369
A scene node is the base type for all nodes which are used by the scene manager; it is an integral pa...
Definition: YiSceneNode.h:114
float GetCompositeOpacity() const
const CYIMask * GetMask(uint32_t uIndex) const
bool IsTrulyVisible() const
const std::shared_ptr< CYISceneNodeProxy > & GetSceneNodeProxy() const
const CYIAABB & GetClippingBox() const
CYIAbstractCameraSceneNode * FindActiveCamera() const
std::bidirectional_iterator_tag iterator_category
Definition: YiSceneNode.h:139
CYISignal DescendantGainedFocus
Emitted when focus has entered this tree.
Definition: YiSceneNode.h:1547
A class used to hold node-specific layout configuration (such as, for example, Margin).
Definition: YiLayoutConfig.h:24
void SetProperty(const CYIString &rPropertyName, const CYIString &rPropertyValue)
LayoutDirtyFlag GetLayoutDirtyFlag() const
Class representing a node property animation.
Definition: YiSceneNode.h:168
virtual void FocusGainedInDescendants()
virtual void SetCustomUniforms()
virtual void OnTransformUpdated()
const glm::quat & GetOrientation() const
virtual CYISceneNode * GetNodeFromChildren(const CYIString &name)
The abstract runtime representation of a C++ type.
Definition: YiRtti.h:48
void SetAnchorPointX(float fX)
virtual void OnUpdateEnd()
Definition: YiSceneNode.h:256
virtual void WorldSurfaceScaleUpdated()
virtual bool ProcessEvent(const std::shared_ptr< CYIEventDispatcher > &pDispatcher, CYIEvent *pEvent) override
const CYIAABB & GetLocalAABB() const
Definition: YiEffect.h:42
Definition: YiSignalHandler.h:174
CYISceneNode * m_pDrawParent
Definition: YiSceneNode.h:1936
glm::vec3 m_vlsLastCollision
Definition: YiSceneNode.h:1966
glm::vec3 m_vMeasuredSize
Definition: YiSceneNode.h:1965
bool InsertChildAfter(CYISceneNode *pRefNode, std::unique_ptr< CYISceneNode > pSceneNode)
bool AddChild(std::unique_ptr< CYISceneNode > pSceneNode)
bool operator==(const Iterator &other) const
A class used to hold node-specific layout state.
Definition: YiLayoutState.h:16
const glm::vec3 & GetWorldSurfaceScale() const
void SetPositionX(float fX)
void SetLayoutState(std::unique_ptr< CYILayoutState > pLayoutState)
bool DrawInFrontOfChildren(CYISceneNode *pSceneNode)
virtual void SetLayoutDirtyFlag(LayoutDirtyFlag eFlag)
std::vector< CYISceneNode * > m_drawChildren
Definition: YiSceneNode.h:1940
std::vector< std::shared_ptr< CYIMaterial > > m_pMaterials
Definition: YiSceneNode.h:1942
void SetAnchorPoint(const glm::vec3 &ref)
virtual void WorldBoundingBoxUpdated()
virtual void OnLocalBoundingBoxUpdated()
void SetUseLocalTransformAndAlpha(bool bUse)
const glm::vec3 & GetInitialSize() const
An interface to a class that provides key-value properties.
Definition: YiPropertiesSource.h:17
Definition: YiSceneNode.h:62
virtual void LayoutDirtied()
static const MeasureSpec defaultSpec
Definition: YiSceneNode.h:367
This class represents an Axis-Aligned Bounding Box.
Definition: YiAABB.h:24
virtual void FocusChangedInDescendants()
CYISceneNode * reference
Definition: YiSceneNode.h:143
void SetRotationX(float fPitchDegrees)
std::shared_ptr< CYISceneNodeProxy > m_pNodeProxy
Definition: YiSceneNode.h:184
void SetInternalCustomTimelineValue(uint32_t nTrackID, const CYIVariant &value)
Definition: YiSceneNode.h:265
const glm::vec3 & GetMeasuredSize() const
virtual void SetSize(const glm::vec3 &vSize, bool bDirtyLayout=true)
Definition: YiSceneNode.h:51
const glm::vec3 & GetSize() const
void SetSceneManager(CYISceneManager *pSceneManager)
glm::vec3 m_vInitialSize
Definition: YiSceneNode.h:1964
void SetVisibility(bool bVisible)
Definition: YiSceneNode.h:331
void SetMeshTransform(const glm::mat4 &rTransform)
Definition: YiSceneNode.h:60
virtual CYIString GetDumpTreeString() const
virtual void ChildAdded(CYISceneNode *pChild)
void SetClippingBox(const CYIAABB &rWorldBox)
const glm::vec3 & GetWorldScale() const
const glm::vec3 & GetAnchorPoint() const
void SetName(const CYIString &name)
Used to create animations programatically.
Definition: YiAnimation.h:32
virtual void SetCustomTimelineValue(uint32_t nTrackID, const CYIVariant &value)
Definition: YiSceneNode.h:249
CYISignal DescendantLostFocus
Emitted when focus has left this tree.
Definition: YiSceneNode.h:1548
void SetLayoutConfig(std::unique_ptr< CYILayoutConfig > pLayoutConfig)
CYISceneNode * GetNodeFromChildrenAfterTarget(const CYIRuntimeTypeInfo &enforceClassType, bool *pbTargetReached, CYISceneNode *pStartAfterTarget)
LayoutDirtyFlag GetCurrentLayoutDirtyFlag() const
void SetScaleZ(float fFactor)
virtual void VisibilityUpdated()
bool IsMeshHit(const CYIRay &rWorldSpaceRay) const
virtual void OnFocusLostInDescendants()
Definition: YiSceneNode.h:272
float m_fFrom
Definition: YiSceneNode.h:187
void SetMaterial(const std::shared_ptr< CYIMaterial > &pMaterial, uint32_t nIndex=0)
Definition: YiSceneNode.h:243
void SetScale(const glm::vec3 &fScaleFactors)
virtual void ChildNeedsLayout()
virtual void OnChildRemoved(CYISceneNode *pChild)
virtual void OnWorldSurfaceScaleUpdated()
Definition: YiSceneNode.h:221
std::vector< std::unique_ptr< CYISceneNode > > m_children
Definition: YiSceneNode.h:1939
std::list< CYISceneNode * > GetNodes(const CYIString &name)
std::unique_ptr< CYISceneNode > RemoveChild(CYISceneNode *pSceneNode)
void SetOpacity(float fOpacity)
Definition: YiSceneNode.h:135
bool operator!=(const Iterator &other) const
bool m_bDirtyLayout
Definition: YiSceneNode.h:189
Definition: YiSceneNode.h:48
Definition: YiSceneNode.h:57
Definition: YiSceneNode.h:59
void SetRenderTarget(const std::shared_ptr< CYIRenderTarget > &pRenderTarget)
MeasureMode
Definition: YiSceneNode.h:322
CYIAnimation * m_pAnimation
Definition: YiSceneNode.h:186
uint64_t m_uGUID
Definition: YiSceneNode.h:1974
Base class used to listen to one or more CYIAnimations as they update over time.
Definition: YiAnimation.h:65
void AddEffect(const std::shared_ptr< CYIEffect > &pEffect)
uint32_t GetDrawChildCount() const
bool ChangeParent(CYISceneNode *pParent)
std::vector< PropertyAnimation * > m_propertyAnimations
Definition: YiSceneNode.h:1945
std::reverse_iterator< Iterator > ReverseIterator
Definition: YiSceneNode.h:121
const std::shared_ptr< IYIUniformBufferObject > & GetShaderUniforms() const
void UpdateEventForLocalSpace(CYIActionEvent *pActionEvent, glm::vec3 &rayOrigin, glm::vec3 &rayNonOriginPoint) const
ptrdiff_t difference_type
Definition: YiSceneNode.h:141
uint32_t GetChildCountRecursive() const
CYISceneNode ** pointer
Definition: YiSceneNode.h:142
MeasureSpec()
Definition: YiSceneNode.h:359
static const float OPACITY_NOT_VISIBLE_EPSILON
Definition: YiSceneNode.h:119
CYISceneNode * GetDrawParent() const
virtual void WorldScaleUpdated()
const glm::mat4 & GetWorldTransform() const
Stores data related to a user Action event.
Definition: YiActionEvent.h:18
void SetAnchorPointZ(float fZ)
virtual void ChildRemoved(CYISceneNode *pChild)
virtual bool ContainsFocusableDescendant(const CYIFocusSearchOptions &options=CYIFocusSearchOptions()) const
bool DrawBehindChildren(CYISceneNode *pSceneNode)
const glm::vec3 & GetScale() const
Definition: YiSceneNode.h:208
Definition: YiSceneNode.h:52
bool IsAncestorOf(const CYISceneNode *pNode) const
YI_NODE_PROPERTY_TYPE m_eType
Definition: YiSceneNode.h:185
void SetRotationZ(float fRollDegrees)
float m_fTo
Definition: YiSceneNode.h:188
DirtyFlag
Definition: YiSceneNode.h:206