{
//Create a new transform
mTransformManagerData.mManager = transformManager;
- mTransformManagerData.mId = transformManager->CreateTransform();
+ TransformId createdTransformId = transformManager->CreateTransform();
//Initialize all the animatable properties
mPosition.Initialize(&mTransformManagerData);
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)
*/
const Vector3& GetParentOrigin() const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mParentOrigin.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mParentOrigin.Get(0);
}
*/
const Vector3& GetAnchorPoint() const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mAnchorPoint.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mAnchorPoint.Get(0);
}
*/
const Vector3& GetPosition(BufferIndex bufferIndex) const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mPosition.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mPosition.Get(bufferIndex);
}
*/
const Vector3& GetWorldPosition(BufferIndex bufferIndex) const
{
- return mWorldPosition.Get(bufferIndex);
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+ {
+ return mWorldPosition.Get(bufferIndex);
+ }
+ return Vector3::ZERO;
}
/**
*/
const Quaternion& GetOrientation(BufferIndex bufferIndex) const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mOrientation.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mOrientation.Get(0);
}
*/
const Quaternion& GetWorldOrientation(BufferIndex bufferIndex) const
{
- return mWorldOrientation.Get(0);
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+ {
+ return mWorldOrientation.Get(0);
+ }
+ return Quaternion::IDENTITY;
}
/**
*/
const Vector3& GetScale(BufferIndex bufferIndex) const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mScale.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mScale.Get(0);
}
*/
const Vector3& GetWorldScale(BufferIndex bufferIndex) const
{
- return mWorldScale.Get(0);
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+ {
+ return mWorldScale.Get(0);
+ }
+ return Vector3::ONE;
}
/**
*/
const Vector3& GetSize(BufferIndex bufferIndex) const
{
- if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID && mSize.mTxManagerData)
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
{
return mSize.Get(0);
}
*/
const Matrix& GetWorldMatrix(BufferIndex bufferIndex) const
{
- return mWorldMatrix.Get(bufferIndex);
+ if(mTransformManagerData.Id() != INVALID_TRANSFORM_ID)
+ {
+ return mWorldMatrix.Get(bufferIndex);
+ }
+
+ return Matrix::IDENTITY;
}
/**