summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lldrawable.cpp')
-rw-r--r--indra/newview/lldrawable.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index d2cedc7035..55fb135898 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -551,8 +551,6 @@ F32 LLDrawable::updateXform(BOOL undamped)
LLVector3 vec = mCurrentScale-target_scale;
-
-
if (vec*vec > MIN_INTERPOLATE_DISTANCE_SQUARED)
{ //scale change requires immediate rebuild
mCurrentScale = target_scale;
@@ -560,18 +558,14 @@ F32 LLDrawable::updateXform(BOOL undamped)
}
else if (!isRoot() &&
(!mVObjp->getAngularVelocity().isExactlyZero() ||
- target_pos != mXform.getPosition() ||
- target_rot != mXform.getRotation()))
+ dist_squared > 0.f))
{ //child prim moving relative to parent, tag as needing to be rendered atomically and rebuild
+ dist_squared = 1.f; //keep this object on the move list
if (!isState(LLDrawable::ANIMATED_CHILD))
- {
+ {
setState(LLDrawable::ANIMATED_CHILD);
gPipeline.markRebuild(this, LLDrawable::REBUILD_ALL, TRUE);
- LLSpatialGroup* group = getSpatialGroup();
- if (group)
- {
- gPipeline.markRebuild(group, TRUE);
- }
+ mVObjp->dirtySpatialGroup();
}
}
else if (!getVOVolume() && !isAvatar())