Set TransformId after Initialize finished 94/266594/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 16 Nov 2021 04:27:45 +0000 (13:27 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Tue, 16 Nov 2021 05:04:18 +0000 (14:04 +0900)
Setup mTransformManagerData.mId after transform data initialize done.
After this patch, we can assume that
if mTransformManagerData.Id() is INVALID_TRANSFORM_ID, then
mTransformManagerData is not initialized

Change-Id: I282dc1a42765cb6037e4164dd9aecdfe98fb84ba
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/update/nodes/node.cpp
dali/internal/update/nodes/node.h

index ab3e9a2..459473c 100644 (file)
@@ -139,7 +139,7 @@ void Node::CreateTransform(SceneGraph::TransformManager* transformManager)
 {
   //Create a new transform
   mTransformManagerData.mManager = transformManager;
-  mTransformManagerData.mId      = transformManager->CreateTransform();
+  TransformId createdTransformId = transformManager->CreateTransform();
 
   //Initialize all the animatable properties
   mPosition.Initialize(&mTransformManagerData);
@@ -156,7 +156,10 @@ void Node::CreateTransform(SceneGraph::TransformManager* transformManager)
   mWorldMatrix.Initialize(&mTransformManagerData);
 
   //Set whether the position should use the anchor point
-  transformManager->SetPositionUsesAnchorPoint(mTransformManagerData.Id(), mPositionUsesAnchorPoint);
+  transformManager->SetPositionUsesAnchorPoint(createdTransformId, mPositionUsesAnchorPoint);
+
+  //Set TransformId after initialize done.
+  mTransformManagerData.mId = createdTransformId;
 }
 
 void Node::SetRoot(bool isRoot)
index 4714a36..c34b684 100644 (file)
@@ -360,7 +360,7 @@ public:
    */
   const Vector3& GetParentOrigin() const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mParentOrigin.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mParentOrigin.Get(0);
     }
@@ -383,7 +383,7 @@ public:
    */
   const Vector3& GetAnchorPoint() const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mAnchorPoint.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mAnchorPoint.Get(0);
     }
@@ -407,7 +407,7 @@ public:
    */
   const Vector3& GetPosition(BufferIndex bufferIndex) const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mPosition.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mPosition.Get(bufferIndex);
     }
@@ -421,7 +421,11 @@ public:
    */
   const Vector3& GetWorldPosition(BufferIndex bufferIndex) const
   {
-    return mWorldPosition.Get(bufferIndex);
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+    {
+      return mWorldPosition.Get(bufferIndex);
+    }
+    return Vector3::ZERO;
   }
 
   /**
@@ -443,7 +447,7 @@ public:
    */
   const Quaternion& GetOrientation(BufferIndex bufferIndex) const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mOrientation.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mOrientation.Get(0);
     }
@@ -458,7 +462,11 @@ public:
    */
   const Quaternion& GetWorldOrientation(BufferIndex bufferIndex) const
   {
-    return mWorldOrientation.Get(0);
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+    {
+      return mWorldOrientation.Get(0);
+    }
+    return Quaternion::IDENTITY;
   }
 
   /**
@@ -480,7 +488,7 @@ public:
    */
   const Vector3& GetScale(BufferIndex bufferIndex) const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mScale.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mScale.Get(0);
     }
@@ -495,7 +503,11 @@ public:
    */
   const Vector3& GetWorldScale(BufferIndex bufferIndex) const
   {
-    return mWorldScale.Get(0);
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+    {
+      return mWorldScale.Get(0);
+    }
+    return Vector3::ONE;
   }
 
   /**
@@ -630,7 +642,7 @@ public:
    */
   const Vector3& GetSize(BufferIndex bufferIndex) const
   {
-    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mSize.mTxManagerData)
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
     {
       return mSize.Get(0);
     }
@@ -696,7 +708,12 @@ public:
    */
   const Matrix& GetWorldMatrix(BufferIndex bufferIndex) const
   {
-    return mWorldMatrix.Get(bufferIndex);
+    if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+    {
+      return mWorldMatrix.Get(bufferIndex);
+    }
+
+    return Matrix::IDENTITY;
   }
 
   /**