Transform.cpp
Go to the documentation of this file.
55 this->child.Get()->expectedSize.Set( float3( std::numeric_limits< float >::infinity(), std::numeric_limits< float >::infinity(), std::numeric_limits< float >::infinity() ) );
60 if( this->child.clear_dirty() || this->attr_propagateSize.clear_dirty() || this->child.Get()->preferredSize.clear_dirty() || this->attr_deformation.clear_dirty() || this->attr_innerAnchor.clear_dirty() )
62 this->cm.log( SRC_INFO, Defs::Log::ElementFirstPass, "Refresh preferred_size, set inner_transform_refresh." );
88 if( this->attr_position.clear_dirty() || this->attr_rotation.clear_dirty() || this->attr_scale.clear_dirty() || this->attr_outerAnchor.clear_dirty() )
97 if( this->child.dirty() || this->inner_transform_refresh || this->outer_transform_refresh || this->modelTransform.dirty() || this->size.dirty() || this->scissor.dirty() )
132 this->inner_transform = glm::translate( float4x4( 1 ), float3() - this->child.Get()->size.Get() * this->attr_innerAnchor.Get() ) * this->attr_deformation.Get();
146 this->outer_transform = glm::translate( float4x4( 1 ), this->size.Get() * this->attr_outerAnchor.Get() )
153 if( refresh || this->child.clear_dirty() || this->modelTransform.clear_dirty() || this->scissor.clear_dirty() )
159 this->child.Get()->elem()->modelTransform.Set( this->modelTransform.Get() * this->outer_transform * this->inner_transform );